Today I’m going to wrap up this series on the “best” countries for offshore software development by giving you my list of top countries. Yep, I’ve given you a lot of detail on how to arrive at your own short list of countries, but today I’m finally going to just give you my list!
I started this series by looking at Gartner’s top 30 list of countries for offshore services. We looked at the criteria Gartner used to come up with the list, critiqued those criteria, and modified the criteria to ensure they were useful for evaluating countries for software development, as opposed to more generalized offshore services, which might include help desk support, or Business Process Outsourcing (BPO) tasks. OK, so if we apply my criteria, what is the list of countries we might come up with—the “best” ones for software development? We could do this at a granular level, by assigning each country scores on a scale from 1 to 5, as Gartner does, and weighting these factors to come up with total scores for each country. I think it’s worth doing as part of your analysis since it forces you to think through all of the criteria, and their importance to you. For our purposes today, though, it’s simpler and quicker to start with Gartner’s list, and just knock off several countries that don’t fit my criteria: cost, labor pool, educational system, language and cultural compatibility, proximity to your business, political and economic environment and global and legal maturity (I combined a couple of Gartner’s criteria, here).
Most of the countries on Gartner’s list just don’t have a critical mass of strong development talent. I’m sure you still could make a go of it in many of these places (e.g., I know someone who does a fair amount of work in Sri Lanka, so I know for a fact you can make it work there, but I’m don’t think it quite makes my list of “top” countries). So I’m going to knock out Costa Rica, Panama, Peru, Bangladesh, Indonesia, Malaysia, Philippines, Sri Lanka, Thailand, Vietnam, Czech Republic, Egypt, Hungary, Mauritius, Morocco, Poland, Slovakia, South Africa, and Turkey (for more detail on the Eastern European countries—you might wonder why I knocked out Poland, for instance–look at this analysis to see why some countries don’t quite make my list). Chile is a bit small compared to the others (the population is only about 16 million), and it seems that the talent pool there is a bit thin (if you talk to offshore development firms in Chile, they tend to be smaller than in other major offshoring destinations, and sometimes Chilean firms might outsource some of your work to, say, an Argentine firm because they tend to have more resources than a Chilean firm). However, I think you could be successful in Chile if you’re not trying to build a very large team. So I’ll leave Chile on the list, especially since it has some other good qualities such as stability, a good political and legal environment, and a good cultural fit with North American or Western European businesses.
Some of the countries are getting expensive—Russia is an example—so I’m going to knock them off the list too. And the business environment in Russia is discouraging to most Western business-people, so I’ll also knock them off the list for that reason–most Western businesses just don’t want to invest there unless they are involved with oil and gas. Brazil is also getting more expensive. Sao Paulo recently made a top ten list of most expensive cities to do business. They’ve found offshore oil, and as one of the BRIC countries, large companies feel they need to have a presence in Brazil, so those factors are heating up the market for the rest of us. I’m tempted to leave Brazil off the list for this reason, but if cost is not your primary driver, or you have other good reasons to be in Brazil (e.g., you are targeting the Brazilian market with your products) maybe you should consider it.
I feel that Mexico should be an interesting alternative for US and Canadian firms, but it’s hard to make a case that it’s among the best places in the world to do business these days, due to the drumbeat of crime stories we hear from Mexico each week. So I’m knocking Mexico off the list. Colombia is an interesting one. I haven’t been there, myself, but I keep hearing good things about the talent pool there. And there is a good-sized population there (46 million). I just spoke to an old friend of mine who lives in Colombia, and while he likes some aspects of the place, he didn’t rave about the business culture and the ease of doing business there. Apparently Colombia is much safer than it used to be, but like Mexico, it might be hard to make a case to your board of directors that you’ve found the perfect place for a foreign investment, and it’s called…. Colombia?!?!? So I’m going to leave it off my list, but it might be worth considering if you are aggressive and want to get in early on a place that’s on the upswing, or if you have some special insight into the country (which I don’t have).
So if we knock those countries off of Gartner’s list, our list looks something like this.
- Americas: Argentina, Brazil, Chile, Colombia, Costa Rica, Mexico, Panama and Peru.
- Asia/Pacific: Bangladesh, China, India, Indonesia, Malaysia, the Philippines, Sri Lanka, Thailand and Vietnam.
- Europe, the Middle East and Africa (EMEA): Bulgaria, the Czech Republic, Egypt, Hungary, Mauritius, Morocco, Poland, Romania, Russia, Slovakia, South Africa, Turkey and Ukraine.
In Asia, I’m left with the two giants, India and China. The talent in these countries is undeniable, and they scale well—you can find people in quantity, and the costs are reasonable. The language skills in China are better than they used to be, but based on my visit there a little over a year ago I’d still rate them as “poor”. You might arguably rank India and China below the countries in Eastern Europe or South America in terms of cultural compatibility (it’s a subjective criteria, so you can judge for yourself) and proximity to your business, and these days there is a lot of interest in “nearshoring”—offshoring a bit closer to home or in time-zones that are closer to your own in order to improve collaboration. But India is still the global leader in offshoring and will continue to be for some time in the future.
I’m going to add Belarus to the list. Gartner doesn’t consider them one of their top 30 countries for offshore services, but if we’re talking about software development, in particular, I think it makes the list. As I showed in my prior analysis of Eastern European countries, it’s a place with a good population of strong developers and a relatively small internal IT market, so they are very export oriented when it comes to software development. On the other hand, the politics there are a real worry and it’s not a place to go if you don’t have some risk tolerance.
So the revised list might look something like this:
- Americas: Argentina, Brazil, Chile
- Asia/Pacific: China, India
- Europe, the Middle East and Africa (EMEA): Belarus, Romania, Ukraine
These countries fit my criteria—they have populations that are large enough to have a “deep” talent pool (with the possible exception of Chile), with education systems that are good enough to produce software developers in sufficient quantities, the business risks are manageable (although they vary pretty widely), and the costs are reasonable vs. the US and Canada, and Western Europe. If you’re looking for a “wild card”, you might also consider Colombia, or perhaps Bulgaria, where there is a small population, but a decent number of developers relative to that population. I’m probably going to get some complaints from some of you that I left your favorite country off the list. By no means am I saying that you can’t do development in countries such Vietnam or the Philippines, particularly if you only need a small team (e.g., 2-12 people). But if you want to do software development at scale (i.e., 12-100 developers), I think you’d be better off in the countries that I’ve listed.
Not sure if I agree completely with your analysis. I’m CEO of http://www.Staff.com which is a company focussed on hiring offshore developers and other outsourced talent. Also I have been outsourcing software development projects for over 8 years in more than 12 different countries.
India – yes great because of the depth of talent, but also difficult to find the most talented people. You can easily interview 100 people and find only 2 with significant talent (if you are hiring remotely). Also there are some cultural issues for example developers can say “yes I can do that” but actually have no idea how to complete the job. India has probably the most talented developers, but you have to have a good recruiting methodology to get hold of them and hire them. And you need to be aware of the cultural issues.
Russia, Ukraine, Belarus – Great if you are looking for a higher level of technical talent. Less cultural issues than India
Philippines – in my opinion the best combination of talent, price and English ability, although competition for talented developers is increasing. Not as good as the former soviet union countries for very technical roles
China – not a good option at all. Difficult to find people with a great level of english and low level of loyalty.
Thanks, Rob. I think in all of this it depends on who you are and what you are trying to accomplish. That perspective will color which of these countries is “best” for you. There are multinationals doing software and other R&D work in China these days, and actually they’ve been at it for many years. There are also a few large software outsourcing shops there, but the Chinese are still way behind India in terms of scale. It’s definitely a challenge there…I agree with you re. the English, which is still pretty bad, based on a project I did there last year. Anyway, despite all that, those companies did the due diligence and found that China was viable for some pretty large-scale software/R&D work. Of course they probably did it, at least in part, for access to the Chinese market. But my point is that for companies who are making a large, strategic investment in a new software development center, China’s a viable option, although I wouldn’t recommend it if you want to start up a team of 5 software developers, though. It’s interesting that you’ve found the Philippines to be a good spot. I don’t have direct experience working there, although I’ve visited there. When I think about countries that have contributed many great software engineers to the US (and Canada), I come up with India, the former Soviet Union countries, and yes…China. The Philippines doesn’t really hit my radar on that count. But it wouldn’t surprise me if you could find enough good people to build a small team there.
Regarding Colombia, I have been involved in setting up a small (< 20 people) in-house offshore software factory for the development of GUI and VoIP components as well as QA, starting in 2009. Our parent company is located in the States and is a leader in cloud-based services. Before that I ran a VoIP software development business in Mexico for 7 years.
I wholeheartedly recommend offshoring in Colombia vs. Mexico or India for the following reasons: 1) same time zone as the Central US, invaluable for Agile development 2) talented graduates from the best universities are on par with developers from Europe or the US 3) Colombians are eager and motivated, the same cannot be said for a significant percentage of the Mexicans 4) avg. fully loaded cost of $30 per hour for a developer with 1-3 year experience (office and other misc. costs not included) 5) a "can-do", fairly proactive, attitude that lessens the need for documenting absolutely everything, as is the case with many firms in India 6) Java and most standard software languages and open source tools are well understood (even exotic technologies like Java SIP servlets made inroads into some universities).
As an added bonus, international companies are yet to discover Colombia and one can maintain contractor churn to a manageable level (for now). Bogota and Medellin are large cities with all the infrastructure you can dream of (well, no Google fiber to the desktop yet) and safety problems are confined to neighborhoods where no half-intelligent foreigner will ever visit (you wouldn't visit the slums of Delhi, would you?). The government is desperate to attract IT companies and will roll the red carpet for you – point in case the stunning modern Ruta N building at the heart of Medellin with cheap floor space reserved for high tech companies.
Your only risk is that the visiting staff from the US or Europe will like it so much here that they will do their utmost to stay longer – Colombians are friendly, the weather is perfect in Medellin and there's a wonderful feeling of revival and optimism that's all but disappeared from many parts of the so-called developed world. Yes, Colombia is not an offshoring destination for everyone but it should definitely be on the radar of any firm considering Latin America for offshore development.
I honestly do not think that Argentina, Brazil and Chile are the only Latin American countries that are in the list of “Best Countries for Offshore Sofware Development”.
We are DREAMUP a Bolivian company that provides the outsourcing service of human resource specializing in Web Development. http://www.dreamupcorp.com/
We have five years of experience working with foreign companies, especially American and Australian, to whom we developed websites for its main customers, multinational corporations. We have created a bond of partnership with these companies, trusting in us for their ostensible projects relying on technological capabilities and accessibility of our HR.
Bolivia has a favorable business atmosphere due to share similar culture to the U.S and many countries in Europe. Advantage that makes our business more competitive comparing to firms established in China, India, Turkia, Pakistan, or Eastern Europe in terms of connectivity and response time.
Our salary range is affordable, compared to many neighboring countries, for skilled IT professionals, where English language has become part of their training and experience.
Bolivia shares almost the same time zone with many cities in USA, looking more attractive at the time of contact. Our team is fully accessible and available to be in touch at the same time and schedule of our clients.
In Bolivia we have senior professionals that compared to other countries, including boundary ones, are more flexible in executing any extra work, more productive, less mercantilist and more committed to the job and the company.
As such, there are more reasons to consider Bolivia in the list and be able to work with different companies as “Technology Partners”.
This is an interesting article, where most of large scale recruitment of talent is based on the population size, but there are a few sweet spots when you consider some smaller nations that are close to the latin America region, Barbados for example is often not seen because of its population, close to 300,000, but I love here and have a software company http://www.ManageWyse.com , I have used the services of shore software developers which includes India, US, Pakistan, for mainly for website development. But in relation to hardware and database systems I have have came across few developers who were up to the task at a competitive rate.
Barbados is one of the countries that have introduce free Education to to university level from the 60’s, “free”, many student are capable of undertaking huge tasks at some of the best rates, I know this because our core software development was done by the local young programmers from college to university level, lot migrate to the US and land high paying I.T jobs in the US also.
English is our first and only language and we are on the same time zone as the US for the most part. If you are looking for teams in excess of 15+ skills programmers you can find them here and you will be impress.
Barbados citizens are known to be honest when compared to countries, don’t be fooled by the large marketing campaigns featuring Barbados as a tourism only destination, its I.T and telecommunication infrastructure is one of the best in the Whole.
Our only draw back is our high energy cost, this can sometimes be an up hill for very large operations.
The list mentioned above seem to point in the right direction however, but size of a country does not only matter, I have sent bid to some indian based IT companies for programming work, but they are very few , I was lucky to find one over 6 years ago that is great with there work I need from time to time, he is like a friend to me now actually.
Barbados has other offshore business entities out of Canada and the US ( Offshore Banking, Data-processing, call centers ) and should be consider as an option, heck if you need a few jobs out sourced, drop me a line email@example.com
Thanks Julian. I confess I don’t know much about development in Barbados, but hopefully I can visit one day and learn more 🙂 But I agree…I’m not trying to say that the only places to do development are larger countries. However if you want to build a large team and need some depth of resources, it helps. Also, I imagine that in smaller countries, you might not find all the skills you need off the shelf. e.g., it’s hard to find someone who is an expert with Python, for instance. So if you’re in a smaller country, you might need to be willing to train people or give them more time to ramp up, in such cases.
Fully agreed with the Author that Belarus shall be listed amongst the top offshore destinations. Apart from demographics, education and location the main advantage is that major local players started off-shore businesses back in early 90s, when India did no more than 400M per year and no one even heard about Colombian or Chinese programmers, Ukrainian developers were mostly involved in porno and online gambling, and offshore development practice was a sort of innovation itself. So, for two decades software development industry has been developed and refined and now only Minsk (capital) hosts ca. 15000 IT specialists…
Just my two cents…
Just my two cents