In 2013, I hired a total of 9 people for our offshore software team. Earlier, we were working with couple of “offshore software development” firms and the experience was generally positive. The biggest problem was employee turn-over: it turned out that most of these “offshore firms” weren’t paying their people enough and didn’t treat them well. As a result as soon as guys had better offers, they jumped ship. Long story short, we decided to build our own presence and directly hire people – I wanted to build a healthy culture and have employees that were engaged and quality conscious.
The initial experience wasn’t great. I hired some complete bozos (I didn’t have a good hiring process) and at one point had to almost 30% team go. But by the end of the year, we ended up with a good group of people who were delivering great quality code. In this post, I would like to talk about 4 qualities you must look for when hiring offshore developers.
Quality #1: Communication skills
The #1 quality to look for in offshore staff is their communication skills. I cannot stress it more. If you’re hiring offshore staff only on the merit of how they performed in the technical interview, you are doomed. Think about it: any serious software development is seldom done by a single person in isolation. If you work for a startup, you might disagree with me… but only for a while. Sooner or later, there will be more people, more inputs, more suggestions (alas, more bureaucracy)
It is mandatory to setup proper communication channels, like Skype, scheduled meetings, conference calls, but it is not enough. If the offshore developer doesn’t have good communication skills or shies away from communication, it will become very challenging for the manager and the onsite team to understand where exactly they stand and the technical issues they are facing.
Drawing from experience, my first offshore hire was a young, fresh graduate. During the interview, she blew my mind the way she answered some of the technical Java questions and her deep understanding of concepts. But I felt like I almost have to force her to answer my questions: she was very, very quiet. May be it was just cultural, may be she was just scared, or was simply too shy. I ended up hiring her based on her technical skills – and the communication soon became the biggest challenge – It started taking a toll especially on on-site developers who could only talk to her at odd times and I made a decision to let her go.
I would suggest asking the potential candidate to talk in depth about the project he or she last worked on. Let them talk and see if they can describe in clear language using proper technical jargon. See if they are enthusiastic or dry. Let them talk: you shut up and listen.
Quality #2: Communication skills, again
The second most important quality you should look for is communication.
Quality #3: Flexibility
It’s a challenge working with teams in different timezones. Your offshore developers must be flexible and willing to be available at odd times occasionally. It’s not enough to set fixed schedules: I can guarantee that sooner or later, you’d want them to be available on a call with a vendor who is in a different continent than both you and your offshore team. If you have people who start whining and complaining about meetings at odd times, you should let them go and wish them luck finding a 9-5 desk job.
I would advice being upfront and discussing this in the interview. You should also assess candidates for their flexibility: for example, an older developer with 3 kids is less likely to be flexible than someone who graduated 2 years ago. I wish we had followed this advice when we hired a senior Java developer: great guy, but high maintenance and slightly Prima Donna. I normally tolerate high maintenance as long as people are good at their craft – However, this guy made it clear that he will work only from 9-5 since he has other “commitments” in evenings, no exceptions short of an absolute emergency. Meetings became exasperating since the only time he was available to talk was from 10pm to 6am, local time.
But try to be fair to the offshore team: if you are day and night away, like USA & India, have half or quarter of the meetings in your evenings (morning there) and the other half in your morning (evening there).
Quality #4: Ownership
Extremely important, but also the most difficult one to find, is hiring people who’d take ownership. I’m not saying they take ownership of the entire project, but at least of the task assigned to them. If you find yourself babysitting your offshore worker after 5 months on the job, either you are not fit to be the manager or you don’t have the right person.
Ideally, you want people who could be considered a nuisance: to get their answers, they will haunt you like bloodhounds. They will keep messaging you until they get their answer. These people are like animals. Believe me, you NEED them.
Finding such people is very challenging: chances are you will come across them only by luck since it is very unlikely that their current employer will let them go. However, whenever you get the luck of the draw, pounce, keep and do your best to retain these people. A few of these people will even make an average team look like superstars.