I don't like the way companys in North America are moving everything off shore now, but I don't believe it's as bad as people are making it out to be. I have been working as a professional geek for a few years now, programming, fixing, sysadmining, etc. Some of the big software companys are closing down thousands of jobs to go overseas, but there are still a lot of jobs available. A good portion of the unemployed are either looking too high for a salary after the dot bomb, or they don't know where to look. In certain areas, sure the market is flooded, but there are thousands of small companys that don't know how badly the need our assistance.
I don't develope a lot of software from scratch. Most of my work is company specific, such as pulling info from a database into a report in excel, or developing scripts that will read the excel file into the database, and developing websites that will interact with that database. This kind of work requires too much communication to make it realistic for me to work from home most of the time, let alone have someone on another continent try to do it instead.
If the major software packages are being developed in India, they will need more of us testing because of cultural and language differences. This also puts more money in the hands of the people in the developing countries, and they will buy more western technology, which means they will need more training in western technology, which creates jobs in education.
As the economy swings around, changes need to be made. One change is not final, it will act as a catalyst, and bring about more changes. The number of students entering the IT field has droped in the last couple years, and as the previous generation starts retiring, the flood of engineers will decline, and the new generation will be able to spread through the market. Everything works in cycles, and sometimes things have to get worse before they can get better.