This article was originally published by Michiel Mulderson .cult by Honeypot, a Berlin-based community platform for developers. For the latest updates, follow .cult by Honeypot on Twitter, Facebook, Instagram, Linkedin, and YouTube.
Wow-a! It’s always fun when a new developer joins your team. But wait, you are tasked with onboarding this developer. How do you get started? What’s the most important information you should share to get the new colleague on board? What’s the most efficient process to introduce this developer to the code?
Onboarding a developer is not an easy task. Still, too many development teams take this lightly while it’s a crucial step to make the developer feel comfortable and enjoy their role. How would you feel if nobody helped you and you don’t have a clue what you are doing?
So, to avoid this awkward situation, let’s take a look at the steps needed to provide a smooth onboarding process. This blog post serves as a checklist that you can tweak to your team’s processes, tools, and codebase.
Smoothen the job setup: The basics
The first thing you should do is make sure that all basic things are covered. That includes providing a laptop configured by your IT department, setting up all necessary accounts, and providing access to the tools the developer will need to carry out their tasks.
Obviously, make sure the developer can access team communication to ask questions in case something doesn’t work or they get stuck. This allows the developer to briefly introduce themselves to the rest of the team or company.
Once that is cleared, you can get started with the team onboarding.
Team onboarding: Building connections
Although the developer might have introduced themselves via the team chat, it’s still important to organize one-on-one meetings to meet developers individually. I prefer personal connections, getting to know each person behind their profile pictures on Slack or Discord. The one-on-one meetings’ goal is to have an informal chat about hobbies, interests, and a bit about the company or role itself. It’s a great way to build relationships, which are especially important in remote companies. Such a meeting can be short; a 10-minute or a 15-minute conversation is long enough.
Moreover, make sure to set up introductory meetings with the HR team as well to explain HR processes such as sick leave, holiday requests, or business expenses. If the developer works across multiple departments, it’s beneficial to introduce them to the different department leads.
Development processes: Meetings, tools, and workflows
It’s evident that you want to provide the developer with a high-level overview of the following development-related processes:
- Meeting types
- Development tools
- Development processes
- Code review process
These processes give the developer a better idea of how the team functions and organizes itself. Don’t expect the developer to remember everything you’ve explained to them. It’s best to refer to internal documentation that explains each process. If you don’t have these processes documented, make sure to provide a summary of the development processes as a reference.
Let’s get coding!
To provide a smooth onboarding, provide the developer with simple coding tasks that expose them to different areas of the codebase. It’s essential to slowly build up knowledge about different areas of the codebase. Preferably, give the developer tasks that have a real impact and are part of the development sprint. This approach gives them a stake in the team’s daily operations. Don’t forget to regularly check in with the developer and provide them with fast feedback.
The overall goal is to learn more about:
- Overall architecture
- Coding standards
- Testing strategy
Define an onboarding roadmap
While the developer is gradually learning about the codebase, you should offer them some structure via an onboarding roadmap. This roadmap should span at least 3 to 4 weeks, preferably even more.
The goal of an onboarding roadmap is to have different checkpoints to keep track of the developer’s progress and to identify the waterholes. It also helps the onboarding mentor to adjust the tasks based on the developer’s progress.
Note that each onboarding roadmap is individual. For instance, you’re mentoring a developer that wants to join the P2P team. Therefore, you need to design an onboarding roadmap that focuses more on this area of the code base and P2P-specific knowledge. For example, prepare a list of resources the developer should read to better understand the team they’re about to join.
In the end, the onboarding roadmap produces a developer who doesn’t require further active assistance from an onboarding mentor to function in their designated development team. For that reason, make sure to clarify the outcome first when designing the onboarding roadmap and communicating this goal with the developer you’re mentoring.
Tip: Schedule pair programming sessions
Pair programming sessions are worth gold!
It’s a great way to boost the developer’s knowledge by pairing them with an experienced developer from their team. On top of that, pair programming reduces the barrier to ask questions and allows them to build a trust relationship. Besides coding, pair programming also helps onboarding developers faster to processes, tools, and development workflows.
What works best?
The earlier someone can contribute to the codebase, the better. The best way to learn more about the code is by actively contributing to it. Here, it’s important to gradually increase the difficulty of the tasks. It’s best to provide easy tasks initially so you don’t discourage or overwhelm the developer in the beginning.
In general, you want to avoid stressing your new colleague. New developers may take more time on simple tasks you’ve assigned them. Be supportive and provide them with feedback to accelerate their growth process. It won’t help if you break them down or pressure them. You want to create a friendly and supportive environment in which they can grow.
Don’t make the mistake of not creating an onboarding roadmap. I’ve seen companies who set up all the basics and then leave the developer to browse code and documentation without any clear goal. Reading code can work for some developers, but it’s definitely not the most optimal approach to learn about the codebase. Active learning is still one of the best methods to quickly build up knowledge.
In the end, it’s in your and the company’s best interest to onboard the developer as quickly as possible. You will see the effects of a lacking onboarding for months in terms of productivity and support needed. A good onboarding should teach the developer all relevant processes, tools, and workflows to start contributing value to the company and development team as early as possible.