>>Why not save money and outsource?
To be frank, I tried this for C++, and found that 'engineers' in India sucked and the competent ones cost almost the same as in the USA (70k/80k).
On the flip side I was able to find a really cheap graphics/publishing workflow (they clean MS word documents) but with 5x margins on our product, I didn't care nearly as much if we/I was paying people in India half the wages.
In truth, I think there are highly skilled jobs that can't be outsourced or rather have an even playing field.