How to avoid getting lost in a new codebase
The majority of events I go to are geared towards People and HR leaders as those are most relevant to what we do at Personably. However, as I’m learning to code with the help of CodeFirst:Girls, I decided I wanted to branch out more. And so In January, (yes, a while ago - we’ve been really busy at Personably!) I went to the #Womeng event at Twitter headquarters!
The theme of the evening was health at work. I didn’t expect to hear a word about employee onboarding for the evening… and yet the second talk with Iulia Baltoi was just that. The link between general well-being at work and good employee onboarding makes sense. It’s one that has been demonstrated in research and is part of what we’re trying to build at Personably.
We all know how the first few weeks at a job can be a stressful time for new hires, and if the onboarding is done poorly it can lead to people feeling overwhelmed at work. There are, of course, steps that can be taken by both the employee and the employer to prevent it from ever getting to that point for the new hires. Below, I’ve summarised a few key points from Iulia’s talk: “How to dive into 5M lines of code and keep your sanity” and have added my own for the hiring manager to consider when onboarding a new team member.
Give it time and patience 🐣
For the new hire: be generous with yourself
You may be coming to your role with plenty, or little experience behind you, but either way you’ll have to teach yourself new things or re-learn material from before. It can feel overwhelming, but give yourself time and patience! You may only know 10% of the codebase after 5 months, but that’s ok! Iulia points out it is up to the new hire to find how best to prioritise their time between learning and doing.
For the hiring manager: create small steps
There is a lot of discussion around how long an onboarding period should be - can a curriculum of one week suffice, or is 6 months a better standard? Spreading the onboarding over a longer period will avoid bombarding the new hire with too much information at once and will make sure that they have the space to practice what they’ve learnt.
Take notes 📝
For the new hire: take notes and ‘become a detective’
It’s easy to think that by just reading or seeing something the knowledge will simply be absorbed into your brain and stay in your memory forever - if only!! Taking notes helps you process the information. Iulia suggests using Quiver as a note-taking tool to write everything down because it supports text, code and markdown.You should also learn how to find things within the code before you commit yourself to writing it from scratch! Chances are, with 5 million lines of existing code, if you want to add a function or element for example, you might be able to find the same pattern elsewhere.
For the hiring manager: Provide documentation and direction
Provide an introduction to the codebase but don’t expect to be able to cover everything in one session. Set a time weekly for your new hire to be able to approach you with their questions. Having a single place to store your intro-docs and keeping notes up-to-date will allow the new hire to navigate through the information more easily. For engineering that includes things such as the architecture documents, code style guidelines and design docs.
Get to know your environment 🗺
For the new hire: Be mindful when writing code and if you don’t know: ASK!
If your onboarding doesn’t already include an introduction to other teams, make sure you reach out to others. It’ll help when you want to collaborate on future projects and with being aware of your work’s impact on those around you.Iulia has two tips on this: the ‘thirty minute golden rule’ and the ‘Scout rule’. If you’ve been looking at something for thirty minutes and still are not sure how to solve the problem: ASK! and always ‘leave the code base cleaner than how you found it’. You’ll appreciate it if you have to work on it at a later date, as will your colleagues!
For the hiring manager: create channels for learning and feedback
Introduce your new hire properly to their own and other teams in their first few weeks. The new hire will be able to make social connections with the wider team and see other projects, gaining a greater understanding of the wider product and their impact on it. Having a buddy or mentor system built into your onboarding can also provide another channel of support for your new hire in their onboarding process. Arrange a time weekly or fortnightly when you can sit down 1:1 to ask about their onboarding and for feedback to flow in both directions.
Conclusion ✅
All managers want the best for their new hires and that includes a great welcome and strong onboarding curriculum. However, in fast-paced companies employee onboarding can often fall to the wayside, resulting in it taking longer for the new hire to become productive. And this can have a knock-on effect on the new hire’s stress levels and job satisfaction. If you’re hiring ambitious individuals, your onboarding has to reflect that too.