Technology

Developer Onboarding

by
on
12/22/2021
Developer Onboarding

For all of us here at NerdCloud, onboarding is a key process. As such, it needs to be incredibly efficient. Since we’re your tech team extension that integrates seamlessly into your workflow, we have studied and continue to study the best practices of the remote work onboarding process. 

Onboarding is the process of adding on resources to a project. Here, we’re specifically discussing onboarding new developers – something that we do all the time. Our devs are constantly joining different clients’ core teams and they need to get caught up to speed quickly. 

The goal of onboarding is to ensure that everyone involved, especially the new workers themselves, understand business objectives, requirements, workflows, and how to do their job as it fits in the company. 

Successful onboarding means that new employees can fully contribute to a project to the best of their ability as soon as possible, and spend less time trying to work out their tasks. 

We’ve looked extensively at what good remote onboarding practices are, and a great example would be GitLab’s onboarding or LeadingAgile’s advise. Here’s a brief summary of what their onboarding guides look like. 

 

GitLab’s Onboarding 

GitLab’s guide for onboarding consists of a neatly laid out, well-sectioned single web page. While there are links to other resources on different pages, most of what an employee needs to succeed can be found on the same page. This is an excellent way to avoid overwhelming and confusing new employees. 

Sections in the guide include: 

- Infrastructure

- Basics (workflow, security, quality, dependencies, etc.)

- Relevant links (engineering handbook, engineering workflow, product handbook)

The language used is clear and concise, and approachable without being patronizing. GitLab includes links to other important documents that new employees might not be familiar with yet as well, such as the infrastructure handbook, developer documentation, and developer security documentation. 

 

LeadingAgile’s Tips

LeadingAgile states that in their opinion, the most useful onboarding documents are:

- Context diagrams for every major system or major part of the system that the employee will be supporting 

- Drawings of the main components of the systems made up of simple lines and boxes to show which components touch others. 

- Specific modelling methods, graphical tools, and excessive details aren’t important and worse, are a waste of time at this stage of an employee’s relationship with the company. This is because onboarding documents can so often contain far too high a level of detail. 

Fresh employees won’t be able to take in all of that information, and when documents are that detailed, it’s almost inevitable that they will go out of date quickly and easily. 

When it comes to actually working on code, then LeadingAgile recommends:

- Executable test suits that are properly isolated and at varying levels of abstraction

- Commit messages in the version control system that are descriptive and meaningful 

- Some form of special source comments that IDEs pick up and show developers in context while they’re working (if supported for the language), such as rdoc (Ruby), documentation comments (C#), or javadoc (Java). 

 

Our Best Practices

Taking away from the examples above and our own extensive research, we’ve been able to compile our own best remote work onboarding practices at NerdCloud. Here are just some of them. 

 

Project onboarding documentation

Aside from what LeadingAgile has said, some key groups of documentation include:

  • Test scenarios
  • Glossary
  • FAQ section
  • Kick-off documentation (setting up the environment, gaining access, etc.)

It’s essential to document everything. We have an extensive project document where everything is described. Whenever in doubt, our devs have a source of reference pinned on the top of the project’s Slack channel. 

  

System structure diagram

This should contain app domain-mapping and owners of each domain or part of the system. 

 

Onboarding meetings

This is an efficient way to share information that documents might be missing, and to answer unique questions that new developers might have. 

 

Articulate

You must articulate the:

  • Work scope
  • Objectives
  • Key responsibilities
  • So that the newcomer knows their responsibilities and what is expected of them. 

 

Set schedules

Talk about the team’s schedules, recurring meetings, and when communication should happen. 

 

Talk about communication tools

Show them what tools and platforms are used to communicate, and then help them set up their accounts. 

We set up the project communication channel first (Slack) and task management (Jira) early, then keep communication streamlined every day; all while tracking everything. 

  

Check in regularly

We use KANBAN project management methodology, to clearly see which tasks are at which stage and what the progress is. 

Additionally, checking in regularly helps make sure that not only do developers feel that they’re cared for, but they will also know that they have regular opportunities to ask for help or clarification if they need it.

 

Conclusion

Remote workers have different needs than office workers, and this applies to their onboarding process as well. They require the right tools, technology, and resources to become familiar and comfortable with the company. 

Here at NerdCloud, we’re experts at helping you use technology to efficiently and effectively onboard your remote workers. If you need more help or information, get in touch with us today.