Tips and tools for collaborating remotely
Maybe you’re considering emigrating. Perhaps the person you enjoy working alongside the most is moving away. Maybe you’re just interested in collaborating with someone you met online but they live hundreds of miles away. The good news is working remotely with other developers is easier today than it ever has been before.
I live and work in Australia but the majority of my side projects are carried out with a handful of people in the UK. When we first moved over here I was worried about whether it would be sustainable to continue working with them, but it turns out with a bit of effort and organisation, it can actually be great. In fact potentially you can have round the clock development going on!
The time difference for us is significant (~10 hours) and there is never a convenient time to talk. On weekdays one of us will be on the bus on their way to work as the other is getting ready to have dinner — but it does mean twice a day we have the opportunity to exchange instant messages. Our tool of choice for this has been Slack and I can’t fault it.
We use Trello for our workload management — another clean and simple tool that we use to track and assign tasks to each other. We set up a board for each project and pull status updates through into a Slack channel.
For those of you that haven’t used version control before, I strongly recommend you use Git. We use private repositories in Bitbucket and have found that pull requests have become increasingly important now we are not in the same room. Our git strategy is fairly basic but it works for us. To summarise, we have the ‘master’ branch which is always production ready and the dev branch containing work in progress. Each developer then has their own version of the dev branch prefixed with their initials. When we complete work we issue a pull request to the main dev branch to ensure our code is up to standard before merging it. I may do another post soon in more detail on git workflows.
Finally, the most important thing you can do is have video face to face time. We catch up over Google hangouts every couple of weeks to check in, share ideas and see how it’s going. It’s vital that it’s not all about work and that you still talk about fun stuff — I mean that’s probably why you enjoyed working together in the first place!
We’ve produced some of our best projects whilst collaborating remotely, so don’t be downhearted if your closest dev mate is moving overseas — with modern tools and planning you can make it work.