It’s not impossible to work with a developer who is sleeping while you’re awake, but it’s considerably more difficult. CodeClouds handles this by having teams spread out around the world—there’s always somebody online to contact. If a client in Chicago needs somebody on the phone now, we can pass it onto somebody in our Fort Wayne office. If a developer is only available during the evening in Tokyo hours, we can have a manager in Wellington work with them.
If it’s not possible for you to spread a broad net like that, we recommend having a detailed plan for how meetings are going to work. We coordinate a lot of inter-office meetings, so we’re experts at getting people in disparate time zones on the same call. It really is just a matter of planning and organisation, having clear lines of communication, keeping everybody in the loop, and having a sheet showing where each of the offices, teams, or developers line up with each of the other’s time zones.
If you’re going to work with developers in different timezones, you need a plan, and you need them onboard with it. During the interview, it’s good to check whether they’ve worked outside their timezone before, and how they dealt with it.
Job ads are great: by casting a wide net, you catch valuable people you might’ve otherwise ignored. Ads are a critical part of recruitment, but they’re not the only part. A good hiring manager keeps their ear to the ground and learns to get good at identifying talent early on. The best candidates often get snatched up before they even go job hunting, and so they’re never going to see your ad.
Regarding the tech industry, it can be good to keep your eye on the digital nomad subculture—full-time remote developers who travel the world, usually doing freelance work. They have their own forums and chat servers, and they’re always on the lookout for good work.
They tend to stay in places with a low cost of living but a robust expat community, like Bali or Saigon, and they can be excellent and affordable acquisitions if you’ve got the organisational skills to manage them.
It isn’t always possible (maybe they’re in Riga and you’re in Seattle—remote development, by definition, means they’re further away) but if you can, always interview in-person. Even if it means letting a local recruitment agency handle things, you’re much better off. Body language and other subtle cues are much harder to detect on Skype, and they’ll give you a much better idea of who you’re dealing with. Getting them to come into your office also lets you know more about their organisational skills, and how easy it’s going to be to call them in if you need them—some issues are just easier to deal with face-to-face and in emergencies it can be better to have everybody in-house.
It’s also harder for them to cheat on any tests: they can’t have a sneaky laptop/calculator off to the side during a timed exercise or have a cheat-sheet squirreled away off camera. We all know social media shows a false face, right? Well, Skype interviews can do the same: you’re only seeing what they want you to see. You get a more honest look at the candidate if you can get a look at them in person.
Any developer interview that fails to include a battery of tech tests has failed as an interview. It doesn’t matter how good (or bad!) their CV is if you’re looking for an API developer and they can’t do something simple like take the Twitter API and POST to their account. Especially if you couldn’t get them in-person, timed technical tests (preferably with some sort of screenshare on) are the truest indicator of how well this candidate can code.
Code isn’t everything (I don’t want to sound like a broken record, but above all, remote developers need to be organised) but also it’s the thing you’re hiring them for. It isn’t everything, but it’s a lot.
It’s not just code tests, either. Psychometric and personality testing are great ways to get a handle on a candidate who you can’t reach in person, and can sometimes reveal things that body language didn’t.
If you’re going to coordinate a team of people from all over the globe, they need to like each other. They’re going to sometimes be getting up at odd hours, or losing an evening for a meeting. Traditional team building exercises don’t really work when everybody is in a different country, so you need to get creative with it.
A simple way to do this is to encourage Slack channels/Discord servers/Skype groups where the staff can gather and interact less formally. It seems simple, but it’s critically important for team cohesion and morale that they have a digital water cooler to gather around without feeling like they always need to be on.
It’s not something you can force, but if you provide the space and step back, it usually happens on its own. No managers! You’ve got the corner office for a reason.
Version control is important, and version control is especially important with remote teams. When your developers aren’t meeting face-to-face, Git Commits can become a critical tool for the right hand to know what the left is doing. I’ve already talked about communication, and this is an often-underappreciated part of it—in black and white, you have a record of who did what and when. Version control is of course good for its own sake (debugging, record keeping, safety etc.) but don’t underestimate it as a tool for helping your developers coordinate.
Another critical tool for uniting your remote team is having a single, clear goal for the company. Who are you? What do you do? These are simple questions, but they’re the lighthouse that the little ships need to find safe harbour. Smaller goals tend to orient around larger ones, and larger goals provide guidance in times when the more micro-level management gets confusing.
It’s also important for morale that the team feel like their work has a purpose. While most workplaces do, it’s often not articulated clearly in a way that the employees can understand. Like many of the points in this article this applies to all workplaces but doubly, doubly to remote teams—you need to create a powerful sense of common cause, unity and camaraderie within your team if they’re going to work effectively across oceans.
A lot of this is, of course, assuming you’re building a team of multiple developers who are each in a different location from one-another. You can also hire a dedicated offshore development team who come pre-organised and with their own infrastructure in place. As you’ve probably guessed, CodeClouds offer that very service. With over 300 developers spread out across our four offices in Kolkata, Fort Wayne, Sydney and Wellington, we’re ready to take on any project you need.