If you have a family to take care of and you just lost your job to outsourcing, you just need to follow a few simple steps:
* Don't be prejudiced.
* Beat out hundreds of other programmers for a management job or start your own business.
* Be eager about... something.
* Read an economics textbook.
* Dream about traveling the world without having to work much.
* Help someone do... something. The Wealthy Programmer says greed is bad.
"I become a wealthy programmer, and you can too!".... Yet his 2nd blog post is labeled "How to get promoted to Management" where he basically suggests to start sucking up to your immediate boss.
WTF? Who upmodded this junk?
Or, if you feel you need 50 Java programmers for a single project, you suck anyway, with or without outsourcing.
I'd much rather work on interesting and creative projects. I don't think outsourcing lends itself well to these types of problems, though that may change in the future.
From a startup point of view I think outsourcing the development of your core product is very dangerous. You need to be in constant touch with your product and have a direct feedback loop during development. That can be very hard if you outsource.
Setting up a remote team and building up a good relationship with them can be very fruitful however. We've done it too and we consider those people first class colleagues. It does take a lot of effort; lots of Skype calls and visits. But it works very well.
S.