I've been in the software industry for 20 years, the last 11 being an independent software developer. The last 3 years have been tough for software developers, but I was more busy than ever plus I am way more expensive than what the unemployed developers would work for.
Why? Well, I know I'm damn good at what I do

, but seriously, there is a lot more to software development than having some geek in the corner cranking out code.
The key is offering value-added services to basic programming services, such as consulting. The clients I deal with look for me for answers. They want to see me face to face and pour out their woes. They want me to help them make their work flow more efficient. So I hold their hand, I design something for them, I develop it, I install it, I train them, I visit them, I send them Christmas cards, I tell them Happy Birthday. I become the same to their business as their accountant, or attorney. I have their business for years.
Now, how can somebody working in China, or India, even come CLOSE to service such as this? They can't and never will. They may have the technical skills, but that is far short of what a complete software developer should do. They are just coders.
Internet meetings were the rage for a while, but people are going back to traveling for face to face meetings. Similarly, sending programming work overseas is the rage right now, but what happens when they finally install the system and it's blowing up all over the place half the world away? The users are cursing under their breath because they are trying to describe to somebody who barely speaks English how to reproduce a bug on the phone.
I don't know, I just don't think the US software market is dead. I see a backlash coming down the pike. I hope, for our sake, I'm not wrong.