Many managers ask about outsourcing and there seems to be a fundamental tension: Why should we outsource when so many people in the US are looking for work? If you have ever tried to post a position only to find that the position is difficult or nearly impossible to fill on a local basis, you have started to answer the question as to why companies outsource.
It is a fact that India and China each graduate nearly 8 times as many engineers per year as the US (75K in the US versus 500K in India for example). To compound this effect is the fact that many of our engineering graduates choose not to pursue a career in engineering hence making the supply only that much smaller. I have personally posted positions in software development in Chicago only to find them unfilled for many, many months and in some cases years. Though I am not an economist, we are fortunate to have Nobel prize winning economists here at NU that have developed some explanations for this effect:
In essence, you can overcome these spot shortages of talent, that are based in both geography and timing, by pursuing the path of outsourcing. It is essentially a yield game, where you need hundreds of resumes to fill a series of openings depending on the yield at each step of the process. This is difficult to achieve if you narrow your search to a narrow/low volume geography. Being able to source the best candidates from the world is the basic reason for outsourcing, not so much the mythology of reduced costs since the cost, in the end may be not much cheaper when inefficiencies of long distance coordination are taken into account.