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.
I have assembled a crack team of teachers--the best money can buy--to revolutionize and synergize and (with the aid of emerging technologies) industrially disrupt our way back to the top of the global software engineering heap.
Here's the basic gist of our plan. Innovations in voice recognition technology have opened up unprecedented opportunities for people to talk to computers. So instead of having somebody type character after boring character into lines and lines of code, we'll synergistically leverage this emerging technology (in a disruptive way) to speak those lines of code instead. We'll start, of course, with the same programs that have brought us to the middle-to-bottom of the OECD ladder, but we'll be coding them in a revolutionary way. With our voices! (See how pitiful that exclamation point seems in comparison to the enthusiastic and dynamic way my voice would have demonstrated excitement?) After years of being incessantly typed to, our programs will be so thrilled at the prospect of being talked to that they will suddenly become good. Like Finland good. And, since this approach will be so voice-centric, who could be better within this new programming paradigm than our nation's teachers, with their years of speaking experience?
It gets better.
Because we believe that world-class software should be available to everyone, we will offer our services gratis. But how can we afford to do this, you ask? For one thing, these services won't actually be world-class; they'll be pretty much identical to the products we've been using for decades, so that's a boatload of savings right there. Also, lucky for us, we have a billionaire benefactor who happened to start his career as a teacher, and therefore believes there isn't a problem on the face of the planet that can't be taught into oblivion. Awesome business model fringe benefit #1: Now anybody who charges for programming will seem sooooooo 20th century. Awesome business model fringe benefit #2: By continually advertising how revolutionary we are, and by repeatedly pointing to our very smart benefactor, well-intentioned but software-illiterate donors and investors will heap money on us, and pretty much us alone, because they think it's the best option.
In a few years, we hope to replace 100% of current programmers. In this tough economic climate, budgetary concerns will all but force companies to look for drastic ways to reduce costs, and we now make it possible to completely remove expensive and ineffective programmers from the equation. Who wouldn't? They obviously don't know what they're doing, anyway, since they're the ones who got us into this mess in the first place.
I know there are a few of you out there with concerns, which I'd like to address right out of the gate. For instance, it's been publicly noted that none of us has any actual programming experience. While that's technically true, we have collectively used literally thousands of computer programs (not to toot my own horn, but I'm pretty excellent at Angry Birds), and watched other people use countless more. In addition, many of us even took computer courses in college. Besides, basically anybody can program a computer these days, what with the internet and all.
And sure, sure, there's a fairly huge body of research out there linking effective programming practices with successful programs, but we feel comfortable ignoring it for several reasons. First of all, a lot of those studies are observational and thus devoid of any scientific merit (like all those kooky studies about smoking and lung cancer). Second, the lack of a nationwide standard of objective software quality makes it nigh on impossible for engineers to prove they're doing anything particularly useful, so we assume they are useless. And finally, those studies are really long and incredibly boring to read.
So fear not, America. A new age of software engineering prosperity is right around the corner, brought to you by some non-programming teachers and a rich dude!
*EDITORIAL NOTE/THE WHOLE POINT: It's clearly ridiculous to think that any of this is true. Obviously it's silly to think that we can somehow teach computer programs to be better just by changing how we deliver identical code. What's totally unclear is how people fail to think it's silly that the software engineers at Khan Academy can somehow program students to be better just by changing how we deliver identical "lessons."