Here's a rather pessimistic view of the prospects for software engineers/programmers in America over the next decade or so. I personally don't buy it.
In their latest Occupational Outlook Handbook, the US Bureau of Labor Statistics says that employment of software engineers and system analysts is expected to increase 'much faster than the average' through 2014 (here, and here). In contrast, employment of programmers is expected to increase 'more slowly than the average,' with outsourcing given as one of the major reasons why (http://www.bls.gov/oco/ocos110.htm#outlook). However, from the stories I read from American programmers on the Net, the profession is lost. Is the government wrong, or lying, then, when it implies that software engineers and system analysts can expect to have a good future? As an American, am I a fool if I decide to undertake this for a living?
Maybe I'm naive, but everyone I talk to seems to agree that outsourcing software appeared more promising than it actually was. Outsourcing to another country can be useful in some circumstances, but neither India nor China is a bottomless pit of brilliant engineers. Their costs are rising, and their available talent pools are drying up.
What's more, as these countries get wealthier they'll begin to consume more of the products that engineers create. Demand might be trailing behind supply at the moment, but the percentage of potential engineers is no higher in India or China than in America -- and it's probably much lower due to nutrition, education, disease, and poverty. The potential consumers of engineering products, however, are vast.
Finally, engineering products tend to increase quality-of-life in a scalable way. Life will get both better and cheaper... and eventually we humans will earn very little money and need even less because robots will do all the work!