AI Is Not the End of Coding
A real concern for people working in (or now entering) the software industry is that Artificial Intelligence (AI) will eliminate their jobs. It’s hard to ignore the crescendo of armchair pundits hailing the rapidly increasing power of AI as the total obviation of manual computer programming. Those concerns, while understandable, are really not justified. AI is most definitely not the end of software engineering, nor related disciplines like product management. We’ll keep this post brief (as last week’s was pretty long), but please do leave a comment if you’d like to dig deeper.
The great humorist, while not perhaps very robust, is in the best of health. He said: “. . . The report of my death was an exaggeration.”
—Frank Marshall White, New York Journal, “Mark Twain Amused;” via Mental Floss
First, let’s get a little perspective. The practice of encoding precise instructions for transforming available inputs into desired outputs long predates the electronic computer. Knitting patterns and sheet music are “code” by any reasonable definition; and arguably, so are many cooking recipes. The 19th-century advent of player pianos did not eliminate live music, any more than electronic synthesizers did a hundred years later. Mass production of artificial foodstuffs has not ended the art of cooking—some of the best chefs are now even celebrities—nor have people stopped creating (and appreciating) hand-knit socks and sweaters despite the plethora of commonplace, machine-made alternatives.
Technology has already eliminated any number of specific job roles (or nearly so), but that’s nothing new. Somebody in every ancient tribe was probably The Best at starting fires by banging rocks together. Not to be flippant about this: It wasn’t long ago that robots put most automotive assembly line workers out of a job. Now long-haul trucking seems destined to be replaced by self-driving vehicles. People sometimes draw a distinction between blue and white collar work, but that misses the point: White collar jobs may absolutely be replaced by AI. Stenography is certainly white-collar work, but it’s not hard to imagine it being replaced by voice-to-text applications.
By 1977, Bricklin felt that programming was getting to be so easy that he would be out of a job soon.
—Retro Tech Bytes - The Story of VisiCalc
We can acknowledge the potential of technology to disrupt society, while also recognizing that as demand for particular skills waxes and wanes, it makes sense to relegate the most robotic tasks to machines. That’s largely what programming is about. More than that though, programming is about raising the level of abstraction; not only helping us do things more efficiently, but making what used to seem impossible a real part of our everyday lives. AI is the next rung on the ladder of abstraction—which, as should be clear by now, has no upper limit.
Huge parts of what coders now do manually may well be done by AI soon. Consider the ramifications of a similarly staccato step up the abstraction ladder: the leap from machine code to high-level programming languages in the 1950s. The number of jobs available to programmers working directly in machine code declined precipitously, but with two key caveats:
Programming didn’t go away. Demand for professional programmers actually increased, because more powerful tools amplified the productivity (and thus the value) of each individual programmer.
As low-level knowledge became more rare, it developed into a specialization for which professionals even now charge a premium. Processors did not stop adding new instruction sets (floating point, SIMD, GPU/matrix operations, etc.), nor did CPU-intensive applications stop vying for the most efficient use of hardware.
Even folks who concede point 2—“OK sure, there will always be specialists”—sometimes have a hard time understanding point 1. What seems to trip them up is the idée fixe of economics as a zero-sum game. None of this is zero-sum. The amount of work to be done is unbounded, and so is the reward. Even if the demands society placed on the software industry were to stagnate, it would be naive to think there would be less demand for professional programmers. But of course, demand does not stagnate, it escalates.
If you’re unconvinced—or, if you’re having trouble retaining engineers because they’re unconvinced—see also the very first Deeply Nested post: Is Coding a Dead End Job?