Let's be clear: American software engineering is in crisis. Thirty years ago our computer programs were the best in the world; now they routinely lag behind those from South Korea, Finland, China, and even...*gulp*...Canada. In fact, a 2009 assessment found that U.S. reading software ranked 17th among the 34 OECD countries, math software a dismal 25th. In the absence of radical reform, our code will cease to be competitive in an increasingly global economy, and we risk losing our preeminent place on the world stage.
In addition to poor test scores, American software has been suffering from increased feelings of alienation and disengagement. In a survey from last year, 61% of programs said that they "strongly disliked" or "hated" compiling, and more than half said they would rather digitize Wuthering Heights than debug. There's no doubt the situation is dire.
But there is a solution.