Software engineers don't get to be Luddites about AI

Many software engineers are righteously angry about AI. It’s understandable to be upset that the skills you built your professional identity around are getting automated away. But software engineers are the last people in the world who should be complaining about this. If you live by the sword, you will perish by the sword.

Software engineering has always automated industries

From the very beginning, software engineering has been about automating other people’s work. Every single commercial software program is valuable because it takes over some task you would have to pay a human to do. The engineer who built VisiCalc, one of the first pieces of personal commercial software, agonized over the potential of the spreadsheet to put bookkeepers out of work. Here is a brief list of industries software engineers have automated away:

  • Video rental stores
  • Business directories and encyclopaedias
  • Typesetting companies
  • Travel agencies
  • Record stores
  • Typing pools
  • Data-entry
  • Trading-floor runners

Now that it’s our turn, should we bluster and complain that software engineering is a priceless art that should not be automated? Come off it. No crying in the casino.

The Luddites and the mechanics

Many software engineers have adopted the cause of the Luddites. I’ve written about the Luddites a few times, but in short: they were a group of professional textile workers who found themselves displaced by the advent of textile automation like power looms, knitting frames, and shearing machines. To software engineers worried about being displaced by automation, the Luddites seem like heroes. But software engineers aren’t like the textile workers in this scenario! We are like the smiths and mechanics who built the power looms in the first place.

Ironically, those mechanics were themselves automated away fifty years after the Luddite uprising, in almost an exact parallel. Improvements to the manufacturing process meant that unskilled boys and labourers — so-called “illegal men” — could now work the machines instead of well-paid mechanics. The ensuing labor dispute was less explosive than the Luddite one: there was no violence, and the striking engineers returned to work four months later when the money ran out.

Part of the reason the mechanics’ rebellion fizzled is that they were justifiably seen as hypocrites. As the Times wrote:

The cry of these intelligent engineers is merely the cry of the handloom weavers — a cry against inevitable and irresistible laws.

Automation and progress

Software engineering is the process of automating tedious tasks. It is the process of replacing human labor with the faster, cheaper labor of the machine. In other words, it is the process of putting people out of work.

It’s easy to forget this when you’re sitting at your computer puzzling over some CSS or a runtime error. From the inside, software engineering feels like the process of elegantly expressing problems in their most natural form, or of solving a magnificently complex puzzle. But that’s just what it’s like to do software engineering. It’s not what software engineering is.

The optimistic view of software engineering is that automation is progress. Automation has enabled widespread access to modern medicine, slashed child mortality across the world, massively increased the amount of food production, made space exploration possible, and so on. When industries are killed, new ones appear. The old world is being destroyed, but the new world will be much, much better.

This view of technology is pretty unfashionable today. Some combination of climate change, the 2008 market crash, the negative impacts of social media, and the tech industry leaders’ turn to right-wing politics has made it popular to view technology as a largely negative force. Fair enough! I don’t know which side of this debate is right. But I know which side software engineers have always been fighting for, no matter what beliefs they profess: the side of technology and automation. Every commit to an open-source project is another component in the great machine of technological progress.

Shutting your eyes

I understand the impulse for software engineers to ignore the long-term effects of their industry and focus on the puzzles. If you think technological progress is bad, but don’t want to quit your job, that’s been the only option. You can’t solve every problem in the world.

But to decide that this is the moment to come out against technological progress, at the moment when the wave of automation crests over our industry… it’s undignified. Software engineers have participated in the destruction (or transformation) of several kinds of job over their career. If you think that’s wrong, it’s only fair that you should also destroy (or transform) your own.


  1. Matthew 26:52.
  2. Aside from games and social networks, I suppose.
  3. Many of these still exist in some form or another, but as a shadow of their former selves, now that software has eaten the majority of jobs in the industry.
  4. I am suspicious of this framing. As I argued here, the Luddites were motivated in part by a kind of proto-fascism: idealization of a mythical past, supposedly under threat by an influx of unskilled immigrants and women who are taking all the jobs.
  5. One under-appreciated fact about the Luddites is that they had shocking levels of support among the general public. Even with huge rewards on offer, nobody ratted the Luddite leaders out. It took the establishment of a literal police state for one person to eventually flip.
  6. Though I strongly lean towards thinking the industrial revolution was a net positive.
  7. If it were actually possible to halt AI progress, I could at least respect this move as a “pull the ladder up behind you” kind of ruthlessness. Still, it’s more respectable than simply denying that AI can write working software, which I’ve seen some engineers do.
添加评论
点赞收藏
点踩分享查看原文
评论
?
参与讨论