One thing I'd like to add on the whole 'outsourcing' issue is that unfortunately it seems to have become the holy grail for many companies - getting highly skilled Asians to do all the 'IT stuff' at a fraction of the cost. The problem is that the people taking these decisions tend to have an extremely limited understanding of what various IT resources and departments actually do.
I have quite a varied experience with outsourcing: At my previous employer, the parent company took the decision to axe our entire IT staff. This included: ALL Developers, Operations, Project Managers, Business Analysts, Testers, Admin and Desktop Support. In one grand sweep they wanted to clear out the entire IT infrastructure of a company who's entire business model revolves around Information, and drop it down in India in less than 12 months. Over time they came to realise that this actually wasn't such a great idea and the redundancies were scaled back until none actually happened - by which time it was too late, many people had either moved on or pocketed retention payments.
On the other hand, my current employer utilises resource in Pakistan for Testing, R&D System Support and technical authoring. It actually works quite well considering and is probably worth the cost saving. More stuff is also getting moved to our South African offices.
So I think outsourcing is actually not that bad when it is thought out properly and done in consultation with people who have a good knowledge of what areas are affected. The danger comes with 'bods in suits' who just look at the figures without actually understanding what people do or how much work is involved decide to pull the trigger.