And that's where most software projects fail. If there's one great thing about the agile development movement it's the involvement of customers in the process so that they get the software they actually want, not what they thought they wanted at the beginning.
How much does fully specifying a piece of software cost? Now compare that with a loose specification and an engineer who's in contact with the customer and refining the application as requirements are discovered.
And then compile it. That is to say, if you've written your spec sufficiently precisely, then it _is_ code, and will compile, thereby sparing the need to hire programmers. The reason that you need programmers is that you haven't written the specs specifically enough, usually because it's essentially impossible to specify (many kinds of) software that accurately a priori.
Furthermore, and on this point I think we agree, there needs to be a fairly wide channel of communication between the engineer and the product manager exactly so that ambiguities in the spec can be worked out. Until the inconvenience of having subtle technical conversations with someone twelve time zones away becomes negligible compared with a face-to-face conversation, local programmers will have an advantage over overseas programmers. (If the boss is overseas, of course, things are different.)
The author of the piece addresses this. He's not claiming that outsourced developers can't learn Ruby/Python, but that by hugely reducing the time/cost to build an application, an X% savings is much smaller than it would be in Java. So if you save less, it's not worth the risk of outsourcing.
That barrier will keep costs high because not many 2nd or 3rd world programmers have access to these tools.
Coding in general is now a commodity. Coding combined with specialized domain knowledge is not.
You don't think that other countries won't adopt newer languages and continue to perform them cheaply? If it takes 100 hours in PHP, then people will start asking for 20 hours in RoR. And maybe now not everyone knows RoR, but those outsourced developers will pick it up if they have to. They will pass the cost savings on as well. And yet again, we're back into this cycle of code and applications as a commodity.
The only way to beat outsourcing is to be creative. The one thing you have against anyone else who wants to do outsourcing is to take zero shortcuts. The outsourced projects will for the most part fail, although they'll still happen. You'll see guys from Goldman Sachs dumping some money into these lame projects that will never surface because some YC startup was willing to put in the wrench time to build a more holistic approach: not just code, but design, and usability, and culture. That is sustainable. An outsourced project is not (unless your Kevin Rose and promote your idea on TechTV). By the way, I got to meet Byrne, and he's tremendous. I would argue he's one exception to the rule that outsourced programmers are not creative.
The reason our engineers drop out is because they don't see how the material they're being taught is relevant or at all interesting. There's too much science, math, and analysis when there should be more of a balance of practice, drawing, design, ethics, and art. It sounds really Utopian, I know, but you have to ask (1) why are drop out rates for engineers >50% in the country, but <2% at schools that emphasize drawing, creativity and practice along with the engineering courses, (2) do these outsourced projects really deserve all of the hype they receive? I would say they don't, and there's no language that will "kill outsourcing." There never will be.
You can save money on projects, and lure the project managers to hire you instead of someone in India, sure. But do you really want to work with those people who are just out to find a quick dollar? And like I said, you don't think someone in India will embrace faster/cheaper languages if the market starts demanding them?
I hope I didn't completely miss the point on this. Perhaps I did, but I at least thought it was worth discussing outsourcing and creativity in engineers.