It used to be there were four tiers of work in the United States. The first tier was for the truly uneducated: the illiterate. The second tier was for people who could be counted on to read and write and perform basic math: the high school graduates. Then there were folks who could be counted on to learn a lot more and take up positions of greater complexity: the college graduates. Finally there was a spot in the job market every so often for an expert.
Newsflash: the second and third tier are going away. In it’s place is a single tier: people who are literate and are able to control computers. And we’re nowhere near ready for the changes coming.
Programming is the new High School Diploma.
Sure, it might be another decade or so until the rest of the world catches on, but we programmers, especially those of us over 40, already see it today. Forty years ago computers were specialty devices found only in the most obscure places, now they are everywhere. Until strong AI is discovered, we know there are severe limitations of canned programming. When I was a kid, nobody had computers. Now my dentist’s office has at least a dozen. Hell the dentist himself has 3 or 4 he walks around with.
As as consumer of pop-media, there might be an app for everything, but the way an economy works is people putting together disparate things into something new. There’s never going to be an app for your job. Because if there was an app for your job, your job would be on your way to being replaced by robots or outsourced.
The new “middle tier” of the workforce looks something like this: literate, able to use math and write well, able to read a manual and instruct computers to take various actions depending on various conditions. Note that I’m talking about entry-level work. This job segment will take over “old” jobs from both the illiterate sector, and the college-educated sector. Eventually, as robotics comes to fruition, it will consume every job niche but the true experts.
I think a fair criticism of this essay is “there’s nothing new here,” and in a general sense, that’s true. After all, we all saw this coming. As technologists, the more technology we deploy, the less mundane jobs there are in the world. That’s a given. But the flip side of that — the more advanced jobs there are — hasn’t really sank in for most of us. After all, we’re already programmers. In a way, as programmers we’re stove-piped; we see just the system that we’re writing and (hopefully) the repercussions of that. We don’t sit on the other end of the table and see a dozen jobs working a dozen manual processes replaced by three jobs working two dozen computer programs. While we see the good that we do for one task, we have absolutely no insight into all those thousands of new multiple-application jobs (and the real-world implications for people) scattered all over the economy.
This really sank in for me when I read that although the United States leads the world in manufacturing, it does so with an ever-decreasing number of jobs. Nobody wants people to stand on an assembly line; they want people to tell the robots what to do. The robots work on the assembly line. When I thought of robots, for some reason I just thought about manufacturing cars, but that change happened in like, 1990. What has happened with computers in my lifetime is now happening with robots. In the next couple of decades, just like the last, seeing robots will go from a rare curiosity to an everyday occurrence. The only jobs left will be those that deal with computers. Dealing with computers; programming, scripting, reading manuals, and connecting interfaces and data; it’s the new reading and writing.
Progress is good, and I can’t wait until we get a world where the truly dehumanizing jobs are all gone, but while these jobs are coming online now, the education system is nowhere near understanding this new reality.
The political implications of this for older industrialized societies are vast. If there ever was a “red alert” we could put on a problem, this should be it, for what is about to happen is truly going to be unprecedented. We are going to end up with societies that have developed complex automated support and production systems that they themselves cannot manage. There’s simply too much work and too little competence. Instead, outsourced programmers will be used to supervise and control much of this modernization over the net.
This will bring on even more commoditization of business practices than we already have. While your dentist could use a nurse who is able to do data mining and various programming tasks to help him optimize his business practices (and gain an edge on his competition), he won’t be able to find one. Instead, he’ll pitch in with dozens of other dentists to buy a pre-canned support system overseas, with real, live, English-speaking operators. They’ll be able to do the same tasks, sure, but they won’t be part of his team, programming and working the business problem intimately in an effort to innovate. Instead they’ll just be a fancy vending machine. As services stratify, the opportunity to take many different technologies and merge them together, inherent in programming, will be lost to hundreds of thousands of businesses of all kinds.
The critical question that needs answering right now is: how do we make people of all education and age levels into somewhat competent programmers?
ADD: I hope I’ve described “programming” broadly enough for you to get the gist. I have a strong feeling we all could end up in a deep and long discussion about just what I mean by “programmer” That’s probably a post for another day. LISP experience not required. The key here is learning and using all sorts of already programmed systems in scripted ways that are all edge cases. Also, as much as I love computers, this is also not an advocacy essay. I am not advocating one thing or another nor asking for your approval. Things are changing. We must adapt.If you've read this far and you're interested in Agile, you should take my No-frills Agile Tune-up Email Course, and follow me on Twitter.