Aug 08, 2019
How to Build, Manage and Lead Remote/Distributed Engineering Teams?
With an increasing number of the world's workers exploring freelancing and technological advances enhancing the internet's ability to connect people, it makes sense that more businesses want to hire remote employees.
Millennials in particular are increasingly taking advantage of the flexibility of remote work and the decreased levels of stress that it can offer. A survey conducted by networking software company PGi in 2014 showed that remote workers experienced an 82% decrease in stress. And despite the “working in your pajamas” stereotype, remote work has been shown to make people more productive.
Remote work gives employees the benefit of time. Whereas before they'd burn two hours commuting, they're now free to spend time with their kids or work on a personal project. In an article for the company blog, software company Zendesk writes:
“Removing a commute can sometimes add hours back to the day and can allow an employee to pick up their child from school, eat dinner as a family, or make it to the gym. These seemingly small things can go a long way in keeping employees happy and motivated.”
Motivated employees make for productive remote teams that can be useful for permanent, full-time jobs or for completing one-time, limited-scope projects.
Business owners face a unique set of challenges when organizing and managing remote teams. They need to be able to both communicate and have the resources to work out problems on their own. In engineering, everyone needs to be on the same page to make sure nothing gets missed.
Although these details are challenging, they shouldn't deter you from hiring a good remote team. For one thing, globally expanding the hiring pool increases your access to the most talented engineers in your field. It also reduces operating costs for your business because you don't need to pay for as much office space.
When looking at your options, you could choose to build your own remote team or a distributed team. The main difference between distributed and remote teams is that remote teams have a central office where some employees work.
Hiring and Managing Remote Engineering Teams in 4 Steps
Let's go into the details of hiring and managing a remote engineering team. While we'll be discussing engineering, these steps can be applied to virtual teams across the board.
We'll break down the process of building, guiding, and dispersing teams into four stages according to our proprietary framework:
Before you do anything else, you need to make sure you find the right people to hire and have a clearly defined goal for your project, which leads us to stage one.
During this phase, you're looking for the right people to hire and when. You want to be sure you aren't hiring too early but aren't scrambling to find someone at the last minute, either.
The hiring process typically takes up 50% of your time. Ideally, you'll have a good idea of what the work requires from doing it yourself, giving you a good idea of who you want to bring onto your team. You're trusting these people to do the work of your business well, so take the time and effort necessary to find and vet the right candidates.
To get the right people in, you have to make yourself attractive to them, so be sure to craft a job ad that sells your company as a good place to work. Reach out to your network for recommendations on who to hire, and use an applicant tracking system to keep track of replies.
Since you're going to be working with and managing this team remotely, new hires should have some skills beyond those in engineering. Look for people who are attentive to detail, communicate well, and take the initiative to ask for help. Remote team members should be able to gel with the team but also manage themselves well.
Once you've done the necessary pre-screenings, background checks, and talked with other interviewers, you're ready to reach out to your hires and configure your engineering team setup.
When you're bringing on new engineers, you want them to feel welcome, so make sure you foster an inclusive company culture. Bryan Helmig, co-founder of workflow automation software company Zapier, has three tenets for on-boarding new remote engineers when hiring remote teams:
- Make sure they have a great first week by providing ample resources and being on hand to answer questions.
- Make sure their work environment (development setup) is automated, easy to use, and fun.
- Get them working on something as soon as possible to give them opportunities to learn the software and the work.
This is the time for the team to get to know each other. Make sure everyone knows the proper communication channels and have rules in place for their use. If your new engineers will be working with members of an established team, introduce them! Get them working together and talking. The sooner that happens, the more smoothly things will run.
Managers at HQ should make an effort in this phase to get to know their team: where they live, what time zone they're in, and any schedule limitations they may have. This is also the time to lay down the company goals so everyone understands what they're working toward and how they will help the team get there.
Finally, the onboarding period can help you see who really is a good fit for the company. A 30-day check-in period can be a good way to find out if everyone is still satisfied with the job. If they're not, it's better for them to part ways sooner rather than later.
You've recruited the team, trained them, and made sure they're all on the same page. Now it's time to get to work. The deliverables set up during onboarding are checked and re-checked as new information comes in. With each sprint, new boxes are checked off the list, and benchmarks can be evaluated.
As the project unfolds, team members can modify their goals based on what works and keep track of their productivity. Each member should be aware of how much they're contributing. Managers should be checking in regularly with their remote teams to gauge whether things are on track.
This is the wind-down phase, more applicable to temporary teams than permanent ones. The project requirements have been fulfilled, and it's time to prepare to disband the team. All the data from this team's project can be analyzed and measured against the checklist of deliverables created at the very beginning of the project.
Management can go through the checklist with the team to make sure they really were able to effectively deliver on their goals. This analysis phase also serves to store project data for permanent staff or future temporary team members who may need to look back on it for new projects.
With a permanent team, this can still be a good time to look back at goals and benchmarks. You can see what was done excellently and what could've been done a little better. The team can wind down the project, even though they may not be dispersing.
Best Practices for Remote Engineering Teams
Working with a group of people dispersed around the globe can be difficult, but following a few basic rules can go a long way toward having a team that functions smoothly.
First off, communication is key. Use free tools like Slack to have a place where everyone can chat and keep tabs on the project. An open chat separate from the official one is a good place for team members to get to know one another and talk, something that is very important to solo workers.
Also, if there's a tool you need that you don't have, build it. A team of engineers at software company New Relic saw that they needed a tool for recording everyone's contributions to mob programming projects, so they built one themselves.
Secondly, be respectful of team members' limitations. Know who's in what time zone and when they're available. Build schedules around when people are able to work. When you arrange times for everyone to meet regularly, know that'll mean some people staying late and others arriving early to group meetings.
Third, make sure that team members can work independently. Give them detailed guides, checklists, and any other information they need to do their job. Troubleshoot any issues that come up. If possible, have someone on call in a time zone that makes it easy for them to take middle-of-the-night calls from somewhere else.
Follow these guidelines and tweak them to suit your own needs, and your remote team will be a well-oiled machine in no time.