Rawpixel - Fotolia

Manage Learn to apply best practices and optimize your operations.

Can't hire? Find best strategies for outsourcing developers

Software developers are in very short supply, but outsourcing can be tricky. Find out what experts suggest to make outsourcing a success at your company.

Often seen as the last resort for desperate employers, outsourcing has re-entered the mainstream thanks to the worldwide shortage of software developers.

It's not something everyone is happy with. "When there are not enough good software engineers to go around, you have to compromise," explained Daniel Theobald, CTO of medical robotics maker Vecna Inc., in Cambridge, Mass. "Outsourcing [software developers] is really a mixed bag," he said. "The right group can get a lot done," but the specialized work Vecna is engaged in "doesn't lend itself well to throwing something over the wall to an outsourcing firm."

That's consistently the biggest complaint about outsourcing developers, said Taso Du Val, co-founder and CEO of San Francisco-based outsourcing firm Toptal. Companies want talented developers who are part of one big team, but it can be tricky to find that balance when outsourcing. "Outsourcing can, in general, be a terrible experience," Du Val explained. "Where outsourcing always comes up short is the relationship, because you want it to be like an employee. And generally, an employee -- especially of a tech company -- is going to kill themselves to make you happy. That's not always true when you outsource."

So, how can employers make outsourcing developers work? Here's good advice from those in the trenches.

Ask a lot of questions. Despite a shortage of developers, there is certainly no shortage of outsourcing firms -- particularly in Eastern Europe, where the competition is fierce, said Irina Kovalyova, marketing officer for Ukraine-based outsourcing company Redwerk. So, the onus has to be on the customer to ask a lot of questions. She suggests asking for specifics about deadline performance, quality ratings and customer recommendations. "What can make the process really difficult is if the deadlines are missed and the quality is bad," she said. "You want to find other companies they've worked with and ask questions."

Match the outsourcing to the specific need. Most companies can't afford to have development experts in every single language, and that’s why it can make sense to outsource those either esoteric or fast-changing skills, suggested Jeffrey Hammond, vice president and principal analyst for application development and delivery at Forrester Research Inc., in Cambridge, Mass. "Java skills are changing every few months, so it can be a lot easier to outsource that skill," he said. The caveat, of course, is finding an outsourcing firm with that particular developer available and affordable.

Java skills are changing every few months, so it can be a lot easier to outsource that skill.
Jeffrey Hammondvice president and principal analyst for application development and delivery, Forrester Research

The closer to home, the better. Companies in the U.K. reach out to "nearsourcing" shops all throughout Europe to fill short, medium and even long-term needs, said Bhavin Joshi, associate director of London-based headhunting firm Harvey Nash. It simplifies the idea of outsourcing because everyone isn't too far apart, either time-wise or language-wise. "With a lot of these companies, English is the second language, everyone can handle the time zone issues and you can get people working for you who hit the ground running immediately," Joshi said.

Or, maybe just accept the inevitable. It's a distributed world, so you'd better just accept that now and see it for the advantage it is, Du Val advised. "If you're set up to be distributed, you're going to be able to allow a distributed workforce to work with you," he explained. And that bodes well for working with outsourced team members. His pet peeve: "Let's just jot a lot of stuff on sticky notes and put them on our idea wall. The guy in Russia can't see that. That's a way to set yourself up for permanent failure." Instead, he suggested getting comfortable with online collaboration tools as soon as possible. "It doesn't matter how good a person is if he isn't in the room."

Transparency goes both ways. Transparency gets a lot of lip service, but it's challenging to actually accomplish, Kovalyova said. "We try to have a transparent process, where everyone can see what everyone is doing," she said. Meanwhile, Du Val said it starts with true understanding. Toptal has extensive conversations with clients before any projects start, and afterwards, check-ins occur on a weekly basis and continue periodically for up to six months after the project ends.

"We try to understand both what the client would want in an employee and match that to one of our developers who has the same philosophy," he said. His advice: Spend as much time as possible with a potential outsourcing company explaining your company's mission, values, work ethic and excitement level -- and then see if the outsourcer can come up with candidates who are a good match. If there's no match, don't despair. There are a lot of other outsourcing companies in the market today.

Next Steps

Learn how to negotiate an outsourcing contract

Where is IT outsourcing headed?

Can education help fill the developer gap?

Onboarding process boosts efficiency for one microservice engineer

Dig Deeper on Topics Archive

Join the conversation


Send me notifications when other members comment.

Please create a username to comment.

What's the biggest challenge when outsourcing developers -- language, time zone or lack of face time?
From my experience working as an outsourced tester/SDET, language or time zones are rarely an issue. The biggest problems for me have been lack of good communication and not understanding the actual business needs and values to the client. Not getting enough face time is a contributing factor to that.

The advice given in the article - "Spend as much time as possible with a potential outsourcing company explaining your company's mission, values, work ethic and excitement level" - is definitely a good idea and can go a long way in improving the experience for everyone involved. Working with outsourced personnel is really the same as working with a distributed team - the outsourced people should be treated as part of the team after all. Just be prepared that it will take a longer time for a distributed team to gel.
Our biggest problem is that outsourced talent has little interest in my company or my company's values. They don't know or understand my clients' needs. Though they may nod sagely wen they're told, in the end they have little incentive to turn in their best work. In fact, as hourly contractors, slow (but not too slow) and good (but not great) work can be to their advantage. 
Then it must be time for businesses to invest in training developers. Developing developers if you prefer. Why not build a home grown industry instead of choosing the easy (read "cheaper") way out of our problems? Outsourcing may be in vogue at the moment, its short term profits are a lousy way to grow a business. It ultimately leads to offices devoid of the very people trying to earn enough to buy your product.