Skip to main content

Command Palette

Search for a command to run...

How I single-handedly reduced developer onboarding from 40 hours to 2 hours

Updated
4 min read
How I single-handedly reduced developer onboarding from 40 hours to 2 hours
K

aspiring techpreneur • designer & solutions architect • dev lead @ classify

Introduction

In today's fast-paced and competitive tech industry, time is of the essence, and every minute counts. This is especially true when it comes to developer onboarding, where the time it takes to get new hires up to speed can have a significant impact on project timelines and deadlines. Team leads are faced with tough choices - make the deadline or spend time on documentation. The choices determine the ability of the team to scale up. Team leads will most often sacrifice documentation to meet project deadlines. This results in higher onboarding times of new developers down the line which delays projects to which the developer may be assigned. Documentation is an investment that pays itself back many times over.

After struggling with a lengthy and frustrating onboarding process that took up to 40 hours across 4 days, I decided to take matters into my own hands and find ways to streamline the process. In this article, I will share the strategies that helped reduce this time to just under 2 hours.

The Problem

For a bit of background, I joined the team as a new developer and decided to take the time to document this process as I went through it. The team was geographically spread across various time zones as well. This amplified the impact of the problem as well.

The existing documentation/wikis:

  1. Were not comprehensive

  2. Were not up to date

  3. Did not serve as a knowledge base

Problem Impact

  1. Lower developer productivity

  2. Increased development costs

  3. Detrimental to team morale and motivation

  4. Delayed project and product timelines

Solution Approach

Some of the important considerations while designing the new onboarding process were:

  1. The documentation should be experience and skill-agnostic

  2. Minimize the need for communication with other developers during the onboarding process

The Solution

  1. Having complete, in-depth, and up-to-date documentation that caters to developers with any experience level. The documentation should at a minimum include:

    • Environment setup guide

    • A brief overview of the codebase and repositories

    • Additional information such as commit formats, standards

    • A document owner early on in the process

  2. Update documents frequently

    • Review and update just after each release

    • Review and update after migrations or upgrades (a lot of issues tend to pop up post and during these processes so it is essential to do this)

    • Ensure all developers are contributing ideas and information to the document

  3. Build and maintain a well-structured knowledge base. This is should ideally include

    • Solutions to frequent issues faced by team members

    • Traps, pitfalls, and quirks of the tools and frameworks being used

    • Any other relevant details and resources

It is also very effective to have a blog-like log section for developers to quickly note down any issues they may encounter or notice as well as solutions to those. These tidbits of information can be collated and refined to further expand the knowledge base.

I would suggest adding walkthrough videos to complement relevant text guides to further improve productivity.

One of the most important things to keep in mind is to keep the documentation up to date with solutions to issues and new documentation as and when needed.

It is a common occurrence where the documentation is left untouched after the initial version or a few updates and eventually becomes outdated.

TLDR;

  • Create comprehensive and up-to-date documentation for the onboarding process that includes an environment setup guide, codebase and repository overview, solutions to frequently faced issues, and additional information such as commit formats and standards

  • Review and update documentation regularly

  • Establish a document owner and ensure all developers contribute to the document.

  • Build and maintain a well-structured knowledge base that includes solutions to frequent issues faced by team members, traps, pitfalls, and quirks of the tools and frameworks being used

Bonus → Tools

I used these tools in building the documentation and still use them regularly.

  1. Video Recording → Loom

    Loom is a simple and powerful tool to record videos. I used it to record the video guides for the onboarding process. I also regularly use it to demonstrate features and share ideas or concepts.

  2. Building Guides → Scribe

    Scribe is a powerful tool that makes building detailed step-by-step guides a walk in the park for anyone. It’s just as simple as hitting record, doing all the steps you would like to detail, and hitting save. That’s it.

  3. Wikis/Docs → Notion

    Notion is one of the best and most versatile productivity tools out there and is excellent for building wikis, guides, and managing projects.

I hope these strategies and tools are helpful for you and your team in streamlining your onboarding process. Remember, documentation, and communication are key to ensuring new developers can quickly get up to speed and start contributing to your projects as soon as possible.