No, outsourcing is not the answer. It was *an* answer for companies looking at cost containment, but after some point it is self-defeating. you pay for the outsourced team, and you pay locally to manage it. I've been working with overseas teams for 10 years now, and it is a double-edged sword. but the fact that there are skilled, able, and educated people willing to do a job for less is a fundamental thing. Creating walls wont make it go away, in fact, it will harm US company competitiveness and make the situation worse.
The answer to the question 'how to keep jobs at home' is to advance and improve productivity AT HOME. This is the way it always was, and this is the only answer that can have us stay ahead of the curve. I am shocked that in this tit-for-tat debate we havent paid more attention to that simple fact! It is neglected that *even if* India programmers are 1/4 the cost, if there is a quality differential of even 20%, you go with the higher quality place. Or that SW productivity is well known to vary by a factor of 10X from person to person. This is true in general for knowledge-type professions. a great R&D person is more useful at $100k than 10 mediocrities at $10k each.
In the end, a global economy will end up investing where you can get the best return on investment and highest quality for lowest cost. Some of these 'outsourcing' places do have low cost, but we also give up sources of innovation and flexibility. THAT is where team USA can win - by being more flexible, resourceful and capable, and 'ahead of the curve'. India IT is capable, but is like the mainframes of old, big, cumbersome, long duty cycle, bureaucratic.
YOu can outcompete with the right strategies.
All I hear (from some of my Libertarian Friends) is that I should prepare myself for finding another career; give thanks for the current ride but don't go down kicking and screaming. That's not "libertarian" or anything except defeatist! We should not give up. Part of that is "if you cant beat em, join em" meaning add 1 million US SW professionals to 3 million India SW professionals and you have a great combination for mixing local and remote support and R&D. So for example, one solution is aiming towards that which needs to be done here - coordination, local customization, reqts gathering, prototyping type development, etc. Let India IT do the productization and maintenance-type support. not zero-sum but win/win.
Is the expectation going forward that Americans will have to find another career every ten years or so. Is that possible for the average person? It is reasonable to think that what you did 10 years ago is not good enough for today, given the advance in productivity. If you could program at a rate that produced an application in a month, now it should take a week. Frankly, we do not do ENOUGH in the software inductry of going further with productivity enhancements. My team is using C++, great, but there must be a way to do even better, this is where we were in 1996.