惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Stack Overflow Blog
Stack Overflow Blog
博客园 - Franky
MyScale Blog
MyScale Blog
Jina AI
Jina AI
B
Blog
Microsoft Security Blog
Microsoft Security Blog
T
Troy Hunt's Blog
博客园_首页
T
Threatpost
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
L
Lohrmann on Cybersecurity
GbyAI
GbyAI
T
Tenable Blog
B
Blog RSS Feed
S
Securelist
T
Threat Research - Cisco Blogs
P
Privacy International News Feed
P
Proofpoint News Feed
T
The Exploit Database - CXSecurity.com
H
Hackread – Cybersecurity News, Data Breaches, AI and More
量子位
博客园 - 三生石上(FineUI控件)
大猫的无限游戏
大猫的无限游戏
雷峰网
雷峰网
C
CXSECURITY Database RSS Feed - CXSecurity.com
罗磊的独立博客
AWS News Blog
AWS News Blog
V
V2EX
宝玉的分享
宝玉的分享
J
Java Code Geeks
小众软件
小众软件
Spread Privacy
Spread Privacy
腾讯CDC
Google Online Security Blog
Google Online Security Blog
月光博客
月光博客
V
Visual Studio Blog
The Hacker News
The Hacker News
C
CERT Recently Published Vulnerability Notes
Project Zero
Project Zero
Know Your Adversary
Know Your Adversary
T
The Blog of Author Tim Ferriss
Last Week in AI
Last Week in AI
Apple Machine Learning Research
Apple Machine Learning Research
NISL@THU
NISL@THU
C
Check Point Blog
Webroot Blog
Webroot Blog
D
DataBreaches.Net
Cloudbric
Cloudbric
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
IT之家
IT之家

Irving Wladawsky-Berger

Proprietary vs Open AI Models: Experiment → Learn → Specialize → Scale AI Moves Toward Organizational Deployment Some Personal Reflections on a Long Career Why AI Can’t Replace Software Engineering The 2026 State of Tech Talent The State of AI in Higher Education: Widespread Use, Unclear Rules AI Interpretability: Understanding How AI’s Black-Box Brain Works The Evolution of Digital Market in the Age of AI Agents The Future We Should Want from the AI Revolution Forecasting the Economic Impact of AI The Democratization of (Artificial) Intelligence The 2026 AI Index Report Managing AI as Both Tool and Teammate How Is AI Shaping the Future of Work? What Causes AI Brain Fry? Know Your Agent (KYA): Governing AI in the Enterprise The Economic Value of Open Source Software Contributions There Is Time to Adapt AI If We Use the Time Wisely Large Company CEOs Are Leading AI Adoption The Economic Impact of Transformative AI The Economic Impact of the Emerging Age of AI Remote-First Organizations: Practices that Drive Talent, Trust, and Performance AI Foundation Models and Traditional Supercomputing
Why AI Hasn’t Replaced Software Engineering? — and Probably Won’t
irvingwb · 2026-07-08 · via Irving Wladawsky-Berger

A couple of weeks ago I posted “Why AI Can’t Replace Software Engineering,” a blog in which I discussed an important distinction that is often overlooked: software engineering is not synonymous with programming.

I keep coming back to this topic because, in my opinion, the difference between programming and software engineering offers a particularly concrete way of understanding the difference between human and AI capabilities. It is also highly relevant to current debates about jobs and automation, since several widely discussed studies have identified programming as one of the occupations most exposed to AI.

Given the extraordinary advances in AI coding tools, why haven’t software engineering jobs already begun to disappear?

I recently read an excellent essay, “Why AI hasn’t replaced software engineers and won’t,” by Princeton computer science professor Arvind Narayanan and PhD candidate Sayash Kapoor that sheds considerable light on this question.

“There is great anxiety and uncertainty about AI replacing jobs,” wrote the authors. “How can we move past vague warnings and bombastic predictions and bring data to bear on this question? One good way is to look at the profession where AI capabilities are furthest along and adoption has been exceptionally rapid: software engineering.”

They argue that there is already enough evidence to reject the narrative that once AI reaches some capability threshold, mass layoffs will inevitably follow. If software engineering — a profession with relatively few regulatory barriers and where AI adoption has been extraordinarily rapid — has not experienced widespread labor displacement, then many other professions are likely to be even more insulated.

The Decide-Execute-Deliver Sandwich

Narayanan and Kapoor explain why coding agents have not led to lab or displacement through a simple but powerful metaphor: the decide-execute-deliver sandwich.

The sandwich consists of three layers.

  • At the top is decision making: framing problems, specifying requirements, setting priorities, and planning.
  • At the bottom is delivery: testing, verification, integration, deployment, and maintenance.
  • In the middle lies execution: designing and implementing code.

This visual metaphor helps explain why AI-based coding agents have not led to mass layoffs in software development and, more generally, in many kinds of knowledge work. “AI compresses the execute layer,” they write, “but the other two layers resist automation in a way that will not be overcome by capability improvements alone.”

This observation immediately raises an important question. If AI can generate code so effectively, why has it not had a larger impact on software engineering jobs?

Writing Code Was Never the Bottleneck

“Writing code isn’t, and never was, the bottleneck,” say Narayanan and Kapoor.

They cite a 2019 IEEE study, “Today Was a Good Day: The Daily Life of Software Developers,” based on an analysis of approximately 6,000 professional software developers at Microsoft.

The study found that developers spend surprisingly little of their day actually writing code.

On a typical day, developers spent only about 15% of their time writing or reading code, 14% debugging, 8% running unit tests, and 2% documenting their work. The rest of their time was spent in meetings (15%), email (10%), helping and mentoring colleagues (5%), learning (3%), and administrative activities (2%).

Software development is fundamentally a collaborative activity that requires coordinating people, understanding requirements, integrating systems, and making trade-offs.

If coding itself is not the bottleneck, then what is?

The Real Bottlenecks

Narayanan and Kapoor argue that the true bottlenecks are three activities that continue to resist automation:

  • deciding and specifying what to build;
  • verifying and being accountable for what is delivered; and
  • developing the deep understanding of the codebase, business context, and operating environment required to perform both activities.

“In other words,” they write, “software engineers’ work consists of a decide-execute-deliver sandwich (with understanding being a prerequisite for all three).” AI has significantly compressed the middle of the sandwich, but the two ends remain largely unchanged.

As long as software teams are responsible for making decisions and accountable for what they deliver, engineers still need to spend considerable time developing a deep understanding of the systems they build and maintain.

Evidence from the Real-World Software Development

Narayanan and Kapoor cite a recent NBER working paper, “Writing Code vs. Shipping Code,” as empirical support for the sandwich model.

The paper asks two important questions. Do increasingly capable AI coding tools produce corresponding increases in productivity? And if they do, do those task-level productivity gains ultimately translate into more software being successfully delivered to users?

The researchers analyzed software development data on more than 100 GitHub developers and found that successive generations of AI coding tools produced enormous increases in coding activity. Synchronous coding agents increased lines of code by 741% and pull requests by 65%.

But software releases increased by only 20%. The productivity gains attenuated sharply as one moved up the production hierarchy.

The study reached an important conclusion: “The binding constraint appears to be shifting from writing code to reviewing, integrating, and ultimately distributing it.”

This finding aligns remarkably well with the decide-execute-deliver sandwich. AI has dramatically improved execution. But it has had a much smaller impact on decision making, integration, verification, and accountability.

Can the Sandwich Be Further Compressed?

Narayanan and Kapoor don’t believe so.

At one end of the pipeline, development teams still need to decide what to build. Requirements specification takes far longer than most junior engineers initially expect and resists automation because it requires understanding user needs, market signals, organizational priorities, and, increasingly, regulatory requirements. This is true in all major engineering disciplines, whether building a bridge in civil engineering, an airplane in mechanical engineering, or a power plant in electrical engineering.

Compressing this process usually creates significantly more problems downstream.

At the other end of the pipeline, human teams remain accountable for what they deliver. Today’s AI systems remain too unreliable for organizations to ship mission-critical software without fully understanding and testing what they deploy. In most organizations, such behavior would represent an existential risk to both the software team and its customers.

These two layers of the sandwich resist automation not because current AI models are insufficiently capable, but because they fundamentally require human judgment, organizational understanding, and accountability.

What Does the Future Hold?

“AI boosters might claim that mass layoffs are coming; they just haven’t happened yet because human-level software engineering abilities are very recent,” write Narayanan and Kapoor. But if the sandwich model is correct, these predictions are unlikely to come true.

The middle of the sandwich has already been substantially compressed, a process that began decades ago with increasingly powerful programming tools, integrated development environments, code libraries, frameworks, and automation technologies. Even if future AI systems make the execution layer nearly instantaneous and nearly perfect, it would represent a relatively modest change compared with the broader responsibilities of software engineering.

In fact, the authors suggest that demand for software engineers could actually increase. As software becomes cheaper and easier to create, people will want far more of it.

Virtually all cognitive work benefits from software. As AI lowers the cost of creating applications, people are already developing countless one-off utilities, workflows, and specialized applications that previously would never have been economically viable.

The amount of time people spend getting computers to perform new tasks is likely to continue increasing. These activities may involve building software, orchestrating AI agents, managing complex workflows, or creating entirely new kinds of digital systems. They will require a combination of software skills, AI skills, and domain expertise.

AI will undoubtedly create major structural changes in how software is produced. Some software engineers will benefit more than others, depending on their skills, seniority, geography, and ability to adapt. But the evidence increasingly suggests that software engineering is not disappearing. Rather, its center of gravity is shifting away from writing code and toward the activities that have always been hardest to automate: understanding problems, making decisions, integrating complex systems, exercising judgment, and being accountable for what gets delivered.

In that sense, software engineering provides an excellent lens through which to understand the broader impact of AI on work:

  • AI excels at compressing execution.
  • Humans continue to excel at deciding what should be built and taking responsibility for what is ultimately delivered.