The Perils of Remotely Onboarding to a New Codebase

Almost 80% of developers were already working remotely to some extent prior to Covid-19, according to a survey by CloudBees. Even if this number sounds a bit far-fetched, there’s no doubt that the IT sector has been witnessing a shift towards a more dynamic working pattern, which includes both working in-office and remotely, even before the pandemic hit.

Despite these massive numbers and the fact there is a growing number of new engineers and new hires at any given time, many companies have still not developed a predefined developer onboarding process. This can negatively affect new hire productivity, their loyalty to the workplace and code quality. This blog post will detail four challenges new developers encounter when getting started at a new company, and seven best practices for proper developer onboarding.

Recurring Bugs

  1. Solo Learning the Software and the Workflow. To get started, new developers need to learn the software, its features and the source code. Then, they should become familiar with the company’s development workflow: the different stages, the scope of each stage, the key people in the flow and the bottlenecks. These can all be shown and explained remotely through video conferencing and documentation. However, remote work does not enable new developers to learn in spontaneous ways, like walking over to a team member to ask a question, or overhearing their colleagues’s discussions. These actions used to be a key component in learning the product and how the team works. In addition, if the documentation is not updated, remote developers will have a hard time learning the code from it.
  2. Little Team Communication. The benefits of coming to work are not about the ability to monitor employee’s work hours, but rather the human connections that emerge. Employees bounce ideas off each other, share stories of their weekend and help each other on work tasks. This creates new ideas, builds teamwork and increases loyalty to the workplace. Companies that do not enforce clear communication guidelines to replace face to face in-office communication, will get disengaged, detached, and distracted team members. In the case of new employees, this could lead to growing discontent with the workplace, and even to leaving after short periods of time.
  3. Solo Set Up. A good IT team has the new computer set up and ready to work when new arrivals come in. However, this is much more challenging for remote hires. Security measures prevent companies from sending devices with sensitive information with 3rd parties, like delivery companies. Therefore, IT teams need to find a way to set up systems, logins and secure connections, from afar, without the new employee having to sit idly or deal with frustrating bureaucracy.
  4. Scheduling Online Training Sessions. Time management is often a challenge, and even more so with remote work. Any request, big or small, requires setting a meeting. Even those that used to be answered by getting up and walking across the room. In addition, meetings have to accommodate different time zones and personal schedules. Therefore, finding the time for the crucial onboarding training sessions, as well well as making sure they encompass all the required information, has become very challenging.

What Remote Developers Appreciate

Many developers are reporting higher productivity doing remote work. Companies are benefiting so much that two thirds of them will enable some model of remote work after the pandemic, and placing habits that will address this in the long run will help debug the complicated process:

  1. Codebase conventions. Having a ready and standardized onboarding process to the company codebase will ensure that any new hire can focus on what really matters - providing quality code. It will also enable other team members that need to invest in inventing the onboarding wheel time and time again - focus on code. Collaborations tools and document editing tools are the 2nd and 3rd most critical tool ranked by developers for daily work. Make sure you have such tools for code tutorials and onboarding as well.
  2. Security ethics. The first tip for enhanced security is not to throw the remote developer or new hire directly into your production environment. Besides the obvious security benefits of not exposing your production environment you will also get to gauge the new developer’s security awareness and work ethics. This is extremely important with the tight enforcement of compliance rules like GDPR, HIPAA, SOX, PCI DSS, and more.
  3. Tasks with clear DoD. More and more companies are understanding the importance of the first weeks of employment, and rather than throwing meaningless backlog tasks at new developers, they cover some major tasks with a clear understanding of their definition of done. What might seem obvious to the person who has written the task isn't necessarily clear to someone new to the team. Clarify any unknowns before sharing the task.
  4. Streamline knowledge sharing into your workflow. The more you streamline an onboarding process into a team’s everyday workflow, including documentation done right, and proper knowledge sharing practices - the easier it will be to understand areas of the code, onboard new hires and switch between projects. If possible, assign a mentor to help with this. According to a recent research conducted by the Blekinge Institute of Technology in Sweden and the SINTEF Digital institute in Norway, mentoring and coaching are invaluable for developers, especially for legacy code.
  5. Maintainable tools. Integrate knowledge sharing processes to support remote teams by making sure you introduce tools that allow smooth sharing of information and double as knowledge centers that are easily maintainable. The hassle of maintenance is often a bottleneck for many teams and can decrease from the added value of such a system in place.
  6. Communication guidelines. Define and enforce new communication guidelines that take remote needs into account. From clear documentation of every meeting to dedicated meetings and channels for personal matters, it’s important to clearly replace the spontaneous in-office face to face communication and not just rely on setting up Zoom meetings.
  7. Encourage . It’s easy for remote employees to get caught up in constant overtime to accommodate different time zones and schedules, and managers raising the baseline expectations because everyone is at home anyway. This is even harder for new hires, who are not familiar with the pre-remote company culture and feel they need to prove themselves. 48% of developers looked for a new job because they wanted better work-life balance, according to the 2020 Stack Overflow survey.  So encourage breaks, boundaries, working out and talking about mental health.

Remote Teams with Hyper Growth Mentality

Developer onboarding is a continuous team effort, a process full of bugs and room for improvement especially when remote. If your work is not remote by design, ongoing remote work for teams with a high growth mentality usually exacerbates the onboarding challenges.

To make sure all new hires and the zoom-fatigues teams are satisfied from day one, it's important to help them get and give value at speed. The best way to do this is to provide tools that are continuously streamlined into the company workflow and are rarely outdated.