Unfortunately the CIO and the upper management only looked at the General Ledger to make sure the company making money. My old company outsourced to India. In the beginning, they made a BIG promise that they would not layoff anyone, they just let the Indian counterpart to do the programming job and the US programmers would do the design, analysis and more important works. A year later, half the developers got layoff, not just programming, but also included PC support, networking and data base administration. The one who left behind said the company was a mess. If anything went wrong, they blamed the US people, they never blamed the Indian company. That's the most unfair part. Also the turnover rate of the Indian counter was up to the top because there were so many companies in India looking for programmers, people just jumping from job to job to get the high salary. I wish I can do that especially now I am looking for a job.
Another big problem, nowadays less and less students are interested in majoring in computer science. Most of my friends at work discourage their kids to major in computer science.