I don't believe at all that North America or Europe have a monopoly on talent, so why are North American and European businesses slow to hire from India, China, and the Philippines?
I think a lot of it has to do with communication, not skill. I do almost all of my work for Americans, and I'm not in the US. We both speak english, and even though we spell words differently (like colour versus color), when they give me expectations I inherently understand them. When they give me feedback I understand not only what to change, but how to interpret the way the feedback has been given as well.
I may be able to do this for Canada and the US, but I have found in my own experience that there are English-speakers globally with whom I can't communicate effectively. Though we may spell words the same, all of the social expectations, and the method of communication create a lot more questions than answers. It's not that we can't collaborate, it's just that sometimes bridging that gap in communication is effortless, sometimes it takes a little effort, and other times the effort to bridge the communication gap is more strenuous than the labour you're trying to work on.
Personally, I've tried hiring people from India before. I appreciate their talent, education, and knowledge, but after working with a few I have had to return to working with North Americans simply because when I speak to a North American they hear what I'm really saying.
I do see the talent outside my part of the English-speaking world, and when we find a better way to bridge those cross-cultural barriers to communication the job market is going to be full of amazing opportunities and workers. I'm really looking forward to the international, intercultural, maybe even someday interlingual workforce as we build a more connected world.
as @emilmoe mentioned. And availability is a key, I know a lot of companies who tried to outsource to asia and all failed for various reasons.
What I found is that most companies want you to be in a close proximity so they can reach you. There are law issues as well, short iteration cycles and so on and you wanna keep your core value in your company. Outsourcing means you share knowledge that's something companies don't like to much either.
That's been said I work for a company who actually wants to outsource some of my tasks to whoever wants less :) lets see how it goes gg I'm quite curious.
From my experience it's a question of how contracting work is in general (not specific to a country or culture, though some seem worse than others). When something is developed in-house, there are incentives to do the job efficiently and well. When something is done by a contractor, the only incentive is to fulfill the contract to the letter, do no extra work, and lengthen time estimates. Any gap in specifications is met with a shrug. There is often little care for the quality of the work.
There are also legal considerations with hiring people from other countries.
Emil Moe
Senior Data Engineer
Experiences has shown that asian programmers not often understand western companies business needs, and sadly the quality is not always good.
This does not apply to everyone but as far as I have been told, India has "mass produced programmers".
Language barrier is a problem too.