Ways to Improve Developer Onboarding on an existing codebase
Tags: devjournal, productivity, documatic
Published: 2022-11-04 13:39:49

Hiring a developer in the middle of a project might be challenging. That is the last thing a project manager would want to do. However, there are times when this is the only way to keep moving forward with the project. If the initial few actions you take with your new developer go well, you can increase retention and save the project.

Some of the challenge developers are likely to face when joining an ongoing project includes, Finding out where and how to begin, understanding the codebase, naming conventions, just to mention a few.

In this article, I will be highlighting some key things to you can do to alleviate those concerns to give new developers a head start in your team.

## Quick Ideas

- **Reduce Learning Curve with Open and Concise Information:**

![document](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/1ncal9uhaq98i3yv64y9.gif)


Project maintainers can help reduce learning paths by adding tutorials and clear guides in a **"Get Started"** documentation.
This documentation should include details about the project's background, goals, and accomplishments, as well as any material that needs to be filled in any gaps. Make sure it's easy to find and understand these instructions.

**NB:** GitHub README file of the project is not merely a "Get Started" documentation. Yes, the former do have explanation of the project structure, but It does not cover the entire scope of how to contribute to the project such as Videos, user guides, FAQs, Setting up the project, past contributions that might have caused issues and many more.

- **Practice the use of Code Search:**
One of the issues with the onboarding is that the new developer doesn't know where the code-specific feature is implemented. One way to help them find a specific functionality quickly.
That is why you need Code Search!

**What is Code Search?**
It is about helping developers to find what they need from the codebase easily and directly.
It goes beyond just fuzzy searching code online which requires a lot of time to find out what you want. Code search tool such as [askyourcode](https://askyourcode.com) is about asking for the code you need.
Most Project managers prefers to use [askyourcode](https://askyourcode.com). It allows developers to query a public codebase or private codebase of their own or they have been added to.
You can check it out if you are looking for a code search tool for your team.
![gif](https://user-images.githubusercontent.com/3425038/193901565-b9d2feec-dbf9-4b29-9ea9-3b869a158a86.gif)

- **Practice pair programming:** 

The last idea I will share with you in this article is to practice pair programming. New developers can be paired with an experienced developer on an existing codebase.
With this pair, the experienced developers can help them adjust to the new workplace, show them best coding practices used in the team, and generally improve the onboarding process.

- **Mentorship**

![Mentor](https://dev-to-uploads.s3.amazonaws.com/uploads/articles/v3bo3i0vfcuqh3y6zea1.gif)

Mentorship is less talked about in developer onboarding. When it is carefully planned and carried out, just like all other steps in the onboarding process, the new developers are able to adopt quickly to the new workspace.
There should be someone assigned who the new developer can contact as a mentor. In most instances, Senior developers who has experience on the existing codebase are being given this role. This must not always be the case, junior developers can also be given this responsibility as a great wat of putting what they have learnt to use.

## Conclusion
To sum up, onboarding new developers is a complex process and becomes even worse when it is to be done in the middle of a project.
The process can be less difficult With the tips shared in this article. 

**Happy Hacking!**
![hacking](https://sociolabs.in/wp-content/uploads/2019/11/roundtables.gif)

What is your approach to help with the onboarding process of new developers?
You can share in the comment section to help other project managers.
Please follow, like and share this article for more tips💡