Rawpixel - Fotolia
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.
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.
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