Introduction
One of the challenging phases of any startup/tech company comes when they start scaling. During this period, they have to increase the size of the team for more creativity and efficiency. For instance, increasing your team from 7 developers to more number of developers.
Onboarding new developers can become a challenging job to do sometimes. Mostly it is related to introducing and making them familiar with the codebases.
So, today we are going to learn about:
- Traditional way of introducing codebases to newcomers
- Using codesearch to introduce newcomers to the codebase
Let's get started
Traditional Way
Let's look into some of the used techniques and programs that are being used while onboarding new developers
Mentor: Having a mentor that helps newcomers to get started on the project. They can introduce newcomers to the project's tech stack, structure, and important features of the code.
Documentation: One of the most used techniques is giving newcomer documentation. This documentation contains most of the necessary aspects of the project/tool.
Training Videos: Having a video-structured course to help newcomers. You can divide different topics into videos and provide them to them.
Drawbacks
Everything looks fine unless you came to the implementation stage. It is hard to set up a Mentor for guidance, a Technical writer for documentation, and a Trainer for recording videos.
This can also take a good percentage of the funding.
One way to reduce the difficulties and let new developer explore the project in their own way is by having a codesearch engine for your codebase
What is CodeSearch?
A CodeSearch tool will retrieve code blocks from a large codebase as per the user's query. This query will be in natural spoken language.
This will let the new developers explore the project as they want. They can ask questions just like a mentor. It will provide them with relevant code from the codebase.
This requires less time and money to implement as you just add your codebase to the CodeSearch tool. There are such tool that is providing an effective way of implementing CodeSearch. Let's look into them.
Documatic
A search engine for your codebase; Ask Documatic a question and find relevant code and insights in seconds
Documatic is a search engine for your codebase. It will provide you with the relevant code blocks from the codebase in a few seconds. You don't have to ask like a pro, search your question just like you might ask your mentor regarding the code. It works like Google.
For instance, The project is using Novu for notification management and you don't have any idea about notification architecture. You just need to query with "How a notification is implemented?" and Documatic will give all code related to the notification. Code blocks will be arranged in order of relevancy. The code block need not have a notification
word in it but still, it will give you the relevant code.
Using this will increase the onboarding process and new developers can also explore the project more effectively with their methods of learning.
If you have already implemented some form of onboarding using a mentor, documentation, or video course then you can add documatic for better, faster, and effective onboarding with the traditional ways.
Sourcegraph
Sourcegraph is a web-based code search and navigation tool for dev teams. Search, navigate, and review code. Find answers.
Sourcegraph is another amazing code search engine for your codebase. Query through the selected files and code for getting the result. They use grep for searching, which is a command-line utility for searching plain-text data sets for lines that has a regular query.
Sourcegraph currently only works with companies having 100+ developers. Also, it's a little bit more complex to set up your project on source graph.
Connect with Me
Conclusion
Onboarding is tricky but an essential step while scaling any project. CodeSearch will ease the new developers in getting familiar with the project. Combining traditional ways and codesearch will be more effective.
You can try Documatic or Sourcegraph for implementing code search in your codebase. Or try for free on a number of open source projects at askyourcode.com
I hope, this article has helped you know the importance of using a codesearch while onboarding new developers. Thanks for reading the blog post.