By John Houghton on January 6, 2014
As the head of a mobile app development company, I’m always looking to find and mentor new developer talent both onshore and offshore. In this article I’ll be sharing some best practices for offshore hiring. In case you didn’t know it, there has been a shortage of talented mobile developers since mobile apps took off in 2008. The first thing I should say is that you should be offshoring only if you have the extra resources to find and manage a good team. In effect, what you are doing is using your time to find and manage offshore resources, which almost always requires more time than finding and managing local resources. The idea is that you can save money in the long run if you find and retain a good team. If your company slacks off during this process, your momentum will be lost because your resources will have to go to other projects (you have to keep them busy), and candidates will go elsewhere. Also, your company will be spending time and money screening folks who are usually substandard, which is neither fun nor cost-efficient, and your resources spent doing this vetting are usually considerable. In effect, you’ll be getting into the mobile development business and building mobile app development as a core competency for your company. Some companies choose not to make mobile app development a core competency because it distracts them from their core product or service.
Of course, the upside to offshoring is that development costs are more or less about 1/3 of what they are in the West. As for staffing, companies that do offshoring like to have a good number of developers offshore and a few senior developers onshore to check their work and guide the solution’s architecture. Also, it’s common to keep Product Management, QA, UI/UX design, and Release Management mostly onshore. For more information on building a team, read my article on How to Build a Mobile App Development Team. I would say that a good reason for going offshore is because someone you know and trust has referred you to a team that they say is outstanding and develops apps that are similar to what you want (and for the same platform, iOS or Android). The old rule still applies, it’s not what you know, it’s who you know, and this also applies to hiring a good development team. If you can get this recommended team and keep them, I would say this is a good bet.
On the negative side of offshoring, someone at your company is going to have to put in some early morning or late night hours to meet on the development team’s schedule. We work with teams wherein sales folks work Western hours, while their offshore developers don’t (they’re in hot demand, so why should they? Plus, they are often in time zones displaced by 8 or more hours). The result is that some poor soul in your company needs to work off-hours. It usually should not be a junior person on the team because the issues are frequently too complex for a junior person to handle. The danger is that your employee is not going to like this, and they’re going to leave as the economy improves and a better job comes along. As for me, I’m frequently already working most hours (I’m an entrepreneur), and you can really accelerate a project by being available 24/7. When the development team gets stuck with an issue, they need it resolved before they can proceed. If you’re not available, you can lose some or most of a work day every time this happens. This can lead to missed timelines and budget overruns.
Another big drawback of offshoring is that unless your company is careful in its hiring, the money saved by going offshore can be more than offset by the time your local resources spend doing what I like to call “babysitting.” For more information see my article, Tale of a Costly Offshore Mobile App Development Experience. You send the offshore developers your requirements documents and share it over Skype to make sure they’ve understood. Some time later, you get the “first draft” back and you find that half of the requirements are missing because they have either misunderstood or haven’t read the document very closely. It will take a while for your local resources to go through and find all the issues and bugs, document them, and communicate everything back to the development team. This can turn a three-month project into a nine-month project. Keep in mind also, that your most talented in-house developers are going to want to blaze their own trail and not spend too much time supporting offshore work. Unfortunately, unless you’re good at offshoring, this is the typical experience – it’s subpar. You needed to do better screening, but now you’re learning. You need to let this development team go and look for a better one, or consider onshoring instead.
On the one hand, if you do it right and get a little lucky, you can come out ahead by offshoring. Otherwise, if you keep track of the hours used for babysitting, and multiply this by your local fully burdened headcount cost, you’ll frequently find that it would have been much cheaper to do it locally, and it would have saved you and your company a big headache. If you’re still interested (or curious) read my article on the 5 Things To Look for in Offshore Developers.