The world is a complicated, ever-changing place. This is never truer than it is for the world of outsourcing. There are always new ‘centers of excellence’ popping up, places where you can supposedly find the ‘world’s best Java developers,’ the ‘kings of .NET’ or the ‘heroes of iOS.’ Let me tell you…
You Can Find Good Developers Everywhere And You’re About To Discover The Top, Most Sensible And Stable Options
If you’re looking for a low-cost option, you can’t do much better than China. You should however be aware of a few major challenges common to doing business there:
- Although there is a massive and ever-growing pool of well-trained engineers, it is difficult to find reliable English-speaking teams to work with.
- There is a distinct lack of technical and business management experience among many Chinese developers; so your efforts will be most effective if you’re prepared to micromanage the project yourself.
- There is a well-reported level of political corruption that should be taken seriously.
You are much more likely to be successful outsourcing to China if you can get a personal introduction to a reputable vendor.
If you’re looking for skilled professionals who can carry out complicated programming projects, then Russia MIGHT be the right place for you. Here are the main things you need to consider:
- Although Russian workers have a high degree of fluency in written English, they often have heavy accents when speaking it, which can make communication difficult.
- For the most part, there is a very awkward time difference between Russia and the US. The one exception is the Novosibirsk region, which is only a half hour different from India.
- Russia is lacking laws to protect intellectual property, so make sure not to outsource anything with a high level of proprietary or “market-differentiating” stuff.
- Russia is much better for complicated, mathematics-heavy projects. Simpler projects can be significantly cheaper and just as effective elsewhere.
If you’re happy with minimal cost-savings and you want somewhere culturally similar to work with and easy to travel to, then Canada may be right for you. You should seriously consider Canada as an option if:
- You’re highly motivated to visit your outsourced team in person for some reason.
- You’re prepared to setup a foreign subsidiary of your company in Canada in order to qualify for their generous tax breaks (this is likely the ONLY way outsourcing there will cut costs).
- You really don’t want to have to deal with a language barrier.
- You refuse to deal with a time-zone difference.
If you’re looking for a large pool of mildly skilled, English-speaking programmers then you could consider the Philippines. In particular you’ll consider outsourcing there if:
- You’re highly motivated by rock-bottom prices.
- You’re prepared to manage the project yourself since there is a lack of project management experience in Philippines.
- You can deal with the 12-hour time difference; the Philippines are in the same time zone as China.
- Your project is relatively straight forward, with well-defined specifications. More complicated or innovation-heavy projects may not be a good fit with the relaxed and carefree culture.
If you’re looking for very cheap prices and your project can easily be defined in written form, then Vietnam may be for you. Some things to consider:
- Vietnamese engineers are usually highly skilled and well versed in professional software development and formal methods.
- Language can be a barrier if you need to communicate through speech. You’ll be much more successful if you either speak Vietnamese or rely on text-based communication.
- As in China, IP laws are still in their infancy and illegal copying or theft of software is common.
If you’re looking for standard business software development and/or bilingual support (English + Spanish) for your project, then it’s worth considering Mexico:
- In projects that require close collaboration between your internal and outsourced teams, outsourcing to Mexico makes this easier. Trade agreements and geographical proximity mean Mexican engineers can and often will stay in the US for extended periods of time when a project requires it.
- Language CAN be a barrier although most engineers do speak English.
- Non-standard, innovation-heavy or scientific projects are NOT suited to Mexico because the skills simply aren’t there.
If you think of India as the capital of outsourcing then you’d be right. It is by far the most popular option and largely, for good reason. Here is the naked truth about outsourcing in India:
- The India government and culture invests heavily in education so there is a large, steady stream of skilled engineers (100,000 IT graduates per year).
- All Indian software engineers speak English. Some may have accents but nothing you won’t adjust to, and their written English is generally very good.
- The prices are some of the most competitive available, certainly considering the skill level of the workforce.
- There is a broad range of experience and expertise available among the workforce so as long as your project is not heavily scientific or complex. India has you more than covered in terms of skills.
- There are well-entrenched IP and contract laws to protect your software from copying or theft.
The popularity of outsourcing in India means that despite the large pool of talent there are too many jobs and not enough engineers to fill them. As a result, many vendors have trouble with employee attrition and rapidly inflating wages. When choosing a vendor, make sure they provide a good enough deal to keep engineers for the long-term (or at least the duration of your project). The upside is: the competition means good vendors are generally VERY competent and professional.
The 12-13 hour time difference can be both a blessing and a curse. If you need to be in constant touch and dislike early morning phone calls, it can suck. On the other hand, if you like to run a 24-hour development cycle or your Indian team works independently, it can be pretty much perfect.
At Dedicated Developers, you could say we are slightly biased because our workforce is based in India. However, you’d be mistaken if you think I’m going suggest outsourcing there is right for everyone because it isn’t.
There are a number of challenges with outsourcing to India and since it’s our mission to try to negate them for our customers, we’re more aware of them than most.
The huge demand for developers means you can find yourself stuck with anything from a “software sweat shop,” where talented developers are so poorly paid they swap jobs at first sight of greener pastures, to solo developers who lack the skills or discipline to come through for you and who work out of a basement.
Our solution (one of many around, but it works) is to hire only the best developers and provide them with a working environment that is second to none so we can provide our clients with access to world-class development skills without the hassle of freelancers or cost and responsibility of in-house staff.