AI Won't End Software Engineering. It will Make More of Them!
Deval, with AI-assisted editing
The common belief
Software engineering is dying because AI is quickly learning how to do the entire job.
RLMs, coding agents, and increasingly capable models can already write code, review it, test it, and ship it to production.
There is also a belief that AI will eventually be able to break down and synthesize what users want.
We can already see hints of this: agents can use tools and MCP to ingest metrics, logs, conversion data, support feedback, and other signals, then reason over all of it.
My take
I think we are going to see an explosion of software engineers, just not in the way most people imagine.
Humans will always have desires.
We will always be curious.
We will always want to explore, invent, improve, and answer our questions.
Software is one of the best sandboxes for that curiosity because innovation and experimentation can happen incredibly fast.
Someone will have a desire, wake up an agent, and ask it to build something.
In the past, that meant typing code on a keyboard.
Today, it can mean talking to an agent.
In the future, it could mean communicating through a neural interface.
The interface will change, but the human impulse will not: I want this to exist. Let me build it.
The pool of software engineers has always been expanding
The mainframe era: software engineering began as a tiny, specialized field.
In the 1950s and 1960s, computers were enormous, expensive, and mostly accessible through governments, universities, and large companies.
Software was often written for one specific machine, which kept the pool of people who could build with computers extremely small.
IBM's System/360, introduced in 1964, helped change this by creating a compatible family of computers on which software could be reused. IBM: The System/360
The personal-computer era: access moved from institutions into homes and schools.
Computers such as the Apple II, introduced in 1977, helped create a new generation of hobbyists and self-taught programmers.
The pool now included both formally educated computer scientists and people who learned by experimenting on their own machines.
The web, framework, and bootcamp era: higher abstraction created even more entry points.
Open source, cloud platforms, tutorials, and frameworks such as React made it possible to build useful software without understanding every layer underneath it.
Coding bootcamps emerged around 2012 and grew quickly. One industry survey counted 2,178 graduates in 2013 and 23,043 in 2019, a more than tenfold increase in six years. Course Report: 2020 Coding Bootcamp Market Size Study
The pool now included computer-science graduates, self-taught engineers, and bootcamp graduates.
During this period, we learned that the depth of technical knowledge among people called "software engineers" could vary enormously. The title was already becoming less standardized.
The agent era: the barrier to entry is approaching zero.
You no longer need to know a programming language before trying to build software.
You need a desire, a problem, or a question, plus the ability to communicate it to an agent.
The gap in technical depth will become wider than ever, and it will continue widening as the abstraction layer rises.
We all become software engineers
As the barrier to building software approaches zero, much of knowledge work starts to look like the orchestration of agents.
I can imagine a world where, software engineer or not, we are all sitting in a future version of the Codex app, working at the same abstraction layer. We all become engineers.
We provide context, describe a desired outcome, direct agents, inspect the result, and iterate.
Will all of us be deep in the code?
Probably not. Only a small group of people may work directly at that layer.
Will all of us become problem-solvers using the same level of abstraction to pursue our desires and curiosity?
Absolutely.
That is what I mean when I say we all become software engineers.
I do not mean that everyone will have the job title.
I mean that the underlying capability of turning a desire into a working system becomes available to almost everyone.
Computer science still matters
Does having a background in computer science still provide an advantage?
Absolutely.
In my view, computer science, when learned well, is largely the study of metacognition: learning how to learn and how to solve problems.
It trains you to break a large problem into smaller ones.
It trains you to think in abstractions, systems, state, constraints, and failure modes.
It trains you to test an idea against reality and update your thinking when it fails.
I think of these abilities as muscles in the mind.
Like any muscle, they grow through repetition.
Programming has always been a low-overhead sandbox for getting those reps.
In many real-world settings, testing an idea requires time, money, materials, coordination, or real consequences.
In code, you can change an assumption, run the program again, see what breaks, and repeat almost instantly.
That is one reason computer science remains valuable.
It provides a nearly limitless environment for practicing how to break down problems, test ideas, learn from failure, and update your thinking.
Agents reduce the remaining friction, making it possible to get even more reps.
The future I see
AI does not eliminate the human desire to build. It removes friction between desire and creation.
As that friction disappears:
more people can experiment
more people can innovate
more people can solve problems that were previously too small, personal, or strange to justify a software team
more people can turn curiosity into something real
The professional software engineer may become more specialized, while software engineering as a human capability becomes nearly universal.
We may rarely be in the code, but we will all be builders.
And I believe those problem-solving muscles support a deeper human mission:
to seek truth
to fulfill our desires
to explore our curiosity
and to find answers to the questions that keep pulling us forward