Happy new year! Everyone is back to work after a few weeks spent with family & friends.
If you are Italian, like me, this time is mostly spent around the dinner table, and you get to chat with many relatives you rarely meet during the year. This leads to many interesting chats — but also a few embarassing ones, like me trying to explain what I do for a living.
This year however, the curiosity towards my job took a back seat, making room for… AI!
And the question was simple: is AI coming for our jobs?
I had to answer variants of this several times, coming from people from wildly different industries, which I know pretty much nothing about. And since we are on Refactoring now, I will try to answer it for engineers:
Is AI going to replace (some) engineers (any time) soon?
I added a couple of qualifiers—some, and any time—to make the question more interesting. In fact, most predictions about AI today are blanket statements that don’t say much. To make things useful, you need specifics:
What engineers is AI going to replace? Seniors? Juniors? Specialists? React developers?
When is this going to happen? Next year? In 5 years? 20?
If you are serious about this whole replacement thing, these are the real questions — and, today, nobody can answer them. Not even close.
This apparent contradiction, where you get uncontrolled vibes about the future, yet nobody can talk specifics, is enabled by two things:
Progress in the past 2 years has been amazing.
We are still far from human performance on anything nuanced.
Both things can be true at the same time, but many people are mostly exposed to one of the two, which makes folks side with either blind skeptics or optimists:
Creators and solopreneurs who do a lot of experimenting and green-field dev are amazed by how fast you can get something done, and over index on #1.
Engineers who work on big codebases are underwhelmed by the impact on real-world, complex work, and over index on #2.
So where is the truth? Is AI closing the gap with humans fast? And, if so, what happens next?
I will try to explore all of this in detail here, but first I will spoiler my thesis: engineers will thrive thanks to AI, rather than the opposite. I am an AI-optimist, and will explain why.
Here is the agenda:
🧢 Capped vs uncapped value — more productivity just creates more value.
🔧 A personal example — building an app on a tech stack I know nothing about.
📉 Asymptotic progress — singularity might be further than you think.
⛵ Taste vs skills — 90% of the work is about recognizing what’s good.
🔮 Engineers of the future — what does the real 10x engineer look like.
Let’s dive in!
🧢 Capped vs uncapped value
In all the tech companies I have known, there has never been a shortage of work.
There has never been a time, during quarter planning, or looking at the backlog, where someone said: “well, we don’t have much to do! This will be a light [quarter | month | week]”
That’s because tech and product have uncapped value: more engineering time just means more opportunities and more business. Which means, if we equal the use of AI to more productivity, that the most likely result of that productivity is: we will just get more things done.
And, mind you, you can’t say the same for everything.
Think of a cleaning service: let’s say there are 3 people who come clean your office twice a week. If all of a sudden you were able to triple their productivity, would you still employ three of them to do three times the cleaning? Probably not, because cleaning has capped value — there is only so much you can do.
Tech is not like this. I am convinced software would be even more pervasive than it is today, probably by an order of magnitude, if it wasn’t for the fact that 1) we don’t have enough engineers, and 2) code is extremely expensive to write and maintain.
So, what are companies going to do with more productivity? Are they going to lay people off to keep getting the same amount of things done as before, or are they going to do more with it? To me, it is safe to say they are going for the latter.
Of course, this won’t be true for all companies. There exist many orgs that see tech as a cost center with capped value. They believe there is only so much you can get from it, and in some cases, they may even be right!
Well, these are the cases where you may see layoffs. These are the cleaning cases, where tech is employed as a commodity. These cases exist, but they were probably bad jobs even before AI, so we shouldn’t focus on them.
My prediction is that good companies will use AI to do more, while bad companies will use AI to cut costs.
Now, the popular counter-argument is that this is true as long as AI doesn’t match (or surpass) human performance. We call it singularity: after that, AI will just replace engineers.
Right? Wrong. I don’t think this will happen anytime soon, for two reasons:
AI progress in software engineering will slow down and become asymptotic. It’s already happening.
Human skills will gradually shift and focus on the things that AI is worse at, making it increasingly hard for AI to catch up.
Let me elaborate on both: