Quick background: We're a small Django consultancy/web app development company based in the UK. 7 people, all remote, split as three developers, one frontend dev, one designer, one sales, one administrator. I'm a developer/managing director.
Our experience with remote working has been largely very positive.
- It keeps our overheads very low. I think that when we remove our staff wage bill, our operating expenses are about £200 a month, which is mainly service subscriptions. If we accommodated everyone in an office, we'd be looking at spending at LEAST £3000/month on rent alone. This cash being available has meant that we can expand the company quickly, pay developers well, and still afford to take the team out to conferences and the occasional get-together and night out.
- Remote working means that your processes and working practices need to extremely well defined from the outset. All our interactions are online, so clear, unambiguous communication and good project organisation and management are essential. Of course, there is an overhead in this level of communication that might not be necessary if we were colocated, but I think that overall it benefits us.
- We are also able to expand our hiring pool. We've recently taken on a freelancer in Poland part-time (we knew him from when he lived in the UK), and we're not making adjustments to suit him; we're already well adapted.
- The tools which exist make up for a great deal of the shortcomings of remote working (we use Skype, Trello and HipChat mainly, with the occasional VNC/Skype screenshare session). This is a huge contrast to even a couple of years ago,
The disadvantages are almost entirely human factors:
- I think it's easy to 'hide' from the team if a developer is having a problem (either with their code, or their motivation). It's easy to coast through an unproductive day and there is often a delay in the other team members realising that a project is falling behind schedule.
- Sometimes working remotely can feel isolating. A few of our developers who live near to each other sometimes meet up at one location and work for a day, and I get feedback that everyone feels refreshed after. We have quarterly 'get together days', where we talk mainly about strategy and review our processes and performance, but I think we need to start having 'work together days', just to keep the morale and motivation high.