Remote working is a fast-growing trend in the modern workforce with many benefits such as organizational commitment, increased job satisfaction, better job performance, and lower work stress and exhaustion.
I believe, along with many others, that this is simply awesome! It’s a remarkable opportunity for us — programmers from all over the world — to collaborate and work together on interesting and challenging projects with amazing and talented people.
Working from home – or anywhere!
Unlike the traditional office, we are not bound to a single physical location. We can work from home or wherever there’s a decent Internet connection. Away from the noise of the office and stress of commuting, in our hometowns or even in exotic locations.
I joined the company (InVision) more than a year ago, and so far, I’ve traveled and lived in six countries and two continents. I was able to do a road trip in Italy, marry my wonderful wife in Brazil, and meet with my friends in the Netherlands and United Kingdom. I love it.
Making it work
You may have worked at companies where they allow remote working. Or even at a small company where most people are remote. While this new way of collaboration seems quite doable for small companies or tiny groups of people, can you imagine to teleworking with dozens or hundreds of other people?
At InVision, we strongly believe that this is possible. In fact, we’re doing it every day! As you may already know, we are entirely distributed. Everybody works remotely across 14 countries.
It has even been proven that those who work remotely tend to be less distracted and more productive (See WFH experiment at CTrip - Standford University). However, doing this effectively is not without its challenges.
We have found several strategies and tools for working efficiently together. Here I share some of the techniques we’ve discovered to make it work:
- Small, connected teams
- Making the virtual more like the physical
- Recognition - every little bit helps
It’s both the biggest obstacle and the solution to developing trust within remote teams.
As Avi Posluns — our Director of Employee Hapiness says:
When working remote, there is almost no such thing as over communication. As human beings, so much of what we know about each other is not learned through direct communication. Body language, a picture on someone’s desk, and the way someone dresses, are just examples of how we learn about each other, both personally and professionally, in an office environment. The remote setup creates a need to communicate so much more in either written or verbal form. When working remote, always err on the side of more communication than less.
We use Slack to communicate. It serves as our building, our virtual office. We treat its channels like physical rooms. Even though we have many channels, we join only a few at a time.
This way no room is overcrowded and we are not overwhelmed with too much noise. Our communications are effective and flow rapidly with ease.
Small, connected teams
We found that the best way to make a team as flexible and lean as possible, is to keep it small.
Internally, we formed tiny groups that work on different projects. Each of them is like a small start-up; a self-contained system. For example, I am member of the Red Team, which is made up of four Engineers (one specialized in QA), one Engineering Manager, one Product Manager, and one Designer.
We are able to minimize the number of communication points necessary to deliver great things. This is possible because every project team is a different entity, decoupled from the other teams.
However, if by any chance, we do need some help from another team, we just jump in their Slack channel and ask. Easy and simple. This approach promotes a fantastic synergy between teammates and other teams.
Making the virtual more like the physical Like any typical start-up, we have our daily stand-up. Only ours is over Google Hangouts. This helps keep us connected.
Also, in order to keep each team engaged and informed on everybody’s progress, on Fridays we post a short show-and-tell demo on Slack. We call them: demo bits. It’s a great way to demostrate what has been done during the week and get feedback.
When I used to work in office, I drew a lot on the whiteboard. I found it really expressive and useful, especially when analyzing complex subjects. It’s something I can’t really live without as an engineer.
One of our tools — liveshare — is exactly a virtual whiteboard, where every collaborator can write and draw on images or plain backgrounds. I find it extremely handy.
Recognition - Every little bit helps
Praise and recognition is something that can be easily forgotten when working remotely. We use Bonus.ly to reward and motivate each other. The concept is simple, yet really effective and it helps incentivize positive communication such as meaningful praise and recognition. Every time a peer helps me to resolve an impediment, find a bug, or fix an issue, I can reward her/him with a few dollars.
The amount of money isn’t so important, but it’s a really good way to show gratitude and appreciation.
These are just some of the practices that we have decided to follow, to make our distributed team work at its best.
Of course, there is still considerable room to improve. Every day we figure out new strategies to collaborate efficiently, and new ways to make our virtual office a fantastic place to work. If you have any tips and tricks, please share them in the discussion area below!
Original post was published in InVision Engineering Blog: Making Remote Working Work