Dead Occupation Walking

Written by

in

Software engineering will never fully disappear as a field, but we’re on the cusp of a vast permanent contraction of the workforce.

I’ve been a professional software developer for eighteen years. In that time, one of the things I’ve learned is that unremarkable code is good code. As is following industry standards. Doing both reduces cognitive complexity which mitigates bugs, as well as eases onboarding and refactoring.

In other words, exactly what AI is good at: being derivative.

Another lesson is that it’s more productive not to reinvent the wheel, but only write what doesn’t yet exist: mostly glue code. Everything we do is to realise new features for a product faster and cheaper than competitors.

That’s everything for market capture. Consumers don’t reward reliable products; because higher-quality means fewer features, higher cost, or taking longer. They instead spend their money on the product that has the features they want in a state that’s good enough today. Those of us who want bullet-proof products are in the minority.

In this ecosystem, consumers tolerate outages because the competitors are either more pricey, or lack the features. Those companies that do enjoy this exclusivity can then leverage their position to take more shortcuts around quality – thus allowing for more features faster.

This incentive structure makes AI’s major current downside, low-quality code, a non-issue. That slop still amounts to more features.

The Bubble Popping is Inconsequential

Leadership across tech are enamoured with the marketing of companies like OpenAI and Anthropic. They’re being promised a path to cut staff, thus increasing profits, and the means to survive the disruption of a new tech whose antecedents (home PCs, the world wide web, the iPhone) wiped out market leaders.

The agentic coding products themselves fall short, but even so they already accelerate development in their current state and are rapidly improving.

For all the hype, the principles for this technology are proven and here to stay. It’s a bit like the dot-com bubble: the tech was sound even if the investments weren’t. Our job descriptions have already changed and little new code is now AI-free. This from a category of products that’s less than three years old.

We’re only a few years away from its capabilities catching up to the marketing. I don’t think the bubble popping changes this because the technology is already indispensable to companies.

What might change is that AI companies substantially increase pricing, because these products are currently heavily subsidized by investors and that will be the first thing to go if the bubble pops.

A New Startup Model

We’re still going to get to a point where a startup only needs a few engineers.

They won’t code anymore; that will be replaced by a list of requirements. The code itself will be a black box whose internals are unknown to the engineers. They’ll just be there to set-up the general infra and finesse requirements following undesired behaviour. Every new CI/CD run will generate a new black box from scratch. The architecture could completely change from build to build; it doesn’t matter.

Remember, the marketplace rewards good enough not good.

Established companies have profitable legacy code that can’t be substituted in whole for a black box. But they’re adopting AI to write new features. When they make new products, they’ll be 100% AI-written black boxes. Eventually the proportion of employees will mirror those of these startups.

This transition is already happening. Software developer jobs are evaporating, from junior developer positions to senior roles.

I cannot recommend students enter this field.

The Way Out (For Some of Us)

We were already in a brutal culture of annual mass lay-offs combined with sparse openings for software developers. Now with executives salivating at AI, they’re cutting dev jobs first and asking questions later. It’s a bloodbath.

I only see a few ways out for software engineers.

  • Become proficient enough with AI tools that you remain employable through successive lay-offs or a desirable hire.
  • Get promoted out of dev work and end up high enough to be the one to implement job reductions rather than be subject to them.

This goes to another lesson from my career, which is that remaining a desirable hire in this industry is incumbent on constantly learning and remaining uncomfortable. Previously that meant embracing new languages and frameworks. Now it’s being proficient with agentic AI.

Either way, adopting new skills won’t make up for a future where there’s far more devs than jobs. This mismatch between supply and demand will produce a downward pressure on quality of life; expect doing the jobs of more people, more on-call, worse hours, worse benefits, worse pay.

I can’t even say join this other profession because this seems to be happening in every industry.

Chickens Coming Home to Roost

Some of this is karma. The output of software developers have almost always been at the expense of other livelihoods.

My first professional task was writing a system to monitor a fleet of aircraft in real-time so that Search & Rescue could be sent if a plane crashed. I single-handedly replaced a whole department who satphoned pilots ever half-hour to query position and status. Yes my system was better: aircraft locations were tracked to the minute instead of every half-hour, vastly reducing the search area. But real people lost their jobs.

My last workplace replaced the need for workers to go on the roofs of homes to assess how much solar energy they could produce. Our product provided better results in minutes, at the expense of the incomes of contractors.

Economists love to claim that software innovations create new jobs, but that’s rarely true. Where it is, the new gigs have worse hours, benefits, and pay. Now we’ve figured out how to automate away our own colleagues; the latest casualty in a long list of decimated blue and white collar jobs.

Previous “innovations” had already made my day-to-day worse. The advent of cloud-based infra and testing frameworks made me do the jobs of sys admins / ops, dbas, and testers on top of everything. Messaging and ticketing platforms made my days more frantic than when it was in-person conversations. StackOverflow/AI removed the downtime of consulting reference books.

More work than ever with the least downtime for no appreciable boost in pay. Eighteen years and I don’t feel any more financially comfortable than when I started out at 22. No wonder I’ve had three burn-outs by age 40.

Now my entire career is threatened with extinction.

It’s such a different experience than what devs went through before me, where companies would keep them on for decades, invest in them, and pay them enough to afford a home and raise a family. Where jobs were a phone call and a handshake away.

Where to Now

I’ll hold on for as long as I can. I’m going to become more proficient with the tools that are the source of my career’s demise.

And then? I don’t know. It feels like all I can do is prep for poverty.