Do you have a sense of what preparation or existing capabilities are important before deciding to take on remote developers? How can we test for remote readiness?
These questions were recently posed to me by a software development manager at a company that is currently considering allowing remote workers. These are some excellent questions. Far too often, many companies start setting up remote workers without preparing their company and end up frustrated that it fails.
Here I will discuss some topics that need to be considered and possible solutions. I come from the perspective of a remote tech worker who works on the building of projects, and so I have limited insight on the business end. Therefore, I have reached out to some people I have worked with over the years to get their perspective.
Open Up Communication Communication Channels
The biggest thing is probably making sure your communication channels are wide open. Healthy communication is essential for any company, but that importance is heightened for people in a remote setting.
With remote workers out of the office, they won’t get watercooler discussions or have a chance to tap their neighbor on the shoulder with a question. This lack of face-to-face contact can lead to remote workers feeling isolated and like second class workers when there is already an established in-office culture. Additionally, by improving communication for remote workers, your in-office workers will also benefit.
A few tips on communication that I have observed worked well:
Document as much as possible - Thoroughly document company policies, practices, and anything else. Store them in a place that a remote worker can access at any time. Documenting your company also benefits your on-site team by making getting the information they need much more accessible. Where you store your documentation will depend on what you are documenting, how structured the information needs to be, and how it is to be accessed. For this role, Google Drive may be a good place to start for may types of documents.
Thoroughly document projects - Don’t make remote workers wait to get the information they need to do their job. You should already be doing this as what happens to your project if one of your team members gets hit by a bus? For this communication need, store designs in something like Invision, job tasks in something Pivotal Tracker or Jira, making early project artifacts available for reference, and so on.
Use a real-time chat system - Establish a real-time chat system with different channels for things like #big_project, #announcement, #engineering, #finance, #marketing, #hr, etc. Such a system opens up internal communication by providing a place where workers can reach out to various departments for help that is more natural than shooting an email off to just one person whom might know the answer. It also will help coordinate projects without having to create a meeting for everything. For this need, Slack is the most popular and alternatives such as Microsoft Teams are available as well.
Have a place for long-form discussion - Chat systems are excellent, but they can also be very ephemeral. For long-form discussions, such as gathering feedback on an upcoming policy change or debates over which programming language is appropriate for a new project, something like a forum works much better. In addition to helping remote workers, a forum allows in-office workers to have such a discussion and have the rationale automatically documented. A modern forum, such as Discourse, would be a good option.
Use video, not voice, chat - Voice is great; however, video chat is better. Video chat allows people to get to know each other’s expressions and better read people’s thoughts via non-verbal communication. It’s been said that non-verbal communication makes up more than half of communication, so it is vital that you do not cut that portion out. Keep in mind that sometimes voice is the only option for a participant. Slack is fine for quick 1-on-1 meetings. For other meetings, I have found that Zoom is by far the most reliable service.
Provide proper audio equipment - Speaking of voice, make sure that people have both a good microphone and headphones. A good microphone helps people’s voice come through clearly and headphones cut the annoying echo that plagues many chat sessions. Preferably, audio equipment will use noise cancelation and avoid BlueTooth. Make judicious use of the mute button to help cut unneeded noise when you are not talking. Mic and headphones are changing all the time, so do your research and experiment with what sounds the best.
Set expectations on remote working space - Whether an employee works from home, a coffee shop, a coworking space, or in the office, the area they use needs to be appropriate. Such a space is reasonably quiet, with no echo, and visually pleasing to your employee and on camera. Avoid backlighting as cameras struggle with it and will show the person in shadow!
Record meetings - When having all-hands or department meetings, hold them on a video chat service. Recordings allow you to document the discussion in the meetings and save them for reference later, for anyone who isn’t part of that department to see what’s going on and for anyone who isn’t able to attend, remote or not. Recordings help keep remote workers in the loop.
Allow your employees to give kudos and rewards to each other - Consider an employee-driven bonus system. A system that offers the chance for employees to publicly praise their peers for something they did and give a little reward boosts morale. These peer bonuses help by giving praise to an action that would have gone unnoticed and can help give managers insight into what’s going on in the company. For such a service, take a look at Bonusly.
Utilize sprint retros - A well, run retro open up an opportunity for praise and to uncover areas the project needs to improve. The key is to act on possible fixes. Retros will benefit your team, regardless of where they are working.
For this communication need, I particularly liked using a Google sheet that had “What’s going well?” “What’s not going well?” “What are the root causes?” and “Possible solutions” columns. Across the top was a statement that noted that everyone had done the best they could given the situation at the time. It helped to get blame and ego out of the process. We filled out the first two columns with anything that came to mind and then we would talk through them, the root issues and solutions.
Keep communication with individual employes open - Hold regular manager-employee 1-on-1s to support the growth of that relationship, allow for two-way feedback, and help managers notice issues like fatigue or stress.
Host company retreats - Do this at least once, if not twice a year. I’ve seen these handled in different ways. I think it best if there’s at least a day or two to work together face-to-face followed by a couple of days of holding your own little conference, activities, etc. I think it is best to use these to break the daily grind, build camaraderie and energize employees about the company and its projects. They do not have to be in your office too. Some companies fly their entire company to fantastic vacation locales.
Establish and Keep Trust
In all businesses there needs to be trust between employees and company leadership. After all, if you don’t trust each other, why are you working together? In a remote setting, this need for trust is intensified. Establishing open communication as above will go a long way towards building trust. However, this doesn’t cover everything.
At the time of publication, this is an area that I am still learning more about from different perspectives. I’ll update this article with what I have leared in the future.
Adopt an Agreed Upon Plan
Your company and its employees need to agree on how your distributed team should work. Once you agree on your remote working process, document it and make it available. Your plan shouldn’t be overly rigid but needs to be enough to keep your team from falling into chaos. Just as important as having a plan is an adaptability. Be ready to adapt as your company grows, takes on new kinds of projects, hires different types of people and so on. When making changes, listen to the needs and pain points of everyone involved, don’t just issue edicts from on high.
Embrace asynchronous working - This means that people’s day shouldn’t be in absolute lockstep with each other. For example, the CFO doesn’t need their own monthly meeting to present the financial health to the company. They can do this via a carefully prepared PDF or a video and field questions in Slack or the forum.
Provide any equipment that is required to do the job - Don’t expect remote employees to use their personal computer or purchase their own development phone library.
Provide an office and equipment stipend - Since remote employees will need to procure a workspace, it’s only fair that the company helps out with expenses. I’ve seen $USD 300 per month office stipend offered in some job postings. Usually, this is meant for things like Internet access, coworking space fees, etc., anything that’s paid monthly.
On top of that, there’s often an equipment stipend given out yearly. This is for purchases such as furniture, monitors, routers, anything that is needed to help make their office workable. Often the first year has the most substantial equipment stipend and the following years are reduced. I have even seen companies offer a smaller equipment stipend to their on-site workers to allow them to create a comfortable office.
Check on legal and taxes - There may be employment and business legalities and tax implications for utilizing remote workers. These implications shouldn’t scare a company away from supporting remote work but do need to be checked out. Consult your business lawyer and accountants for what you may need to do.
I have not been a part of a company that has added remote working in while I was working for them. My guess is that you will want to work on the culture of the company and implement many of the ideas above before giving it a serious go. When you’re ready to test, commit an employee, or a whole team, entirely to it. Have them work remotely for a few months. Expect there to be bumps in the road. Most importantly listen to both to the people working in-office as well as those working remotely. They will be able to tell you what the pain points are and possible solutions.
Check out Remote: Office Not Required by a couple of 37signals (now Basecamp) guys. The company is a pioneer in the field of remote working.