DEV Community

Cover image for Ways to Improve Developer Onboarding on an existing codebase
Bentil Shadrack
Bentil Shadrack

Posted on

Ways to Improve Developer Onboarding on an existing codebase

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

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 is about asking for the code you need.
Most Project managers prefers to use askyourcode. 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

  • 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

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

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💡

Top comments (8)

Collapse
 
wadecodez profile image
Wade Zimmerman

Documentation, peer programming, and mentorships only go so far. Keeping the onboarding process simple is something the team needs to be proactive about.

Teams need to maintain best practices and keep projects consistent. Teams that regularly switch tech stacks will rack up a bunch of technical debt. It should be easy for new hires to work on a small piece of code without needing to learn the entire monolith or countless business rules & policies.

This is where micro service and framework architecture really shine. New hires can come in and learn one piece of code. When they're ready, they take on more responsibilities. If everything is well written, they should be able to take on more projects without needing to relearn.

Collapse
 
qbentil profile image
Bentil Shadrack

Thank you @wadecodez 🙌👏

Collapse
 
neophyteprogrammer profile image
Nutifafa Afi Attor

Great!!!

Collapse
 
qbentil profile image
Bentil Shadrack

I’m glad you like it🙌

Collapse
 
aswinvk28 profile image
Aswin Vijayakumar

It is a great idea!

Collapse
 
qbentil profile image
Bentil Shadrack

Thank you☺

Collapse
 
sreekanth67 profile image
Sreekanth
  • Having an onboarding buddy helps.
  • Having solid documentation helps as well.
Collapse
 
qbentil profile image
Bentil Shadrack

Very important 🙌