Difficulties of Onboarding a New Engineer to a Codebase
It is a known fact that onboarding a new engineer to a code base may be challenging, expensive, and time-consuming. It is also the reason most companies do not want to hire juniors.
Of course, the length of the onboarding process is different for every company/team. But there are also a few factors that affect it as well. For example, the new hire needs, the complexity of their new role, as well as the resources available to them. Also, some companies/teams may have more structured onboarding processes that help speed up the procedure, compared to others.
The purpose of onboarding is to help new hires succeed and be a more productive team member; yet, there still are many drawbacks and difficulties that companies/teams go through in this process.
Why is onboarding a difficult and expensive process, especially for juniors
Time is money, and unfortunately, also one of the biggest hurdles with onboarding.
Onboarding a new engineer can take a long time, usually weeks, or even months. Usually, the rule of thumb is that a new hire will not be a net positive in the team for at least 3 months, sometimes even 6. It takes even more time to become an expert in the role; to be in a position of helping and leading other team members might take years. It takes even more for a junior, which is why hiring a junior is such a huge investment for most companies.
This is inefficient because other engineers in the team use their time and resources to train and mentor the new hire (possibly junior), which is time-consuming and expensive. Expensive mostly because the junior is paid while learning, which means they are prone to making mistakes. Mistakes that will need to be rectified by individuals who are already familiar with the code base, adding to the total cost.
Here are some other reasons the onboarding process takes a lot of time:
- Training: There’s a chance that the new hire has to learn the tech stack the company uses. Learning new technology at new jobs is very common, as companies use a wide variety of tech.
- Joining a new team: New hires need time to adapt to the company’s culture, as well as their colleagues. They need to get used to how the team works in order to be an efficient team member.
- Expertise level: The role that the new hire is filling might be one of high level of expertise, so it may take longer to get up to speed and become fully productive.
- Social pressure: New team members rarely feel comfortable asking the right questions if there isn’t a process in place.
Regardless, onboarding is an inevitable process that is important and helpful for new hires in order to succeed at their new roles, which is why companies/teams desperately need to take other (easier) measures for onboarding. Onboarding is an expensive investment, so not hiring new talent might seem like the better option. But, at the same time, you may be disregarding new and fresh ideas that may be an improvement to the fast-moving tech industry.
But, how often are you hiring juniors? Usually, not very often.
It is more often the case that you will have to onboard someone from another team to take over responsibilities. This may happen for a variety of reasons, such as parental leave, vacation, medical, family emergencies, etc. Onboarding a person from another team might be as difficult as onboarding someone new, as there might not be any correlation between the previous role and the new role. The difficulties of onboarding existing engineers from other team members into another team is discussed here.