Bringing a new remote developer onto your team can be a challenging experience for everyone involved. Getting accustomed to a change in team dynamics, a new work environment and company culture, and establishing clear communication and expectations take time, organization and a great onboarding process.
Table Of Contents
Yet, companies often don’t have formal remote onboarding procedures defined, which results in many developers being poorly inducted into projects. Besides affecting their productivity, this also negatively impacts the perception of the remote workforce as a whole. With the remote sector estimated to grow to 70% of the overall workforce by 2025, this is not a niche issue anymore.
The good news is that you can achieve many benefits of an onboarding program if you spend just one or two hours on it. Over the years, we’ve worked with thousands of remote developers and found that there are four pillars to a great onboarding program: 1. Orientation, 2. Communication, 3. Process, and 4. Access. In this article, we’ll explain more about our simple yet effective approach to onboarding remote software developers and how you can easily integrate it into your own organization.
Step 1. Orient the Developer
Orientation is a critical step in getting your new remote developer quickly comfortable within your team and company. This doesn’t have to be a long process, but it should cover the basics of who they will work with, what work they will be doing, and how they can get started. In essence, this step will ensure they don’t feel like they’ve been thrown into the deep end.
Send a Welcome Email
Your new team member will have a lot to learn in the first few weeks of starting and may feel overwhelmed. A welcome email is a good way to ease them in, introduce them to the team and get them familiar with the role and general information about the company. Include all of the key team members the new hire will be working with in this email.
Schedule a Kickoff Meeting
You should plan to schedule a kickoff meeting for you, your team and your new hire on their first official day. This meeting is where you can do formal introductions with team members and discuss further aspects of the role and company in detail. This initial meeting is also a good time to reiterate expectations, explain high-level processes and leave time for questions.
Choose a Senior Person to Help With Onboarding
Regardless of their seniority level, your new hire should have someone who they can look to for guidance, someone who will help ensure they are properly onboarded and settled in their new role. We suggest that you choose a senior person on your team to be that guide and adequately transfer the required knowledge to your new developer. This will help offset any communication gaps and help them get adjusted quickly.
Step 2. Establish Clear Communication
Once your new remote developer is settled in, it’s a good idea to set up a reliable line of communication with them. Don’t fall into the ‘out of sight, out of mind’ mentality that often occurs with remote employees.
Set Up Regular Meetings (We Recommend Daily)
Regular meetings help reassure your new team member that he or she is a crucial part of the project, in turn making them more accountable to it. Regularly touching base also means potential problems can be caught early. You can’t go wrong having a daily meeting and we highly recommend this. Constant contact is a catalyst for information flow and it also allows you to quickly realize if someone isn’t being productive.
These meetings don’t have to be hours long (30 minutes per day is a good goal for a daily meeting). Be social, and get to know your team. In a remote situation, casual interactions do not happen as easily as in the real world. You need to create time for them. If you don’t need the full meeting time, then you can end the meeting early. If you need to cancel a daily call some days because something else comes up, then it’s not a problem because you’ll meet again soon.
Establish Communication Channels
Establish what other channels you and your team use to communicate. For example:
- Google Hangouts
In our case, Slack is used for all internal chat. There is a dedicated channel for the project where communication is slightly restricted (the client often has access). This is offset by a #random channel for internal communication, updates, and news – a virtual watercooler essentially. We use Zoom for our meetings.
If you have technical documentation in place, it will be a valuable resource during onboarding for general knowledge transfer, sharing centralized information and defining processes in detail. It’ll continue to be useful for your team for day-to-day operations as well.
However, when it comes to technical documentation, in many cases, the common response is, “I don’t have any.” If you fall under this category, we highly recommend taking steps to flesh out this key information. You can use our guide to writing technical documentation and also work with your new developer to flesh out sections, like setting up their development environment.
Step 3. Set a Development Process
Use Source Control
This one may be obvious, but some people are still not using source control and may not realize how essential this is until it’s too late. Put simply, source control (typically Git these days) lets your whole team collaborate safely on software development projects without overwriting each other’s changes.
We recommend that our clients own and control their own code repositories. If you own your repository, there is no way you can lose your code.
Because source control links code to its author, it serves another great function for new remote team members: it enables you to look at the code of any individual. We typically have all remote developers push their code to development just before the daily meeting, which gives us the opportunity to go over everything they have just done and discuss it when needed. Using source control also allows you to do more advanced things like setting up an automated, repeatable deployment process and branching which are both very important but are beyond the scope of this article.
Use a Task Tracker
Having a task tracking system in place is crucial for making sure tasks are well-defined and prioritized (you can try the Fibonacci sequence) for your developer in a platform such as Trello, Jira or Github Issues. There are so many good task tracking options on the market, and many do the job well. Whichever you decide you want to use, it’s important to use it consistently so that developers always know what they should be working on at a given point in time.
Most of our clients play the role of the Product Owner from the Scrum methodology. As the Product Owner, it’s your responsibility to understand the product roadmap and clearly communicate to the development team what they should be building. Maintaining well-groomed tasks in a project management tool or hiring a project manager to help will go a long way toward making your project run efficiently and smoothly.
Agree on a Methodology (Scrum, Kanban, etc.)
You should agree on a project management methodology for the best way to plan, execute, and monitor the progress of your projects with your new team member. The methodology you choose should be based on the tool that best fits your business culture and development practices. For example, will you be using Scrum to manage your team, or is Kanban a better fit? Is your new hire familiar with the methodology you have in place?
Step 4. Grant Correct Access
If correctly managed, the task management platform you choose can serve as a complete introduction and information repository for your project(s). This is because many of the leading products do more than just manage tasks. They also work as chat rooms and file storage.
Create Necessary Accounts
Consider what accounts your remote employees will need in order to do their job (email, task tracker, wiki, collaboration tools, etc.), create those accounts and share them.
Share Credentials Securely
Besides creating new accounts, new developers will often need to know usernames and passwords for various systems to do their job. Wherever possible, it’s best to create new accounts for individual developers so that their access can be removed later, as opposed to sharing your or other users’ credentials from existing accounts. If you must share existing credentials, using a tool like LastPass can be helpful because you don’t have to let the person actually see the password. Never share sensitive passwords over chat or email, it’s best to do it via a secure method where others are unlikely to be able to get access to sensitive info.
Own Your Data
When managing accounts, make sure you are the owner of all important data so that you can’t lose access to it. Ensure that you can’t lose access to the content. It’s a good idea to only share the access that is needed for your new hire to do the work. Err on the side of caution and only share sensitive info on a need-to-know basis.
This onboarding process does not require much time and effort on your part. An hour or two spent orienting every new team member and an ongoing effort to keep them informed and involved is enough to make things go smoothly.
Ultimately, people are human and not every new hire will work out, but you can take steps to help minimize disruptions and improve your chances of success with a thorough onboarding process in place.