As a developer, remote team members are here to stay and for good reason: development work can be done from anywhere. Over the last year, I have worked with team members who spend most of their work hours in home offices. This post is a list of observations I have made that should help any team looking to transform more of its team members to remote work. This post is also for those developers who primarily manage or work with remote workers, and what they can do to be more supportive.
High Speediest Internet
I suggest remote developers get the highest speed internet available. This is not an area to cut corners, as the speed of the access affects how the team may view an remote team member's dependability. Being online equates to being at your virtual desk.
Spend the money to get the best hardware you can afford. This means a great laptop, a great microphone, and a stellar camera. Better hardware leads to less issues, and less issues lead to more productivity.
Communication tooling is the best investment a distributed team can make. Here are a few of the tools we use:
- Office 365
- Skype For Business
- Google Hangouts
- High Five
- GitHub Comments
The best tools allow parties to interact seamlessly and without a lot of ceremony.
Be "Pairing" Friendly
If you develop code, here are a few things that can help reduce frustration when pairing remotely.
- Turn line numbers on in your editor.
- Increase the font-size when on a remote call.
- Be prepared to give up control to the remote caller.
- Turn off notifications from other applications.
- Share your entire desktop, not just the application.
- Learn shortcuts for zooming in and out.
- Learn to "whiteboard " via drawing tools.
- Reduce ambient noises.
Understand Your Remote Audience
There is a lot of unspoken communication that happens in person. Some of that communication is lost with remote team members. Try to keep jokes to a minimum, especially sarcasm, as it can be taken seriously and hurt the remote relationship.
Working with remote team members takes a different set of skills, and most of those skills involve technology that normally wouldn't be required for an entirely on-site team. Take the time to invest in infrastructure, hardware, tools, and people skills and you will have a more productive distributed team.