Concise Summary简洁概述
Since Nov–Dec 2025's Gemini 3 / Opus 4.5 / GPT-5.2 releases, senior engineers across companies independently report crossing a capability threshold where AI can now write ~90% of production code.
The value of raw coding skill and niche language/stack expertise is falling, while the value of engineering discipline—testing, observability, architecture, judgment under AI-generated volume—is rising.
2025 年 11-12 月 Gemini 3、Opus 4.5、GPT-5.2 相继发布后,各公司资深工程师纷纷独立报告:AI 已跨过一道能力门槛,能写出约 90% 的生产代码。
纯粹的编码手艺和小众语言/技术栈专精正在贬值,而测试、可观测性、架构决策等"工程纪律"——用来驾驭 AI 生成海量代码的能力——正在升值。
Infographic信息图
The tipping point: three November–December models
拐点:三个 11–12 月发布的模型
Gemini 3, Opus 4.5, and GPT-5.2 all shipped within weeks of each other. Multiple independent engineers (not just vendor employees) report crossing an invisible capability line where previously-unsolvable coding problems suddenly became one-shot solvable.
Gemini 3、Opus 4.5、GPT-5.2 在数周内接连发布。多位独立工程师(不只是厂商员工)都反映跨过了一条看不见的能力线——原先解决不了的编程问题突然可以一把搞定。
Devaluing: prototyping, polyglot skill, ticket execution
贬值:原型开发、多语言能力、按工单执行
Language specialization, frontend/backend silos, and clearly-scoped ticket execution are collapsing into AI-assisted generalist work — any engineer can now prompt into an unfamiliar stack and get a plausible implementation, eroding the premium once paid for niche expertise.
语言专精、前后端职能划分、按清晰工单执行都在被 AI 辅助的"全能型"工作方式取代——任何工程师都能提示 AI 跳进陌生技术栈拿到像样实现,稀释了过去专精技能的溢价。
Revaluing: verification, observability, architecture, constraints
增值:验证、可观测性、架构、约束
As code volume and generation speed increase, the bottleneck shifts to catching what AI gets wrong — testing discipline, production monitoring, sane system structure, and awareness of performance/reliability ceilings become the actual differentiators of a strong engineer.
代码量和生成速度都在上升,瓶颈转向发现 AI 出的错——测试纪律、生产可观测性、合理的系统架构、对性能与可靠性天花板的敏感度,成为衡量优秀工程师的真正标准。
PM/engineering boundary blurring
产品与工程边界模糊
Engineers gain product instincts and talk directly to customers; PMs prototype and even submit bug fixes themselves. Linear's Saarinen frames it as the 'middle layer' of translating intent into implementation thinning out, leaving intent-clarification as the core skill.
工程师变得更懂产品、更贴近客户;产品经理开始自己搭原型甚至提交 Bug 修复。Linear 联合创始人 Saarinen 将其描述为"把意图翻译成实现"这一中间层正在变薄,厘清意图本身成为核心技能。
Detailed Summary详细解读
The article opens with a chorus of testimonials, not a single anecdote — this matters because it rules out selection bias from one enthusiastic user. Google's Jaana Dogan, Amp's Thorsten Ball, Vercel's Malte Ubl, Rails creator DHH, and Tailwind's Adam Wathan span different companies, stacks, and prior levels of AI skepticism, yet converge on the same claim within a two-month window. Orosz explicitly flags that AI-vendor employees have incentive to hype, which is why he leans on DHH and Wathan — engineers with no commercial stake in AI tools — as corroborating, disinterested witnesses.
Karpathy's arc across two months is the article's strongest evidentiary anchor: in October he dismissed agentic coding tools as 'slop,' in December he wrote that his profession was being 'refactored' and that not chaining together the new tooling was simply 'being a skill issue.' A single person reversing a strong public opinion within 60 days, citing specific new tools rather than vague optimism, is harder to dismiss as hype than a first-time convert.
The piece's central causal claim — Dario Amodei's March 2025 prediction that AI would write 90% of code within a year — is tested against Boris Cherny's report that 100% of his Claude Code commits last month were AI-generated. Orosz is careful to flag the confounds: Claude Code isn't open source, so the claim is unverifiable by outsiders, and its creator has obvious incentive to showcase it. He grounds this with his own parallel experience on a different stack (TypeScript/Node/Postgres) as a second, independently-checkable data point.
The 'bad news' section builds a mechanism, not just a list: as AI absorbs prototyping, polyglot implementation, and well-specified ticket execution, the market signal that used to reward deep single-stack expertise (hire the Go specialist, hire the frontend specialist) weakens because any competent engineer can now prompt across stacks. This is presented alongside a counterpoint — code review still matters when scaling mature systems or handling security — so the claim isn't unconditional.
The 'good news' argument inverts the intuitive fear: more AI-generated code volume doesn't reduce the need for engineering discipline, it raises it, because weak testing, poor observability, and sloppy architecture now surface faster and at greater scale. Orosz ties this to the Atlassian survey stat (developers spend only 16% of time coding) to argue engineering was never really about typing — so removing typing exposes, rather than eliminates, the actual skill.
The closing section is notably more personal and hedged than the rest — Orosz admits his own a-ha moment happened on a low-stakes, well-tested codebase, and explicitly concedes the counterargument that large legacy enterprises with complexity outside the code itself may see little AI impact. This self-limiting move, plus the emotional register on 'losing' the craft of typing code, keeps the piece from reading as pure techno-optimist boosterism.
文章开篇用一连串独立证词而非单一轶事起笔,这一点很关键,因为它排除了"某个人特别兴奋"的选择性偏差。Google 的 Jaana Dogan、Amp 的 Thorsten Ball、Vercel 的 Malte Ubl、Rails 创始人 DHH、Tailwind 的 Adam Wathan 分属不同公司、不同技术栈、此前对 AI 的态度也不同,却在两个月内得出同一结论。Orosz 特意点出 AI 厂商员工有夸大的动机,所以他特别引用了 DHH 和 Wathan 这类和 AI 工具没有商业利益关系的工程师作为佐证,增强说服力。
Karpathy 两个月内的态度反转是全文最有力的证据锚点:十月他还称智能体编程工具是"烂活",十二月却写道自己的职业正在被"重构",不去整合新工具纯粹是"自己菜"。一个人在 60 天内推翻自己公开表达的强烈观点,并且给出了具体的新工具作为理由而非泛泛乐观,这比一个从未质疑过的人首次表态更难被当作炒作打发。
全文的核心因果论断——Dario Amodei 2025 年 3 月预言 AI 一年内将写出 90% 的代码——被拿 Boris Cherny 上月 100% AI 生成 PR 的数据来验证。Orosz 谨慎地标出了混淆因素:Claude Code 非开源,外界无法验证;其创造者也有明显动机展示成果。他随后用自己在完全不同技术栈(TypeScript/Node/Postgres)上的平行经验作为第二个可独立核查的数据点来加固论断。
"坏消息"部分给出的是一个机制而非罗列:随着 AI 接管原型开发、多语言实现、规格清晰的工单,过去奖励深度单一技术栈专精的市场信号(招 Go 专家、招前端专家)在弱化,因为任何合格工程师现在都能跨栈提示 AI。文章也给出了反例作为限定条件——在扩展成熟系统或处理安全问题时代码审查依然重要,说明这一论断并非无条件成立。
"好消息"部分的论证反转了直觉上的担忧:AI 生成代码量增加并不会降低对工程纪律的需求,反而会提高——因为薄弱的测试、糟糕的可观测性、混乱的架构现在会更快、更大规模地暴露出来。Orosz 引用 Atlassian 调查数据(开发者平均只有 16% 时间在写代码)来佐证:工程从来就不只是敲代码,去掉敲代码这个环节,反而暴露而非消除了真正的技能所在。
结尾部分明显比全文更个人化、更留有余地——Orosz 承认自己的顿悟时刻发生在一个风险低、测试完备的代码库上,并明确承认反方论点:大型遗留企业的复杂性大多在代码之外,AI 冲击可能有限。这种自我设限,加上对"失去亲手写代码这门手艺"的情感表达,让全文没有沦为纯粹的技术乐观主义宣传。
FAQ常见问答
Is the '90% of code' claim independently verifiable?"90% 代码由 AI 生成"这个说法能被独立验证吗?
No — Claude Code is closed-source, so Boris Cherny's 100% claim can't be audited externally. Orosz treats it as credible testimony plus his own parallel experience, not as verified data.
不能——Claude Code 未开源,Boris Cherny 所说的 100% 无法被外部审计。Orosz 把它当作可信证词加上自己的平行经验来对待,而非已验证的数据。
Does this apply equally to all codebases?这个趋势对所有代码库都同样适用吗?
No. Orosz explicitly says large enterprise codebases with complexity outside the code (org processes, legacy systems) will see little impact; greenfield projects and startups seeking product-market fit will be affected first.
不。Orosz 明确指出,复杂性主要在代码之外(组织流程、遗留系统)的大型企业代码库受影响很小;全新项目和寻找产品-市场契合的初创公司会最先受到冲击。
What happens to code review if AI writes most code?如果代码大多由 AI 写,代码审查会怎样?
It becomes selective rather than universal — skipped for low-risk prototypes but still mandatory when extending mature production systems or where security/business risk is high.
审查会变得有选择性而非全面覆盖——低风险原型可以跳过,但在扩展成熟生产系统或安全/业务风险较高时依然是必须的。
Why did Karpathy reverse his opinion so quickly?Karpathy 为何在短时间内彻底反转看法?
He attributes it to the Nov–Dec model releases (Opus 4.5, GPT-5.2) crossing a capability threshold, plus a new layer of agentic tooling (sub-agents, MCP, skills) he hadn't yet integrated into his workflow.
他将原因归结为 11-12 月发布的模型(Opus 4.5、GPT-5.2)跨越了能力门槛,加上一整层他此前尚未整合进工作流的智能体新工具(子智能体、MCP、技能等)。
Does the article predict fewer software engineering jobs?文章是否预测软件工程岗位会减少?
No — Orosz predicts demand for software professionals will be higher in five years, driven by an explosion in total software output, even as the nature of the work shifts away from typing code.
不会——Orosz 预测五年后对软件人才的需求反而会更高,原因是软件总产出量的大爆发,即便工作的性质会从"敲代码"转向别处。
In-depth Analysis · Pros & Cons深入解读 · 优缺点
This piece by Gergely Orosz collects a wave of 'a-ha moment' testimonials from senior engineers (Karpathy, Cherny, Ubl, DHH) about the step-change in AI coding models since Nov–Dec 2025, then works out the professional consequences.
Gergely Orosz 汇集了 Karpathy、Cherny、Ubl、DHH 等资深工程师在 2025 年 11-12 月模型迭代后集体经历的"顿悟时刻"证词,并由此推演出这场质变对软件工程职业的连锁影响。
- Broad, disinterested sourcing来源广泛且无利益冲突Quotes span Google, Vercel, Rails, Tailwind, and independent engineers — not just AI-vendor staff — which strengthens the credibility of the 'step change' claim beyond marketing hype.引用横跨 Google、Vercel、Rails、Tailwind 及独立工程师,而非只有 AI 厂商员工,增强了"质变"论断超越营销炒作的可信度。
- Explicit self-skepticism明确的自我质疑Orosz flags the vendor-incentive problem with Cherny's data and concedes large enterprise codebases may see little impact, avoiding one-sided boosterism.Orosz 明确指出 Cherny 数据背后的厂商激励问题,也承认大型企业代码库可能受影响有限,避免了一边倒的鼓吹。
- Mechanistic, not just anecdotal, argument for engineering's rising value对工程价值上升给出机制性而非仅轶事性论证The 'more code, more problems' logic ties directly to concrete practices (testing, observability, architecture) rather than vague reassurance that 'engineers will still matter.'"代码越多,问题越多"的逻辑直接对应到具体实践(测试、可观测性、架构),而非泛泛地安慰"工程师依然重要"。
- Grounds prediction in a testable timeframe预测有可检验的时间尺度Rather than vague futurism, the piece anchors claims to Amodei's specific 2025 prediction and checks it against a concrete data point a year later.文章没有停留在模糊的未来主义,而是将论断锚定在 Amodei 2025 年的具体预言上,并用一年后的具体数据点进行核验。
- Anecdote-heavy, no controlled data证据以轶事为主,缺乏受控数据Every claim rests on self-reported testimonials from enthusiastic early adopters; there's no benchmark, survey, or controlled comparison showing AI code quality/output share across a representative sample of teams.所有论断都建立在热情早期采用者的自述之上,没有基准测试、调查问卷或受控对比来证明 AI 代码质量/产出占比在有代表性团队样本中的真实分布。
- Sample skewed toward greenfield, well-tested projects样本偏向全新且测试完备的项目Orosz's own a-ha moment and most cited testimonials come from low-risk, well-tested, or early-stage codebases — precisely the case he later admits is least representative of large legacy enterprise systems.Orosz 自己的顿悟时刻和多数被引用的证词都来自低风险、测试完备或早期阶段的代码库——而他后来也承认,这恰恰是最不能代表大型遗留企业系统的情况。
- 100% AI-code claim is unverifiable"100% AI 写代码"的说法无法验证The article's strongest data point (Cherny's 200 PRs) comes from closed-source software built by the tool's own creator, with no external audit possible — a significant evidentiary gap the article itself only partially addresses.文章最有力的数据点(Cherny 的 200 个 PR)来自该工具创造者本人开发的闭源软件,无法被外部审计——这是一个显著的证据缺口,文章本身也只是部分承认了这一点。
- Snapshot claims will date quickly时效性论断很快会过时Model-specific claims (Opus 4.5, GPT-5.2 as 'the tipping point') are inherently perishable; by the time a reader encounters this months later, newer models may have shifted the baseline further, undercutting the article's specific framing.针对特定模型的论断(Opus 4.5、GPT-5.2 是"拐点")本质上是易过时的;读者几个月后再看时,更新的模型很可能已进一步移动了基准线,削弱文章具体框架的时效性。
Worth reading for any working developer trying to calibrate 2026 expectations, but treat the '90% AI-written code' claim as directional testimony from enthusiastic early adopters on friendly (greenfield, well-tested) codebases, not as measured, verifiable industry data — large legacy systems may see a much slower, messier version of this shift.
值得每一位在校准 2026 年预期的开发者一读,但要把"90% 代码由 AI 生成"这一论断,当作热情早期采用者在友好条件(全新项目、测试完备)下给出的方向性证词来看待,而非经过实测验证的行业数据——大型遗留系统经历的这场转变,很可能要慢得多、也乱得多。
Original Text原文
The English text on this side is an AI translation provided for convenience; the authoritative version is the source in the other language.
What happens to software engineering when AI writes almost all the code?
This is no longer a hypothetical question — it's a massive trend about to hit the tech industry
This year's winter break was a good time for developers to step away from their day jobs and tinker with side projects, including using AI agents to finish ideas that had been left half-done. That's at least what I did: there were a few features I'd wanted to build for months but never got around to in 2025 — one was a self-serve group subscription feature for large companies, and the other was a custom admin panel I built for The Pragmatic Engineer.
To my surprise, large language models like Opus 4.5 and GPT 5.2 performed remarkably well on the medium-sized tasks I gave them: I ended up shipping a few hundred lines of code to production, and the whole process was just prompting the LLM, reviewing its output, confirming the tests passed (including the new tests I had it write!), and then prompting it for a final round of polish.
Even more surreal, I actually wrote production-grade software from my phone: I connected Claude Code for Web (Anthropic's web-based coding tool that lets you direct AI programming from a phone) to my GitHub, so I could use the Claude mobile app to direct it to modify code, and add and run tests. Claude dutifully created PRs, which triggered GitHub Actions (running the tests Claude itself couldn't run), and I found myself reviewing and merging PRs with new features purely from my phone while traveling. To be honest, this was all low-risk work — all the business logic was covered by automated tests — but I had never before experienced the thrill of "creating" code and pushing it to production purely from a phone.
This experience isn't unique to me — a lot of people share the same feeling. In my view, software engineering tools are undergoing a step change. In this piece — also The Pragmatic Engineer's first article of 2026 — let's explore the current state of things, and what it means for us developers when AI starts writing the vast majority of code.
Today we'll cover:
The latest models bring an "a-ha moment." It's not just developers at AI companies who've noticed the huge leap in model capability — independent developers feel it too.
Why now? The models released in November and December seem to be the tipping point: Opus 4.5, GPT-5.2, and Gemini 3.
The bad news: the value of specialized expertise is declining. Looking ahead, prototyping, mastery of multiple programming languages, or deep specialization in a particular tech stack may all depreciate significantly.
The good news: software "engineers" are worth more than before. The qualities of a Tech Lead are in higher demand, startups will expect engineers to be product-minded, and being a solid software engineer rather than just a "code writer" will pay off more.
The harsh reality: unsettling consequences. Generating more code brings more problems, weak engineering practices will be exposed faster, and developers' work-life balance may become harder to maintain.
Product management vs. software engineering: convergence or divergence? Product managers can now more easily generate software — fewer engineers are needed to achieve a goal — but software engineers similarly need product managers less. The overlap between the two professions will be greater than ever.
1. The latest models bring an "a-ha moment"
Over the past few weeks, several senior software engineers have shared their firsthand experience that AI tools are now powerful enough to generate the bulk of their day-to-day code.
Jaana Dogan, a principal engineer at Google, was impressed by the progress of Claude Code:
"I'm not joking, this isn't funny at all. We've been trying to build a distributed agent orchestration system at Google since last year. Multiple approaches coexisted, and no one could agree on anything, etc. I described the problem to Claude Code, and within an hour it produced what took us until last year to build.
It's not perfect, and I'm still iterating, but this is the stage we're at now. If you're skeptical about coding agents, try using one in a domain you're good at. Build something complex from scratch, and be the judge yourself."
Thorsten Ball, a software engineer at Amp, reflected on his blog (bold in original):
"For fifteen years, I believed I loved writing code, loved typing it out character by character, loved what Gary Bernhardt calls the 'rhythm of typing' — sitting at the editor, fingers clattering on the keyboard.
Now, I'm not so sure anymore.
2025 was a year of deep reflection for me about my relationship with programming. I used to occasionally wonder, 'should I become a Lisp devotee?' But I never once wondered, 'do I even still enjoy typing code by hand?'
By the end of this year I've realized that typing code by hand now makes me feel irritated."
Malte Ubl, CTO of Vercel, said:
"This holiday was insane: I built two large open source projects (one not yet released, the other a complete bash environment implementation for AI agents, written in TypeScript).
I started writing a book
And fixed a bunch of other things too
With Opus 4.5, the world is completely different. None of this would have been possible without it. Now Opus plus Claude Code is like a senior software engineer — you tell it what to do, and it does it. Hard tasks still need supervision, but it's extremely responsive to feedback, basically getting it right with a single nudge.
I don't want to overstate this, but you all really need to let go of your old assumptions. The cost of producing software is approaching zero."
Longtime readers may remember Malte, who previously shared reflections on 20 years of a software engineering career, 11 of them at Google.
You might say all the people quoted above work at companies that sell AI development tools, of course they'd say this. But engineers with no vendor interest at all have made similar observations:
David Heinemeier Hansson (DHH), the creator of Ruby on Rails, described how his attitude toward AI did a complete 180:
"You can't dismiss how amazing AI itself is just because of the sloppy and embarrassing AI output out there. This is the most exciting thing since we networked computers together. If you were pessimistic or skeptical about AI throughout 2025, why not start 2026 with optimism and curiosity instead?
Just last summer, I said on Lex Fridman's show (a well-known tech podcast) that I wouldn't let AI write code directly, but in hindsight, that resistance was because the models simply weren't good enough yet! I spent more time rewriting AI's code than I would have spent writing it myself. Now it's completely reversed."
Adam Wathan, creator of Tailwind CSS, said:
"Now, every time I'm forced to type out precise syntax by hand instead of using AI, it feels like a chore. To my surprise and relief, programming is still fun — even more fun than before.
My biggest problem now is not being able to come up with enough worthwhile ideas to fully take advantage of this productivity boost."
From "AI slop" to shaking up the whole industry
One widely shared "a-ha moment" came from Andrej Karpathy, co-founder of OpenAI. Karpathy hasn't been involved with OpenAI's day-to-day operations for years and is known for his blunt assessments and criticism of AI tools. Last October, on the Dwarkesh podcast (a well-known tech podcast), he summarized his views on AI coding tools (bold in original):
"Overall, the models just aren't there yet. I think the industry is overreaching, trying to pretend everything is great, but it's not.
It's slop.
They don't want to face this, maybe they're busy fundraising or something. I don't know what's going on, but we're in this awkward in-between stage. The models are genuinely impressive, but they still need a lot of polishing.
For now, autocomplete works best for me. But there's some code I'll still use LLM agents to write."
Two months later, that view was completely revised. On December 26th, Karpathy wrote (bold in original):
"I have never felt more behind as a programmer than I do right now.
The profession is being massively "refactored" (yes, he used the programming term to describe the transformation of the profession itself), and the proportion of code programmers contribute by hand keeps shrinking.
I have a feeling that if I could string together all the tools that have emerged over the past year, my capability could increase tenfold. And not capturing this dividend is purely on me.
On top of the existing layers of abstraction, there's now a whole new programmable abstraction layer to master: agents, sub-agents, their prompts, context, memory, modes, permissions, tools, plugins, skills, hooks, MCP, LSP, slash commands, workflows, IDE integrations... You also need to build a complete mental model to grasp the strengths and pitfalls of these fundamentally stochastic, error-prone, opaque, ever-changing entities, which have suddenly become entangled with the traditional engineering that used to work just fine.
Clearly, a powerful alien tool has been handed out to everyone, just without a manual — and everyone has to figure out on their own, amid a magnitude-nine earthquake, how to hold it steady and operate it.
Roll up your sleeves and get to work — don't fall behind."
Boris Cherny, the creator of Claude Code, responded that all the code he committed last month was written by AI:
"Last month was the first time as an engineer that I never opened an IDE at all. Opus 4.5 wrote about 200 PRs, every single line of code. Software engineering is undergoing a fundamental shift, and even for early adopters and practitioners like us, the hardest part is constantly recalibrating our expectations. And this is still only the beginning."
The Pragmatic Engineer previously did an in-depth feature, talking to Boris and other founding team members about how Claude Code was built.
2. Why now?
The model releases in November and December seem to be the true tipping point for AI coding capability:
Gemini 3 (Google, released November 17): Google's strongest coding model to date
Opus 4.5 (Anthropic, released November 24): the company's strongest coding model, now the default model for Claude Code
GPT-5.2 (OpenAI, released December 11): powers Codex, performing on par with Claude Code running on Opus
I've used both Opus 4.5 and GPT-5.2, and both are extremely capable at coding — this isn't a fringe opinion either. Peter Steinberger, a software engineer with about 20 years of experience and founder of PSPDFKit (a well-known PDF processing framework), shared his impressions of GPT-5.2 on his blog:
"The jump from GPT 5/5.1 to 5.2 is huge. After GPT 5.2 came out, I need my own CLI tool 'oracle' (which helps unstick agents when they get stuck) much less often. I still occasionally use GPT 5 Pro for research, but the number of times I have the model 'ask oracle' went from several times a day to a few times a week.
I don't feel bad about it; building oracle itself was fun, and I learned a lot about browser automation and Windows, and finally spent time studying the skills feature, which I'd previously never taken seriously. What this shows is just how much 5.2 has improved on many real-world coding tasks: nearly everything I threw at it, it could one-shot."
Simon Willison, an independent software engineering expert in the LLM space whom I've followed for a long time, made the same observation:
"In my experience, GPT-5.2 and Opus 4.5, both released in November, really do represent a tipping point — where the incremental progress of models suddenly crossed an invisible capability threshold. All at once, a huge batch of harder coding problems became solvable.
Gemini 3 Pro might belong in this group too, but I haven't seen the same degree of astonishment about it from the seasoned engineers I follow."
The very first guest on The Pragmatic Engineer podcast was Simon, under a fitting title: AI tools for software engineers, without the hype — an attitude Simon has consistently practiced.
A crazy prediction came true?
One prediction that many people — myself included — dismissed at the time came from Anthropic CEO Dario Amodei. Last March, he said:
"I think within three to six months, AI will be writing 90% of the code. In another 12 months, we might be living in a world where AI writes almost all the code."
It turned out to come true in December, with 100% of the code Cherny committed to Claude Code being AI-generated. From a skeptical standpoint, you could point out that Claude Code isn't open source, so this claim is hard to verify. And of course, the creator of Claude Code would want to showcase its capabilities. But I've talked with Boris, and I trust him; and my own experience using Claude Code matches what he described: all the code I commit is now generated by having Claude Code write it.
When the code doesn't meet my expectations, I keep prompting the LLM to change it. Like Boris, I no longer write code by hand — not because I can't, but because it's no longer necessary; the model is capable enough. I can still write it by hand, but handing it to the model is clearly faster.
Even with code I know well and can navigate freely in my IDE, I find editing with an agent to be at least as fast as doing it manually, sometimes faster. That said, I still open the IDE from time to time, because I want to confirm to myself that I'm still capable of doing this work by hand.
For my own use case—TypeScript, Node/Express, React, and Postgres—the claim that "AI can generate 90% of the code" is largely true. From what I understand, Go, Rust, and other mainstream languages and frameworks with plenty of training data are increasingly similar. Interestingly, LLMs seem to be quite good at writing C code too, as Redis creator Salvatore Sanfilippo has observed.
The rest of this article proceeds on the assumption that AI coding tools will, this year, reach a level where they can generate roughly 90%+ of the code for many developers and teams. The likeliest early adopters are startups still searching for product-market fit—for whom throwaway work doesn't matter much anyway—and greenfield development, where you're building from scratch without needing to understand an existing codebase.
Of course, in many situations relying entirely on AI coding tools still isn't realistic, whether because it isn't yet good enough for certain codebases or contexts, or because developers deliberately choose not to rely on it.
But it's worth considering: in an environment where nearly all code is generated by AI via prompts rather than typed by developers by hand, where does the software engineering profession go? This will be a seismic shift, but what will it actually look like? Let's go through the good, the bad, and the ugly possibilities, starting with the potential downsides.
3. The bad news: expertise is losing value
Some capabilities once considered high-value will increasingly be handed off to AI:
Prototyping. Platforms like Lovable and Replit position themselves explicitly as tools that help non-technical people build software. In a recent ad, Replit brought in NBA legend Shaquille O'Neal to vibe-code an app called "The Greatest Pickup Lines of All Time":
O'Neal, with zero development experience, vibe-coding. The resulting app is a prototype at best. Source: Replit
That said, with AI tools, product managers, designers, and business people can now build their own prototypes without needing a developer to turn ideas into reality. At the same time, every developer will be expected to quickly produce proof-of-concept apps—this will become table stakes.
Being a programming-language polyglot may be worth less. In the past, engineers fluent in multiple languages were in high demand, because teams typically preferred to hire people with experience in their specific stack. Go teams tended to hire Go experts, Rust teams hired Rust experts, TypeScript teams hired TypeScript experts. To be fair, some more forward-thinking teams didn't care whether candidates already knew their specific language, trusting that good engineers can pick up a new language anytime.
But when AI writes the vast majority of the code, knowing several languages matters less, because any engineer can jump into any codebase and have AI implement a feature—and the AI will likely produce a reasonably solid implementation. Even better, you can have AI explain parts of the codebase to you, ramping up on a new language faster than would be possible without AI.
Is language specialization, and frontend/backend specialization, coming to an end? In the early 2000s, I recall most job ads asking for developers in a specific language: ASP.NET developers, Java developers, PHP developers, and so on. Starting in the mid-2010s, more and more companies began hiring by stack direction instead: backend development, frontend development, native iOS/Android development, cross-platform mobile development. In backend, it became widely accepted for a developer familiar with Go to move to TypeScript, Scala, or Rust. The roles that still cared about specific languages were mainly native mobile development, since iOS and Android frameworks differ enough to require deep mastery of one or the other.
But today, with AI, a backend engineer can prompt their way to decent frontend code, cross-platform code, and even attempt native mobile code. With this tool available, I find it hard to imagine startups still hiring separate frontend and backend developers: they'll just hire one solid expert and trust that person to use AI to solve problems across the whole stack.
Executing well-defined tickets will increasingly be done by AI. Take a clearly described JIRA or Linear ticket—whether a bug report or a small feature request—and have AI implement it. Today, the Cursor team already has an automated pipeline where every Linear ticket is automatically handed to Cursor, which implements it end to end. The developer's job is just to decide whether to merge or keep iterating. The more context provided and the stronger the model, the higher the chance the output can be merged as-is.
This will be a major shift, especially in more hierarchical workplaces, where project managers or product managers have long written detailed tickets for developers to execute.
Refactoring may increasingly be handed to AI. AI is already quite good at refactoring today, and the tooling will only keep improving. Manually refactoring will be far slower than telling AI what kind of refactor you want. Of course, even before AI, modern IDEs already offered powerful refactoring capabilities—renaming functions or classes across an entire codebase, extracting functions, and so on.
Of course, the risk of AI botching things remains, especially for large-scale refactors. So this year, the importance of code-verification methods will only grow.
Does generated code need careful review? It depends. AI-generated code can be verbose, or it might reinvent the wheel instead of reusing existing abstractions. But sometimes that's entirely acceptable—for example, when building a proof of concept, or when program performance doesn't matter much.
Software engineer Peter Steinberger, who's working on a greenfield project, says he barely looks at AI-generated code anymore:
"These days I barely read code anymore. I watch the code flow by, occasionally paying attention to the key parts, but honestly, I don't look at most of it. I know where the various components are, what the overall structure looks like, how the system is designed—usually that's enough.
The decisions that really matter now are language/ecosystem and dependency choices. The languages I use regularly are TypeScript (for web), Go (for CLI tools), and Swift (when I need macOS-specific features or a UI). A few months ago I had zero interest in Go, but then I tried it and found that agents write Go really well, and Go's simple type system makes type-checking run fast."
That said, reading code still matters a lot when extending mature existing software or when you need to guard against security issues. Broadly speaking, if shipped code breaks and affects the business, you'll definitely want both testing and code review.
4. The good news: software engineers are more valuable than before
Developers don't spend all their time writing code—at least not in most workplaces. Atlassian's 2025 State of Developer Experience report (surveying 3,500 people) found that developers spend only 16% of their week, on average, writing code, with the rest going to administrative matters. Looking back on my time at Microsoft, Skyscanner, and Uber, that ratio rings true: I was helping colleagues, doing code reviews, discussing designs and bugs, attending planning meetings, team meetings, all-hands, doing hiring, coordinating with various people, and so on.
So even if AI writes all the code in 2026, that only frees up a small slice of the work week. And obviously, to get AI to write the right code, you first need to give it the right prompt.
The traits of a strong tech lead will almost certainly be in even higher demand. When AI can implement any well-defined ticket, who writes the ticket that gets AI to generate correct code? Writing a "perfect" ticket requires clearly describing two things:
The user requirements of functional work: how the feature should behave, and what should happen in various edge cases
The technical detail of nonfunctional requirements: work related to performance, accessibility, and reliability
Non-technical people can write detailed user-facing tickets, but they're nearly incapable of clearly describing nonfunctional requirements—and this is exactly where software engineering knowledge is becoming ever more critical. Hands-on engineers who can think from the user's perspective and break work into well-defined tasks will be in even higher demand. This is precisely the skill good tech leads already possess. The only change is that even entry-level engineers, if they want to grow quickly in coding, will need to master this skill too.
Testing and test infrastructure skills will matter even more. For agents to be more effective and hallucinate less (that is, invent code or APIs that don't exist), they need feedback loops to verify their own work. Fast-running verification methods include:
Compiling the code (does it compile?)
Running static analysis (does it follow the defined rules?)
Running automated tests (do all tests pass?)
Personally, without unit tests, integration tests, or even end-to-end tests, I can't imagine trusting AI-generated code. Frankly, I currently feel that without targeted prompting, AI agents still aren't that great at writing good tests. When I prompt it to build a feature, I also prompt it with the kinds of tests I want to see, and confirm whether the tests were written as expected.
Tests also need to run as part of the CI/CD pipeline. Of course, as codebases grow, tests may run slower and slower; that's when engineers need to roll up their sleeves to optimize test speed, or figure out which tests are redundant. This skill used to be required only of senior software engineers, but going forward, it may become table stakes for every engineer who generates a large amount of code with AI.
At more startups, "having product sense" may also become a basic requirement. As AI generates more and more code, being clear about what to build becomes more important. Some nimble startups are already hiring "product engineers"—people who can identify what needs to be done themselves, combining the roles of a mini product manager and a software engineer.
Startups adopting the product-engineer model include WorkOS—where roughly 80 engineers are supported by just one product manager, and everyone is a product engineer—and Linear, which had no product manager at all in its early years. Today, the company also hires product engineers.
Making good architectural decisions matters more than ever. The faster and more code gets generated, the more important it becomes to have a clear structure for the software. Should you build a monolith, or independent, testable services? What are the interfaces and boundaries, how do you make each part testable, do you have end-to-end tests, mocks, fakes? The list goes on.
These are all decisions you need to explicitly instruct AI to follow, rather than letting it improvise freely. Otherwise, you'll end up stuck with unmaintainable software—and even AI won't be able to save you.
Tracking and managing tech debt will get more attention. The more code there is, the more tech debt there is, and the more there is to track and manage. Less experienced engineers won't notice every issue, and reliability challenges, performance regressions, and more bugs will quietly accumulate, making it harder and harder to change code without breaking something else. Our earlier guide to paying down tech debt is even more relevant in an age of AI-generated code at scale!
The ability to build reliable, high-performance, scalable, and secure systems will be an extremely valuable skill. When anyone can generate software that's "good enough but could break at any moment," engineers who can consistently produce stable, reliable, high-quality code will be in even higher demand.
You can't just get AI to write secure, high-performance code with a single prompt: you need to know what you want, how to verify nonfunctional requirements, and how to design the architecture, then prompt AI accordingly. Sometimes, you may even need to set AI aside and write the code or configuration yourself to get the details right. Ultimately, knowing when to apply your own expertise is itself a skill.
Being a solid software engineer, not just someone who "writes code," will be more sought-after than before. To sum up what's been said above: the "engineering" part of building software becomes more important. We'll generate more code, and to make that code run reliably, the engineering methodology has to be solid and the feedback loops tight.
Last year, vibe coding rapidly took off among non-technical crowds, and many quickly discovered: even with a super-powerful AI generating the code, building software that actually works well is genuinely hard. Half a year ago, I made a meme about this on LinkedIn:
Writing code quickly isn't the bottleneck to creating high-quality software
5. The ugly reality: unsettling consequences
More code and more resource consumption = more problems? There's already evidence that engineers using AI submit more PRs and produce more code. Here's a comparison of Michael Novati's GitHub activity in 2024 (barely using AI) versus 2025 (using AI heavily):
PR count doubled after using AI. Source: Michael Novati
When Michael worked at Meta, he was the most prolific developer there, and Meta's "Coding Machine" nickname was coined because of him. We did a podcast episode featuring Michael.
And he hasn't slowed down since: last year, at a pace of 400-600 commits per month (15-25 per day!), he contributed over 1,500 new features and more than 800 bug fixes to the startup platform he's building full-time. He shared a more detailed summary.
It's obvious that the more code there is, the more room there is for bugs, security vulnerabilities, and other issues to creep in. This could also lead to more resource consumption—developers and teams continually building more complex services, storing more data, consuming more compute, and so on.
Code quality is getting rougher. Predictably, most teams using AI to generate more code won't raise their quality bar accordingly — at least not at first. Engineers used to review a small number of small PRs; applying the same standard to an ever-growing volume of larger PRs simply isn't realistic.
Early data suggests the quality of code shipped to production is declining: the Cortex 2026 Benchmark Report surveyed over 50 engineering leaders and found that change failure rate (the share of deployments that cause an incident or rollback) rose by 30%.
Weak software engineering practices will surface problems faster. Teams that lack a culture of automated testing, don't follow coding standards, or have weak observability infrastructure will see more regressions pushed to production — and possibly more outages. The reason is simple: delivery is faster now, so the 'bad stuff' hits production more often and more quickly.
Demand may fall for developers who can only 'write code' without broader software engineering skills. If a developer can't offer software engineering skills — like breaking down complex projects, designing architecture for testability and observability, and building scalable, reliable systems — finding a job may get harder. When even a non-technical person can use AI to generate code, the skills developers need must go beyond 'writing code,' since AI has clearly already mastered that.
Will the boundary between work and life get harder to hold? I have a hunch that 2026 will be the year AI agents running in remote virtual sandboxes go mainstream. That means as a developer, you'll be able to give instructions, verify results, and deploy code from a browser or even your phone — no work computer required. This shift will feel like when Slack and other messaging tools arrived on mobile: developers can be reached anytime, anywhere, and can fix bugs from wherever there's a network connection.
This could become a problem. Former Datadog engineer Donovan Dicks points out:
"My worry is that a better mobile experience will further erode the boundary between employees' personal lives and professional responsibilities. A lot of people already feel pressure to install Slack, Teams, and similar apps on their phones and be reachable by their employer at any time — and there's no extra pay for anything done outside normal working hours. Letting engineers get more done while AFK just exposes them to more risk of being squeezed by employers.
As a salaried employee in the US, I've never been paid extra for handling a late-night incident, answering messages during my commute, or doing other work outside working hours. 'Away from the keyboard' is one of the few defenses I have left against more professional responsibility eating into my personal time, especially vacations. If mobile coding workflows become viable and the norm, that defense may disappear.
The advances in these tools are genuinely exciting, and I enjoy playing with them on personal projects, but I'd be much more cautious about bringing them into a professional workflow. I'm curious what kind of impact this will have on the industry as a whole."
Will junior engineers be forced to grow into senior engineers faster? In this new era where AI generates most of the code, the expectations placed on software engineers seem to be shifting to:
Being good at breaking work down into smaller tasks
Being able to work across the stack: from backend to frontend, even mobile
Being product-minded: proactively talking to customers, fixing bugs without being told, proactively suggesting product improvements
Thinking about architectural decisions early, making pragmatic choices in software structure
Being skilled at verifying AI output
Being able to personally handle automated testing and observability
Continuously managing tech debt
These used to be the baseline standards top companies held senior or staff-level engineers to, but they're now becoming baseline expectations for entry-level engineers. Yet before the AI era, entry-level engineers spent years writing lots of code and gradually picked up these skills by working alongside more senior colleagues.
Will this shift push new graduates to 'mature' faster — skipping the 'writing code' stage that AI already handles well, and jumping straight into the engineering part of software? If so, does that have to be a bad thing? In my experience, new graduates are capable and quick learners, and I believe many of them will do quite well taking on roles that used to be reserved for senior developers.
Will a computer science education become a hard requirement for breaking into the industry? If I were a hiring manager looking to hire a new graduate, I'd need someone who understands 'advanced' concepts. They'd need to grasp software architecture patterns, automated testing, and the concept and importance of tech debt — with zero years of industry experience. Oh, and they'd probably also need experience using AI tools on a team project. That's a pretty high bar.
But in fact, some university curricula already provide this. Over a 3-5 year program, they balance theory and practice and organize team projects. Meanwhile, top schools like Harvard are already offering courses on large language models. Other universities will surely follow quickly.
In a world where writing code is worth less but the other parts of software engineering are worth more, academic education centered on software engineering and computer science could become an unavoidable gateway into the industry. Universities also serve as a kind of 'spam filter': when AI-generated applications flood hiring pipelines, partnering directly with local universities gives employers more confidence that a candidate is a real person.
Someone will have to be accountable for the explosion of code and software. As mentioned earlier, we're almost certain to see more code generated, more software shipped, and more maintenance work needed! This is undoubtedly good news for infrastructure providers — cloud vendors, infrastructure tooling companies, and software correctness verification tools will all benefit.
And for any production software that's live, when something goes wrong, someone has to be accountable. I don't think that someone will be a non-technical person, but rather professional software engineers who understand the code AI tools generate, can maintain it, and have the ability and knowledge to take responsibility for code deployed to production based on their own prompts.
6. Product management vs. software engineering: merge or diverge?
I've seen several product managers get excited about this shift, thinking that since AI can generate code from a spec, maybe product managers won't need software engineers to build software. But I don't think that's how it'll play out — instead, the boundary between software engineering and product management may become even blurrier than before:
Software engineers become more product-minded and get closer to customers. For example, they can quickly fix bugs customers report without needing a product manager to triage or get involved
Product managers become more hands-on, building prototypes themselves to demo to customers — sometimes without engineers involved at all, and occasionally even submitting their own bug fixes for engineers to merge
I also expect engineering teams to become smaller and more efficient, moving away from the more formal handoff model of the past — like a product manager writing a PRD and tossing it over to the engineering team to implement a new feature.
Linear co-founder Karri Saarinen describes this shift as the disappearance of 'middle-layer software work' — the 'writing code' stage that used to eat up so much time:
"Pure coding agent workflows can now produce usable code directly from goals, context, and tasks. They run more independently, you need to touch the code less and less, and reliance on the IDE keeps shrinking. The IDE is turning from a writing tool into a code browser.
As these systems keep evolving, this middle layer keeps getting thinner. Less and less time is spent manually translating intent into implementation.
What to actually build remains the most important question. (...)
[Software] design, in this sense, isn't about artifacts or tools. It's about shaping and sharpening clarity of intent through creativity, exploration, research, and discussion. It's about deciding what matters, what constraints apply, and what tradeoffs are acceptable. Good product work is the pursuit of a kind of clarity — what will make this execution actually meaningful.
In this era, directing and managing the work of agents is itself becoming a craft.
Writing code feels less like constructing a solution and more like creating the emergent conditions for a good solution."
One thing seems certain: as more powerful AI coding tools drive the evolution of software engineering, product management will evolve right along with it.
Summary
If someone wants to push back on the claim I opened with — that AI will write over 90% of the code on many teams — that's entirely fair. I have in fact worked at large tech companies where developers didn't write that much code to begin with; the complexity all lived outside the code itself! In environments like that, AI is unlikely to make much of a difference or have much impact.
Even my own 'a-ha moment' happened on a relatively simple codebase — one with good engineering practices (everything had tests) and a product that wasn't high-stakes, making it easy to experiment freely.
But still, the latest AI tools really did hit the quality bar I care about — 'code as good as what I'd write myself' — and that matters a lot!
It's predictable that early-stage startups will hand the reins to AI, letting it write all the code via prompts — at least until they find product-market fit. This piece explores what happens as that pattern spreads and hand-typing code in an IDE becomes as time-consuming and laborious as writing code today in a text editor with no autocomplete — something nobody does anymore.
The good news: the more a team relies on AI to generate code, the more the fundamentals of software engineering matter. More code means more problems, and those problems need to be caught earlier and addressed systematically. That's exactly what good software engineering has always done — and now more than ever.
I think this is a good thing: AI will push people to seriously think about verification (after all, you can't fully trust AI), observability (confirming things actually work in production), architecture (we'll be generating more code, faster, and it needs to be organized sensibly), and constraints (as delivery speeds up, you'll hit ceilings on resource usage, performance, and reliability that much faster).
The bad news: change could come very fast. It's been just over a year since Claude Code went from an idea in Boris Cherny's head to what it is now, and similar tools — OpenCode, Codex, Factory, Amp, Cursor, and more powerful agents besides — are already changing how software gets written. Change has always been the norm in tech, but I don't recall it ever moving this fast, or sweeping across the entire industry all at once.
There's also a sense of loss. I'm slowly coming to accept the likely reality that, from now on, most of the code I push to production will be written by AI. It's already writing faster than I can, and the results are about as good as what I'd write by hand. For languages and frameworks I'm less familiar with, it's even better than I am.
It feels like something precious is being taken away, and quite suddenly. Writing code well takes an enormous amount of effort — learning to write code that actually runs, learning to read and understand complex code, learning to debug and fix code when it breaks. I still remember how intimidating my first 'real' programming class in college (learning C) felt, remember feeling lost facing a complex codebase in my first job, remember spending years honing this craft through practice, learning from other developers, reading books and blogs. Once you reach a fairly high level, you have a valuable and easily verifiable skill — code that runs is the proof!
Some of my fondest memories of building software are about writing code. Getting into flow, juggling several ideas in my head at once, typing them out at speed, then compiling and running the code and seeing — 'great' — everything working as expected!
Honestly, it's always been a love-hate relationship — the intense focus that writing complex code demands is itself something you both love and hate. And then there's the friction of time estimates: when you're deep in flow wrestling with a hard problem, time just moves differently.
Now, all of that looks set to become a thing of the past.
I can't help but wonder: will there still be that sense of accomplishment that comes from the difficulty of writing complex code? Yes, AI is convenient, but there's also something being lost.
Or maybe, once AI agents take over, 'getting into flow' will shift toward thinking about higher-level problems while directing AI to write the more complex code?
Either way, an earthquake-level shift also means exciting new opportunities. I've never before been so clearly aware, in the moment, that a major transformation was happening. This time, I'm convinced my own way of coding will change dramatically in 2026, and the ripple effects will be too numerous to count.
Change can create better career opportunities and open new paths to success, while also bringing plenty of excitement and anxiety along with it. My guess is that five years from now, demand for software professionals will be even higher than it is today, partly because of the explosion in the amount of software AI is creating. With these more powerful new tools, we're all figuring out — in this future — what world-class software engineering actually means.
What do you think about how more powerful AI tools might change our profession? Feel free to leave a comment below.
当 AI 写了几乎所有代码,软件工程会怎样?
不再是假设性问题,这是一场即将冲击科技行业的大趋势
今年冬假是开发者们从日常工作中抽身、捣鼓个人项目的好时机,其中也包括用 AI 智能体(AI Agent)把那些做了一半的点子补完。至少我是这么干的:有几个功能我想做好几个月了,但 2025 年一直没腾出手——一个是给大公司用的自助团体订阅功能,另一个是我给 The Pragmatic Engineer 定制的后台管理面板。
没想到,像 Opus 4.5 和 GPT 5.2 这样的大语言模型在我布置的中等规模任务上表现惊人:我最终往生产环境推了几百行代码,整个流程就是提示 LLM、审查输出、确认测试通过(包括我让它写的新测试也通过了!),再提示它做点最后的微调。
更魔幻的是,我居然在手机上写出了生产级的软件:我把 Claude Code for Web(Anthropic 的 Web 版编码工具,可在手机上指挥 AI 编程)连上了我的 GitHub,这样我就能用 Claude 手机应用来指挥它修改代码、添加和运行测试。Claude 乖乖地创建了 PR,触发了 GitHub Actions(跑那些 Claude 跑不了的测试),我发现自己在旅途中纯靠手机就能审查和合并带有新功能的 PR。说实话,这些都是低风险的工作,所有业务逻辑都有自动化测试覆盖,但我以前从未体验过用手机“创造”代码并推送到生产环境的快感。
这段经历不只是我一个人有,很多人都深有同感。在我看来,软件工程工具正在经历一场质的飞跃(step change)。在这篇文章中——也是 The Pragmatic Engineer 2026 年的第一篇——我们来探讨一下当前的现状,以及当 AI 开始写绝大部分代码时,对我们开发者意味着什么。
今天我们聊这些:
- 最新模型带来了“顿悟时刻”(a-ha moment)。 不只是 AI 公司的开发者注意到模型能力大幅提升,独立开发者同样感受到了。
- 为什么是现在? 十一月和十二月发布的几个模型似乎就是拐点(tipping point):Opus 4.5、GPT-5.2 和 Gemini 3。
- 坏消息:专业知识的价值在下降。 往前看,原型开发、精通多种编程语言、或者在某个技术栈上的专精,可能都会大幅贬值。
- 好消息:软件“工程师”比以前更值钱。 技术负责人(Tech Lead)的特质更受追捧,初创公司会要求工程师具备产品思维(product-minded),做一个扎实的软件工程师而不仅仅是“写代码的”会更吃香。
- 残酷的现实:令人不安的后果。 生成更多代码会带来更多问题,薄弱的工程实践会更快暴露,开发者的工作生活平衡可能更难维持。
- 产品管理 vs 软件工程:融合还是分离? 产品经理现在可以更容易地生成软件——实现目标所需的工程师更少了——但软件工程师同样不那么需要产品经理了。两个职业的重叠将比以往更多。
1. 最新模型带来了“顿悟时刻”
过去几周,一些资深软件工程师分享了他们的亲身体验,讲述 AI 工具已经强大到可以生成他们日常大部分代码的程度。
Google 首席工程师 Jaana Dogan 对 Claude Code 的进步印象深刻:
"我不是在开玩笑,这一点都不好笑。我们从去年开始就在 Google 尝试构建分布式智能体编排系统。各种方案并存,大家也没达成共识等等。我给 Claude Code 描述了一下这个问题,它一小时内就生成了我们去年才做出来的东西。
还不完美,我还在迭代,但这就是我们现在所处的阶段。如果你对编程智能体持怀疑态度,试试在你擅长的领域用一下。从零开始构建一个复杂的东西,你自己来当裁判。"
Amp 的软件工程师 Thorsten Ball 在博客中反思(粗体为原文强调):
"十五年来,我一直以为自己热爱写代码,热爱一个字一个字地敲出代码,热爱 Gary Bernhardt 说的那种'打字的节奏感'——坐在编辑器前,手指在键盘上噼里啪啦。
现在,我不太确定了。
2025 年是我深刻反思自己与编程关系的一年。以前我偶尔也会冒出'我要不要去当个 Lisp 信徒?'这样的想法;但从来没想过'我到底还喜不喜欢亲手敲代码?'
这一年下来我认识到,亲手敲代码这件事,现在让我感到烦躁。"
Vercel 的 CTO Malte Ubl 说:
"这个假期太疯狂了:我搞了两个大型开源项目(一个还没发布,另一个是用 TypeScript 给 AI 智能体做的完整 bash 环境实现)。
- 我开始写一本书
- 还修了一堆别的东西
有了 Opus 4.5 之后,世界完全不一样了。没有它,这些事情绝对不可能完成。现在 Opus 加上 Claude Code 就像一个高级软件工程师,你告诉它做什么,它就去做。难的任务还是需要监督,但它对反馈的响应非常灵敏,基本上点一下就改对了。
我不想说得太夸张,但你们真的得抛弃过去的认知了。软件生产的成本正在趋近于零。"
老读者可能还记得 Malte,他之前分享过软件工程 20 年生涯的反思,其中 11 年在 Google。
你可能会说,上面这些人所在的公司都在卖 AI 开发工具,他们当然要这么说。但跟任何厂商都没利益关系的工程师,也给出了类似的观察:
Ruby on Rails 的创始人 David Heinemeier Hansson(DHH)描述了他对 AI 的态度如何180 度翻转:
"你不能因为那些粗制滥造和让人尴尬的 AI 输出就否定 AI 本身的了不起。这是自从我们把计算机联网以来,最让人兴奋的事。如果你 2025 年一直在对 AI 悲观或怀疑,为什么不在 2026 年带着乐观和好奇心重新开始呢?
就在去年夏天,我还在 Lex Fridman(知名科技播客主持人)的节目上说不让 AI 直接写代码,但事后看来,那部分抵触其实是因为当时的模型还不够好!我花在改写 AI 代码上的时间比自己从头写还多。现在彻底反过来了。"
Tailwind CSS 的创始人 Adam Wathan 说:
"现在每次不得不自己手敲精确的语法(而不是用 AI),都感觉像是一件苦差事。让我意外又欣慰的是,编程依然有趣,甚至比以前更有趣了。
我现在最大的问题是想不出足够多值得做的点子来充分利用这波生产力提升。"
从“AI 烂活”到震撼整个行业
一个广为流传的“顿悟时刻”来自 OpenAI 联合创始人 Andrej Karpathy。Karpathy 已经多年不参与 OpenAI 的事务了,以直言不讳地评价和批评 AI 工具而著称。去年十月,他在 Dwarkesh(知名科技播客)节目上总结了他对 AI 编码工具的看法(粗体为原文强调):
"总的来说,模型还没到位。我觉得这个行业步子迈得太大了,试图假装一切都很棒,但并不是。
就是烂活。
他们不愿意正视这一点,也许是在忙着融资什么的。我不知道怎么回事,但我们就是处在这么一个尴尬的中间阶段。模型确实很厉害,但还需要大量的打磨。
目前来说,自动补全对我最好使。但有些代码我还是会用 LLM 智能体来写。"
两个月后,这个看法被彻底修正了。Karpathy 在 12 月 26 日写道(粗体为原文强调):
"我从来没有像现在这样觉得自己作为程序员落伍了。
这个职业正在被大规模“重构”(refactored,没错,他用了编程术语来形容职业本身的变革),程序员亲手贡献的代码比例越来越少。
我有一种感觉,如果我能把过去一年涌现出来的工具都串联起来,我的能力可以提升 10 倍。而没有抓住这波红利,纯粹就是自己菜。
在原有的那些抽象层之上,又多了一层全新的可编程抽象层需要掌握:智能体、子智能体、它们的提示词、上下文、记忆、模式、权限、工具、插件、技能、钩子、MCP、LSP、斜杠命令、工作流、IDE 集成……还需要建立一个完整的心智模型,来把握这些本质上随机的、会犯错的、不透明的、不断变化的实体的优势和陷阱,而它们突然就和过去那些好端端的传统工程搅在了一起。
显然,一件强大的外星工具被分发到了众人手中,只不过没有附带使用手册,每个人都得在九级地震中自己摸索怎么拿稳、怎么操作。
撸起袖子干吧,别掉队了。"
Claude Code 的创造者 Boris Cherny 回应说,他上个月提交的所有代码都是 AI 写的:
"上个月是我作为工程师第一次完全没有打开 IDE。Opus 4.5 写了大约 200 个 PR,每一行代码都是它写的。软件工程正在发生根本性的变化,即使对于像我们这样的早期采用者和实践者来说,最难的部分也是不断重新调整自己的预期。而这仍然只是一个开始。"
The Pragmatic Engineer 之前做过一期深度报道,和 Boris 以及团队的其他创始成员聊了 Claude Code 是怎么做出来的。
2. 为什么是现在?
十一月和十二月的模型发布似乎就是 AI 编程能力真正变强的拐点:
- Gemini 3(Google,11 月 17 日发布):Google 迄今为止最强的编程模型
- Opus 4.5(Anthropic,11 月 24 日发布):该公司最强的编程模型,已成为 Claude Code 的默认模型
- GPT-5.2(OpenAI,12 月 11 日发布):驱动着 Codex,表现与搭载 Opus 的 Claude Code 不相上下
Opus 4.5 和 GPT-5.2 我都用过,两者在编程方面都非常能打,这也不是什么小众看法。Peter Steinberger 是有约 20 年经验的软件工程师,也是 PSPDFKit(知名 PDF 处理框架)的创始人,他在博客中分享了对 GPT-5.2 的印象:
"从 GPT 5/5.1 到 5.2,跨度巨大。GPT 5.2 出来之后,我需要用到自己做的 CLI 工具 'oracle'(用来在智能体卡住时帮它脱困)的情况少了很多。我偶尔还是会用 GPT 5 Pro 做研究,但让模型去'问 oracle'的次数从每天好几次变成了每周几次。
我不觉得可惜;做 oracle 本身就很有意思,我学到了很多关于浏览器自动化和 Windows 的知识,也终于花时间研究了 skills 这个功能,之前一直没当回事。这件事说明的是 5.2 在很多实际编程任务上进步有多大:我丢给它的东西,它几乎都能一把搞定(one-shot)。"
Simon Willison 是一位在大语言模型领域我一直关注的独立软件工程专家,他指出了同样的观察:
"在我的感受中,十一月发布的 GPT-5.2 和 Opus 4.5 确实代表了一个拐点——就是模型的增量进步突然越过了一条看不见的能力线。一下子,一大批更难的编程问题变得可以解决了。
Gemini 3 Pro 也许应该被归入这个行列,但我还没有从那些见多识广的资深工程师那里看到和另外两个模型同等程度的惊叹。"
The Pragmatic Engineer 播客的第一期嘉宾就是 Simon,标题恰如其分:给软件工程师的 AI 工具,不带炒作的那种——Simon 一直在践行这种态度。
一个疯狂的预言成真了?
一个当时很多人——包括我——都不以为然的预测,来自 Anthropic 的 CEO Dario Amodei。去年三月,他说:
“我认为三到六个月内,AI 就会写 90% 的代码。再过 12 个月,我们可能就生活在一个 AI 写几乎所有代码的世界里了。”
结果在十二月就应验了,Cherny 贡献给 Claude Code 的代码 100% 由 AI 生成。站在质疑的角度,你可以指出 Claude Code 并非开源项目,所以这个说法难以验证。而且,Claude Code 的创造者当然想展示它的强大能力。但我和 Boris 聊过,我信任他;同时,我自己使用 Claude Code 的体验也跟他说的一致:我提交的所有代码都是让 Claude Code 生成的。
当代码不符合我的预期时,我会继续提示让 LLM 改。和 Boris 一样,我已经不再手写代码了——不是因为不会,而是没必要了,模型足够胜任。我仍然可以手写,但交给模型显然更快。
即使是我很熟悉、可以在 IDE 里自如操作的代码,我也发现用智能体做编辑至少和我手动操作一样快,甚至更快。不过,我还是会时不时打开 IDE,因为我想确认自己有能力亲手完成这些工作。
就我个人的使用场景而言——技术栈是 TypeScript、Node/Express、React 和 Postgres——“AI 能生成 90% 的代码”这个说法基本属实。据我了解,Go、Rust 以及其他有大量训练数据的主流语言和框架,情况也越来越类似。有趣的是,LLM 写 C 代码似乎也相当不错,Redis 的作者 Salvatore Sanfilippo 就观察到了这一点。
本文后续内容基于一个假设:AI 编程工具将在今年达到能为很多开发者和团队生成约 90% 以上代码的水平。 最有可能率先实现这一点的是正在寻找产品 - 市场契合(product-market fit)的初创公司——对它们来说,试错性的工作本来就无所谓——以及全新项目开发(greenfield development),即不需要理解已有代码库就可以从零构建的项目。
当然,很多场景下完全依赖 AI 编程工具仍然不现实,可能是因为在某些代码库或上下文中它还不够好用,也可能是开发者主动选择不依赖它。
但值得思考的是:在一个几乎所有代码都通过提示词由 AI 生成、而非开发者手敲出来的环境里,软件工程这个职业会走向何方?这将是翻天覆地的变化,但具体会怎样呢?我们来逐一审视好的、坏的和残酷的可能性,先从潜在的负面影响说起。
3. 坏消息:专业知识的价值在下降
过去被视为高价值的一些能力,将越来越多地被交给 AI:
原型开发。 Lovable 和 Replit 这类平台明确把自己定位为帮助非技术人员构建软件的工具。在最近的一则广告中,Replit 请来了 NBA 传奇球星奥尼尔(Shaquille O'Neal),让他用凭感觉编程(Vibe Coding)的方式做了一个“史上最佳 5000 条搭讪金句”的 App:
奥尼尔零开发经验凭感觉编程。做出来的 App 充其量算是原型。来源:Replit
话说回来,有了 AI 工具,产品经理、设计师和业务人员可以自己搭原型了,不再需要找个开发者把想法变成现实。与此同时,每个开发者都会被期望能够快速生成概念验证应用,这将成为基本功。
编程语言多面手(language polyglot)可能不那么值钱了。 过去,精通多种编程语言的工程师很吃香,因为团队通常喜欢招对自家技术栈有经验的人。用 Go 的团队倾向于招 Go 高手,用 Rust 的、用 TypeScript 的也一样。不过要说明一点,一些比较前瞻的团队并不看重候选人是否精通他们用的特定语言,他们相信优秀的工程师可以随时上手新语言。
但当 AI 写绝大部分代码的时候,懂好几门语言的优势就没那么大了,因为任何工程师都可以跳进任何代码库,让 AI 去实现某个功能——而 AI 多半能给出像模像样的实现。更好的是,你可以让 AI 解释代码库的各个部分,比没有 AI 时更快地上手一门新语言。
语言专精和前后端专精要终结了? 2000 年代初,我记得大部分招聘广告要的是特定语言的开发者:ASP.NET 开发者、Java 开发者、PHP 开发者等等。从 2010 年代中期开始,越来越多的公司按技术栈方向招人:后端开发、前端开发、iOS/Android 原生开发、跨平台移动开发。在后端领域,一个熟悉 Go 的开发者转去写 TypeScript、Scala 或 Rust 已经被普遍接受。仍然看重特定语言的岗位主要是原生移动开发,因为 iOS 和 Android 框架差异大到需要深入掌握其中之一。
但今天有了 AI,一个后端工程师可以通过提示词生成还不错的前端代码、跨平台代码,甚至尝试原生移动代码。有了这个工具,我很难想象初创公司还会分别招前端和后端开发者:他们只需要招一个靠谱的专家,相信这个人会用 AI 在整个技术栈中自行解决问题。
执行定义清晰的工单(ticket)将越来越多地由 AI 完成。 比如一个 JIRA 或 Linear 上描述清楚的工单——无论是 Bug 报告还是小功能需求——让 AI 来实现。现在,Cursor 团队已经有了一套自动化流程,所有 Linear 工单都会被自动传给 Cursor,让它一把搞定实现。开发者只需要决定是合并还是继续迭代。传入的上下文越多、模型越强,输出可以直接合并的概率就越大。
这将是一个重大转变,尤其是在那些层级分明的职场——项目经理或产品经理长期以来一直在写详细的工单让开发者照做。
重构可能会越来越多地交给 AI。 AI 目前已经相当擅长重构了,工具只会越来越好。手动重构会比告诉 AI 你想要什么样的重构慢得多。当然,在 AI 出现之前,现代 IDE 也提供了强大的重构能力——比如跨整个代码库重命名函数或类、提取函数之类的。
当然,AI 搞砸的风险始终存在,特别是大规模重构。所以今年,代码验证手段的重要性只增不减。
需要仔细审查生成的代码吗?看情况。 AI 生成的代码可能很啰嗦,或者重复造轮子而不是复用已有的抽象。但有些时候这完全可以接受,比如做概念验证,或者程序性能并不重要的场景。
软件工程师 Peter Steinberger 在做全新项目,他说自己已经不怎么看 AI 生成的代码了:
"现在我已经不怎么读代码了。我会看着代码流过去,偶尔关注一下关键部分,但老实说,大部分代码我不看。我知道各个组件在哪儿、整体结构是什么样、系统是怎么设计的——通常这就够了。
现在真正重要的决策是语言/生态和依赖选型。我常用的语言是 TypeScript(做 Web)、Go(做命令行工具)和 Swift(需要用 macOS 特性或有 UI 的时候)。几个月前我对 Go 完全没兴趣,但后来试了一下发现,智能体写 Go 写得特别好,而且 Go 简单的类型系统让代码检查跑得很快。"
尽管如此,在扩展已有的成熟软件或需要规避安全问题时,阅读代码仍然很重要。大致来说,如果上线的代码出了问题影响到业务,你肯定既想做测试又想做代码审查。
4. 好消息:软件工程师比以前更值钱
开发者不会把所有时间都花在写代码上——至少大多数职场是这样。Atlassian 的 2025 年开发者体验报告(3,500 人参与调查)发现,开发者平均每周只有 16% 的时间在写代码,其余都花在了行政事务上。回想我在 Microsoft、Skyscanner 和 Uber 的日子,这个比例很真实:我要帮助同事、做代码审查、讨论设计和 Bug、参加规划会、团队会、全员会、做招聘、联系各方人员,等等。
所以即使 AI 在 2026 年写了所有代码,也只是解放了工作周中的一小部分时间。而且显然,要让 AI 写出对的代码,首先得给它正确的提示。
技术负责人的特质几乎肯定会更受追捧。 当 AI 能实现任何定义清晰的工单时,谁来写那个能让 AI 正确生成代码的工单?要写出“完美”的工单,你需要描述清楚两方面:
- 功能性工作的用户需求:功能应该怎么运作,各种边界情况下应该发生什么
- 非功能性需求(nonfunctional requirements)的技术细节:性能、无障碍访问、可靠性相关的工作
非技术人员可以写出面向用户的详细工单,但他们几乎不可能清晰地描述非功能性需求,而这正是软件工程知识越来越关键的地方。那些能站在用户角度思考、把工作拆解成定义清晰任务的实战型工程师,会更加抢手。这恰好是优秀的技术负责人已经具备的能力。唯一的变化是,即使是入门级工程师,如果想在编码这一块快速成长,也需要掌握这项能力。
测试和测试基础设施能力会更加重要。 要让智能体更高效、减少幻觉(Hallucination,即 AI 编造不存在的代码或 API),它需要反馈回路来验证自己的工作。能快速运行的验证手段包括:
- 编译代码(能编译通过吗?)
- 运行静态分析(是否遵循了定义好的规则?)
- 运行自动化测试(所有测试都通过了吗?)
就我个人而言,没有单元测试、集成测试,甚至端到端测试,我无法想象自己会信任 AI 生成的代码。坦白讲,我目前觉得如果不给针对性提示,AI 智能体写好测试的能力还不太行。我在提示它构建功能时,也会提示我希望看到的测试类型,并确认测试是否按预期编写。
测试还需要集成到 CI/CD 流程中运行。当然,随着代码库变大,测试可能会越跑越慢;这时候就需要工程师撸起袖子去优化测试速度,或者判断哪些测试是多余的。这种能力过去只要求高级软件工程师具备,但往后,对于所有大量用 AI 生成代码的工程师来说,它可能会成为基本功。
在更多初创公司,“有产品思维”可能也会成为基本要求。 当 AI 生成越来越多的代码,明确做什么就变得越来越重要。已经有一些敏捷的初创公司在招“产品工程师”(product engineer)——他们能自己发现要做的事情,同时兼具迷你产品经理和软件工程师的角色。
采用产品工程师模式的初创公司包括 WorkOS——那里大约 80 个工程师只配一个产品经理,每个人都是产品工程师——以及 Linear,它成立头几年完全没有产品经理。如今这家公司招的也是产品工程师。
做出好的架构决策变得更加重要。 代码生成得越快越多,就越需要明确软件的结构。你要把软件做成单体应用,还是独立的、可测试的服务?接口和边界是什么,怎样让各个部分可测试,有没有端到端测试、Mock、Fake?这个清单很长。
这些都是你需要明确指示 AI 去遵循的决策,而不能让它自由发挥。否则,你就会被难以维护的软件困住——即使有 AI 也救不了你。
追踪和处理技术债(tech debt)会受到更多重视。 代码越多,技术债就越多,需要追踪和处理的就越多。经验不足的工程师不会注意到所有问题,可靠性挑战、性能退化、更多 Bug 都会悄悄积累,修改代码而不破坏别的东西也会越来越难。我们之前的技术债偿还指南在 AI 大量生成代码的时代更加适用!
能够构建可靠、高性能、可扩展和安全的系统,将是一项极为珍贵的技能。 当谁都能生成一个“差不多能用但随时可能崩”的软件时,能产出始终稳定可靠的高质量代码的工程师将更加抢手。
你没法只靠一句提示词就让 AI 写出安全、高性能的代码:你需要知道自己想要什么、如何验证非功能性需求、如何设计架构,然后相应地提示 AI。有些时候,你可能还得抛开 AI,自己动手写代码或改配置才能把细节做对。归根结底,知道什么时候该用自己的专业知识,这本身就是一种能力。
做一个扎实的软件工程师,而不仅仅是“写代码的”,会比以前更受追捧。 把上面说的总结一下:构建软件中“工程”的部分变得更加重要。我们会生成更多的代码,要让这些代码可靠运行,工程方法必须靠谱,反馈回路必须紧密。
去年,凭感觉编程在非技术圈迅速流行,很多人很快就发现:就算用了超级 AI 来生成代码,要构建一个真正能用的软件其实很难。半年前,我在 LinkedIn 上做了一张关于这个话题的 meme:
快速写代码并不是创造高质量软件的瓶颈
5. 残酷的现实:令人不安的后果
更多代码和更多资源消耗 = 更多问题? 使用 AI 的工程师会提交更多 PR、产出更多代码,已经有证据了。下面是 Michael Novati 在 2024 年(几乎不用 AI)和 2025 年(大量使用 AI)的 GitHub 活跃度对比:
用 AI 后 PR 数量翻倍。来源:Michael Novati
Michael 在 Meta 工作时是那里最高产的开发者,Meta 的“Coding Machine”(编码机器)标签就是因他而设。我们做过一期播客节目邀请了 Michael。
而他之后也丝毫没有放慢脚步:去年,他以每月 400-600 次提交(每天 15-25 次!)的节奏,在他全职开发的创业平台上贡献了超过 1,500 个新功能和 800 多个 Bug 修复。他分享了一份更详细的总结。
显而易见,代码越多,Bug、安全漏洞和其他问题的滋生空间也越大。这也可能带来更多的资源消耗——开发者和团队在不断构建更复杂的服务、存储更多数据、消耗更多算力,等等。
代码质量更粗糙。 可以预见,大多数使用 AI 生成更多代码的团队,质量标准并不会随之提升——至少在初期不会。工程师以前审查的是少量小型 PR,现在要用同样的标准审越来越多、越来越大的 PR,根本不现实。
早期数据表明,推向生产环境的代码质量正在下降:Cortex 2026 基准报告调研了 50 多位工程负责人,发现变更失败率(change failure rate,即导致故障或回滚的部署比例)上升了 30%。
薄弱的软件工程实践会更快暴露问题。 那些缺乏自动化测试文化、不遵循编码规范、或可观测性(observability)基础设施薄弱的团队,将会有更多回归缺陷被推上生产环境,甚至可能遭遇更多线上故障。原因很简单:交付节奏加快了,那些“坏东西”撞上生产环境的频率和速度都在提高。
只会“写代码”而不具备软件工程能力的开发者,需求可能会下降。 如果一个开发者拿不出软件工程方面的技能——比如拆解复杂项目的能力、面向可测试性和可观测性的架构设计能力、以及构建可扩展和高可靠系统的能力——那找工作可能会更难。当一个非技术人员都能用 AI 来生成代码时,开发者需要的技能就必须超越“写代码”本身,因为很显然,AI 已经能做到这一点了。
工作与生活的边界更难守住? 我有种预感,2026 年将是 AI 智能体在远程虚拟沙箱中运行成为主流的一年。这意味着作为开发者,你可以通过浏览器甚至手机来下达指令、验证结果、部署代码——完全不需要工作电脑。这种变化就像当年 Slack 等通讯工具上了手机端一样:开发者随时随地都能被找到,在任何有网络的地方都能修 Bug。
这可能会成为一个问题。前 Datadog 工程师 Donovan Dicks 指出:
"我担心的是,移动端体验的提升可能会进一步侵蚀员工个人生活与职业责任之间的边界。很多人已经在为手机上装 Slack、Teams 等软件、随时被雇主联系到而承受压力了,而且在正常工作时间之外做的事情根本没有额外报酬。让工程师在离开键盘(AFK)的时候也能干更多的活,只会让他们面临更多被雇主压榨的风险。
作为美国的受薪员工,我从来没有因为深夜处理故障、通勤路上回消息、或者其他工作时间之外完成的任务而得到过额外报酬。'不在电脑前'是我仅存的几道防线之一,防止更多的职业责任蚕食我的个人时间,尤其是假期。如果移动端编码工作流变得可行并成为常态,这道防线可能就不复存在了。
工具的发展确实令人兴奋,我也喜欢在个人项目里把玩这些工具,但把它们引入职业工作流时我会更加审慎。我很好奇这会对整个行业产生什么样的影响。"
初级工程师被逼着快速成长为高级工程师? 在 AI 生成大部分代码的新时代,对软件工程师的预期似乎变成了:
- 善于将工作拆解为更小的任务
- 能够跨栈工作:从后端到前端,甚至到移动端
- 具备产品思维(product-minded):主动与客户交流,不用别人催就去修 Bug,主动提出产品改进建议
- 尽早思考架构决策,在软件结构设计上做出务实的选择
- 善于验证 AI 的输出
- 能亲自动手搞自动化测试和可观测性
- 持续管理技术债(tech debt)
这些要求在以前是头部公司对高级或 Staff 级别工程师的基本标准,而现在正在变成对入门级工程师的基本期望。然而在 AI 时代之前,入门级工程师要花好几年时间写大量代码,在与资深同事的合作中逐渐习得这些技能。
这种变化会推动应届毕业生更快地“成熟”吗——跳过 AI 已经擅长的“写代码”阶段,直接进入软件中的工程部分?如果是的话,这一定是坏事吗?以我的经验来看,应届毕业生能力很强、学得很快,我相信很多人会在承担那些以前只有资深开发者才能胜任的角色时,表现得相当出色。
计算机科学教育会成为新人入行的刚需? 如果我是一个招聘经理,要招一个应届生,我需要的是一个理解“高级”概念的人。他们需要在零年行业经验的情况下,就懂软件架构模式、自动化测试、以及技术债的概念和重要性。哦,他们大概还得有在团队里用 AI 工具做过项目的经验。这要求看起来确实很高。
但事实上,一些大学的课程体系已经能提供这些了。在 3-5 年的学制中,它们兼顾理论和实践,并组织团队项目。与此同时,像哈佛这样的顶尖学府已经在开设大语言模型相关的课程。其他大学肯定也会迅速跟上。
在一个写代码不再那么值钱、但软件工程的其他部分更加值钱的世界里,以软件工程和计算机科学为核心的学术教育可能会成为进入这个行业不可逾越的门槛。大学还充当着“垃圾过滤器”的角色:当 AI 生成的申请塞满了招聘通道时,与本地高校直接合作能让雇主更有把握确认候选人是真人。
代码和软件的大爆发,总得有人为此负责。 如前所述,我们几乎可以肯定会看到更多代码被生成、更多软件被交付、更多的维护工作需要完成!这对基础设施提供商来说无疑是利好——云服务商、基础设施工具商、以及软件正确性验证工具都将从中受益。
而对于任何上线运行的生产软件,当出了问题时,总得有人为此负责。我不认为这个人会是非技术人员,而是那些理解 AI 工具生成的代码、能够维护这些代码的专业软件工程师——他们有能力、有知识,对基于自己的提示词部署到生产环境的代码承担责任。
6. 产品管理 vs 软件工程:融合还是分离?
我见过好几位产品经理对这场变革兴奋不已,因为 AI 能按规格生成代码,这或许意味着产品经理可以不需要软件工程师就能构建软件。但我认为事情不会这样发展:相反,软件工程和产品管理之间的边界可能会比以前更加模糊:
- 软件工程师变得更有产品思维,与客户走得更近。比如,他们可以迅速修复客户反馈的 Bug,而不需要产品经理的分诊或介入
- 产品经理变得更加亲力亲为,自己构建原型给客户演示——有时甚至不需要工程师参与,偶尔还能自己提交 Bug 修复让工程师合并
我还预期工程团队会变得更小更高效,告别过去那种更为正式的交接模式——比如产品经理写一份产品需求文档(PRD)扔给工程团队去实现新功能。
Linear 联合创始人 Karri Saarinen 这样描述这种转变——“中间层软件工作”正在消失,也就是那个曾经占据大量时间的“写代码”环节:
"纯编码智能体工作流现在能够根据目标、上下文和任务直接产出可用代码。它们运行得更加独立,你需要碰代码的时候越来越少,对 IDE 的依赖也越来越小。IDE 正在从一个编写工具变成一个代码浏览器。
随着这些系统不断进化,这个中间层会越来越薄。花在手动将意图翻译成实现上的时间越来越少。
到底该构建什么,仍然是最重要的问题。(……)
[软件]设计,从这个意义上说,不是关于工件或工具的。 它是关于通过创意、探索、调研和讨论来形成并打磨意图的清晰度。它是关于决定什么重要、什么约束适用、什么取舍可以接受。好的产品工作,是去追求一种清晰——什么能让这次执行真正有意义。
在这个时代,指导和管理智能体的工作本身就成了一门手艺。
写代码不再像是在构造一个解决方案,而更像是在为好的解决方案创造涌现的条件。"
有一点看起来是确定的:随着更强大的 AI 编码工具推动软件工程的演进,产品管理也会随之进化。
总结
如果有人要反驳本文开头的那个论断——AI 将在许多团队中写出 90% 以上的代码——这完全合理。我确实在大型科技公司待过,那里的开发者本来就不怎么写代码,复杂性全在代码之外的方方面面!在这类环境中,AI 不太可能带来太大的帮助或冲击。
就连我自己的“顿悟时刻”(a-ha moment),也是在一个相对简单的代码库上发生的——那个项目有良好的工程实践(所有东西都有测试),产品本身风险也不高,容易做各种尝试。
但话说回来,最新的 AI 工具确实达到了我心目中的质量标准——“写出来的代码跟我自己写的一样好”,这意义重大!
可以预见,早期创业公司会把缰绳交给 AI,让它通过提示词来编写所有代码——至少在找到产品 - 市场契合(product-market fit)之前会这样做。本文探讨的是:当这种模式扩散开来,在 IDE 里手动敲代码变得又费时又费力时会发生什么——就像今天已经没人会用一个没有自动补全的文本编辑器来写代码一样。
好消息是:一个团队越是依赖 AI 生成代码,软件工程的基本功就越重要。 更多代码意味着更多问题,这些问题需要被更早发现、被系统性地解决。这就是好的软件工程一直在做的事情,过去如此,现在更是如此。
我认为这是一件好事:AI 会推动大家去认真思考验证(毕竟你不能完全信任 AI)、可观测性(确认东西在生产环境里真的能跑)、架构(我们会生成更多代码、更快地生成,这些代码需要被合理组织)以及约束(当交付速度更快时,你会更快地撞上资源使用、性能、可靠性等方面的天花板)。
坏消息是:变化可能会非常迅猛。 Claude Code 从 Boris Cherny 脑海中的一个想法诞生到现在,才刚刚一年多,类似的工具——OpenCode、Codex、Factory、Amp、Cursor,以及更多强大的智能体——就已经在改变软件的编写方式了。变化一直是科技行业的常态,但我不记得它曾经这么快过,也不记得它曾同时席卷整个行业!
还有一种失落感。 我正在慢慢接受这样一个大概率的现实:从今往后,我推上生产环境的代码,大部分都将由 AI 来编写。它已经写得比我快了,而且效果跟我自己敲出来的差不多。对于我不太熟悉的语言和框架,它甚至比我做得更好。
感觉有某种珍贵的东西正在被夺走,而且来得很突然。要把代码写好,需要花大量的功夫——学会编写能运行的代码、学会阅读和理解复杂代码、学会在代码出问题时调试和修复。我至今记得大学里第一堂“真正的”编程课(学 C 语言)让我多么望而生畏,记得第一份工作面对复杂代码库时那种迷茫无措,记得花了好几年通过实践、向其他开发者学习、读书、看博客才慢慢精进这门手艺。一旦你达到了相当高的水平,你就拥有了一种有价值且容易验证的能力——写出能跑的代码就是证明!
我关于构建软件的一些最美好的记忆,就是关于写代码的。进入心流状态,脑海里同时平衡着好几个想法,手指飞速地把它们敲出来,然后编译代码、运行代码,看到——"太好了",一切按预期工作!
说实话,这种关系一直爱恨交织——写复杂代码需要的那种高度专注,本身就让人又爱又恨。然后还有时间估算引发的各种冲突:当你沉浸在一个难题中进入心流状态时,时间的流速是不一样的。
现在,这一切看起来都将成为过去。
我不禁想:从编写复杂代码的艰难中获得的那种成就感,未来还会有吗?是的,AI 很方便,但也有一种失去。
又或许,当 AI 智能体介入后,“进入心流”会转变为思考更高层次的问题,同时指挥 AI 去编写更复杂的代码?
不管怎样,地震级的巨变也意味着令人兴奋的新机遇。 我还从未在一场重大变革发生的当下就清醒地意识到它正在发生。这一次,我确信自己的编码方式将在 2026 年发生翻天覆地的变化,而由此产生的连锁反应将数不胜数。
变化能创造更好的职业机遇、开辟新的成功路径,同时也带来大量的兴奋与忐忑。我估计五年后,市场对软件专业人才的需求会比今天更高,部分原因正是 AI 创造的软件数量大爆发。有了这些更强大的新工具,我们正在摸索——在这个未来,世界级的软件工程到底意味着什么。
你怎么看更强大的 AI 工具可能给我们这个职业带来的变化?欢迎在下方留言。
See all posts