👋 Onboarding software developers
Finally, it’s the start day! There’s no doubt that you’re eager to get your new joiner set up to hit the ground running.
Here are some steps to an epic onboarding process.
Why is onboarding important for tech teams?
Don’t lose sight of retaining your hard-won team members in the long-term. Most developers will easily be able to move on to a new opportunity if they are met with a lacklustre onboarding experience. How well you onboard developers can have a massive impact on their happiness and how long they stick around.
Software developers are technical people, and are often happiest when they can contribute meaningfully by writing and developing code that moves your team towards its goals. Giving them the tools, information and support they need to get there is essential.
When onboarding software developers, it’s useful to remind them of the Kubler-Ross Change Curve. This boils down to the following:
Since they are going through a change by starting a new role, their emotional state and performance will go through a cycle – that’s normal! You're there to support them in the process.
The Kubler-Ross Change Curve
Key focus area for onboarding
The faster developers are able to make meaningful contributions to the codebase, the more likely they are to be engaged and feel included in the team.
That said, you don’t want to overwhelm your new joiner from the get-go.
There are a couple of key areas you can focus on during the early stages of onboarding to ensure they feel supported to start making a net-positive contribution to the team.
Team connection and inclusion
Create a welcome pack: This can include everything your new joiner needs to feel at home. Include personal touches like social clubs or channels they can join to get to know their co-workers better, plus hints and tips you would have found useful when you were a new starter.
Be intentional about connection: If you're working in a remote or hybrid work environment, it can be easy to lose sight of who is checking in on a new joiner besides yourself. Be intentional about it by nominating an onboarding buddy who can help get them set up, answer questions and be their ‘go-to’ friendly face in the office, whether in-person or remotely.
Celebrate different perspectives: Remember that the person you’re hiring is bringing a unique perspective and experience to the team. Acknowledging their voice and trusting the skills they bring to the team, will help them feel included.
Give context: Take the time to explain how your team impacts the business, where they fit into this ecosystem, and how they will immediately be contributing to your goals. Give them an idea of how they could progress in their role in the long-term within the team, to provide a clear idea of what they’re working towards.
Explain how the team works on a day-to-day basis. For example, what the development workflow looks like, whether you have daily stand-ups and how giving and receiving feedback works.
Provide onboarding checklists: This can feature the tasks they can complete to have a productive, gratifying day. Include tasks that will expose them to the codebase and help them to build confidence working with your source code, as well as social tasks such as meeting people outside your team.
Ask for feedback: Remember to ask any new joiner for areas where you can improve as a team or business. It’s natural to build up blindspots over the years, and giving new joiners the space to highlight this can help avoid this.
Outlining responsibility for technical contribution
Provide structure: Setting expectations for a new joiner’s first days, weeks and months will provide clarity for your new joiner and help grow their confidence as they start to write and deploy code.
The simplest way to do this is with an onboarding roadmap, that sets goals and objectives for their first weeks and months.
Identify each project they’ll contribute to, who they’ll work with and what they’ll be aiming to achieve in their first few months. Then explain what success will look like for them.
It’s up to the team lead to give guidance on the tasks that will develop their familiarity with all your processes, and be able to apply them. Give your new joiner space around the task for exploration so that they can internalise the broader system.
Andy Grove’s framework for task-relevant maturity is a useful model to identify those tasks where your new joiner has low task-relevant maturity — where they currently lack experience for a particular skill. Once you’ve identified these areas, work out a timeline for improvement.
Settling into the new role
Scheduling weekly check-ins for a new joiner’s first three months will enable you to track their progress and provide the support that they need to be successful. Be cognisant of their time and working style, though. Too frequent check-ins can start to feel like being micromanaged, which is one of developers’ top three red flags of bad management. Make it clear that you’re still figuring out a good cadence for check-ins and encourage their feedback.
To ensure that your new joiner is getting the support they need, remind your team to clearly indicate their availability in their calendars. That way, they will have a clear idea of who they can reach out to for help or a chat, and when.
Share milestones: To create a greater sense of belonging, celebrate important milestones as the new joiner reaches them. For example, when they’ve been part of the team for one, two or three months, or when they make their first meaningful contribution to the codebase.
You can also emphasise connection and culture with agendaless meetings. Having a less formal way to connect is a great way to help new joiners – and long-standing team members – connect with one another outside of work-related things.
Track how onboarding is going
There are some key questions you can ask yourself, your new joiner and their onboarding buddy to gauge how your newest hire is integrating into their role and the team – and identify areas for improvement.
- Has the new joiner been able to contribute to the codebase?
- Have they been able to ship changes in addition to the initial onboarding tasks?
- Have they been able to pair with other teammates to ship features?
- Have they been able to ship code individually?
- Has the new joiner been taking part in squad ceremonies?
- Have they been able to contribute their thoughts and opinions?
- Are their thoughts acknowledged and are they getting feedback on why they were/were not continued with?
- Are they comfortable with the squad’s cadences?
Social / Cultural
- Has the new joiner been spending time with the various members of the team?
- Are they gelling with the team?
- Have they been able to attend team events?
- Are they able to receive and process feedback while seeing the benefits of it? (or do they get defensive?)
- Is the team equipped to give good feedback?
- Are they able to articulate and share their feelings about their new role?
- Are they feeling positive about the team?
- Are they positive about the direction they’re heading?
- Are they excited for the future?
- Does the new joiner and the team know something about each other outside of the work context?
- Team events: Has the team taken some time to have a laugh with the new joiner?
- Have they been able to celebrate successes?
- Have they used their skills they are proud of to contribute meaningfully, seen an impact and made it public (e.g. demo’d a solution)?
- Are they making net-positive contributions to the work yet?
Lastly, offering good mentorship is a crucial aspect to maintaining developers long after they’ve completed the onboarding process. Read more on the steps to set up a sustainable mentoring programme here.