软件工程回来了
Source: Hacker News
请提供您希望翻译的完整文本内容,我将为您将其翻译成简体中文并保留原始的格式、Markdown 语法以及技术术语。谢谢!
Introduction
我不常发帖。但每当我发帖,都是因为我觉得很少有人把我注意到的事情说出来。
我一直在从头开始构建一个产品。不是那种“我随手搭了一个 Next.js 模板”式的从头开始。我指的是从网络配置到产品设计再到定价决策,真正的端到端。而且我每天都在用前沿模型和编码代理进行数小时的工作,无论是这个项目还是我的全职工作。我一直在努力远离混乱和炒作,严格筛选出真正有价值的东西。
自 2025 年 12 月起,情况已经发生了显著的好转。很多人注意到了,但很少有人得出正确的结论。
Antirez 喜欢把它称为 “automated programming”(自动化编程),我也非常喜欢这种说法。它比那种浅薄、几乎带有轻蔑意味的 “vibe coding”(氛围编码) 标签更能捕捉本质。自动化是人类历史上大多数工作和文化革命的核心——印刷术、织机、流水线。而这一次并没有太大不同。
我的大部分工作仍然在进行。我仍然必须深入思考我想构建的每一个重要方面:架构、权衡、产品决策、凌晨 3 点会让你抓狂的边缘案例。不同的是,我不再需要手动敲每一行代码的繁重、耗费精力的劳动。
在当下,当模型和工具被置于一个干净且极度精心搭建的环境中时,真的可以产生差异。我可以成为架构师,而不必亲自铺设每一块砖、抹每一层灰。我可以设计服装,而不必亲手裁剪和缝制每一块布料。但我能够做到这一切,是因为我背后有二十年铺砖、抹灰、裁剪和缝纫的经验。如果我不喜欢某个东西,我可以进去,理解它并随心所欲地修复它,一劳永逸地指示我的设置下次按我的意愿运行。
Automated programming(自动化编程) 尤其让我能够以极快的速度构建所需工具,快到地球上所有铁匠都会对我羡慕不已。终于可以真正专注于他们心中的事物。终于可以把更多的时间投入到他们构思的艺术上,而不是锻造的汗水。
这几个月来,这个想法在我脑中已经结晶。它如此清晰,以至于我真的不明白为什么没有人把它喊出来让全世界听见。
我们终于可以摆脱所有中间环节。那些我们盲目接受多年的适配层垃圾。大量的框架、库和工具已经彻底污染了软件工程,尤其是 Web、移动和桌面开发。层层抽象既不抽象任何有意义的东西,解决了我们本不该出现的问题,却为每一个它声称要修复的问题制造了十个新问题。
想想发生了什么。我们这个行业面对构建软件的真实复杂性时,没有去 sharpen(提升)我们的思考,而是直接买来别人的思路。我们把一切都包装在框架里,就像用丝绸包裹一条断腿。看起来很漂亮,但腿依旧是断的。
在我看来,除了自称的目标之外,框架解决了三个问题。两个是显性的,一个是显而易见却从未被声明的。
“Simplification”
软件工程师害怕自己设计东西。他们宁愿接受别人的结构,即使必须强行将其套入自己的产品,也不愿花时间从目标出发,逆向思考,打造最适合自己想法的方案。就像一个建筑师盲目接受另一个建筑师的蓝图并在任何情境、需求、地形或新技术可能性下都照搬一样。我们选择去除复杂性的方法不是通过 sharpen(提升)我们对所构建产品的 mental models(心智模型),而是通过购买一种 one‑size‑fits‑all(千篇一律)的解决方案来实现的。
all design and applying it everywhere. That is not simplification. That is intellectual surrender.
“Automation”
This is the only point I can actually, more or less, understand and buy. Boilerplate is boring work. I hate it. And I especially hate using libraries that I then need to study, keep updated, be aware of vulnerabilities for, just for the purpose of removing the creation of duplicated but necessary code. Think about ORMs, CRUD management, code generation, API documentation and so on. The grunt work that nobody wants to do but everybody needs done. Fair enough. But hold that thought, because this is exactly the point where everything changes.
“Labour cost”
This is the quiet one. The one nobody puts on the conference slide. For companies, it is much better having Google, Meta, Vercel deciding for you how you build product and ship code. Adopt their framework. Pay the cost of lock‑in. Be enchanted by their cloud‑managed solution to host, deploy, store your stuff. And you unlock a feature that has nothing to do with engineering: you no longer need to hire a software engineer. You hire a React Developer. No need to train. Plug and play. Easy to replace. A cog in a machine designed by someone else, maintaining a system architected by someone else, solving problems defined by someone else. This is not engineering. This is operating.
In my opinion software engineering, the true one, is back again.
I am not speaking out of my lungs only. I’ve been developing this way almost flawlessly for over two years at this point. But the true revolution happened clearly last year, and since December 2025 this is obvious to anyone paying attention. From now on it will be even more so.
We have the chance again to get rid of useless complexity and keep working on the true and welcome complexity of our ideas, our features, our products. The complexity that matters. The complexity that is actually yours.
Automation and boilerplating have never been so cheap to overcome. I’ve been basically never writing twice the same line of code. I’m instantly building small tools I need, purpose‑built, exactly shaped around the problem at hand. I don’t need any fancy monorepo manager. A simple Makefile covers 100 % of my needs for 99 % of my use cases. When things get very complicated – and if they get very complicated – I’ll think about it, but only then. Not a second before. This is engineering: you solve the problem you have, not the problem someone on a conference stage told you you’ll eventually have.
Agents are really well prepared when it comes to basic tools – tools that have been around not for months, but literally for decades. Bash was born in 1989, just preceding me by two months. The most mediocre model running at this time knows Bash better than any person in the world. Bash is the universal adapter. It is no coincidence that coding agents are shifting from complex and expensive MCP configurations to a simple agent loop with Bash as a way to interact, literally, with the world. The oldest tool turned out to be the most future‑proof. There’s a lesson in there if you care to listen.
Really think about it.
Why do you ever need, for most of the use cases you can think of, a useless, expensive, flawed, often vulnerable framework, and the parade of libraries that comes with it, that you probably use for only 10 % of its capabilities? With all the costs associated with it. From the “least” expensive: operational costs like keeping everything updated because they once again found a critical vulnerability in your Next.js version. To the most expensive one: the cost to your design choices – the invisible cost, the one you pay every day without even realizing it, because you’ve been paying it so long you forgot what freedom felt like.
If you keep accepting this trade‑off, you are not only losing the biggest opportunity we’ve seen in software engineering in decades, you are probably not recognizing your own l
懒惰地再次购买超大规模云服务商为你决定的东西。你让 Google、Meta 和 Vercel 成为你的架构师、设计师、思考者。而作为交换,你只能成为他们的运营者。
工具已经在这里。模型已经在这里。革命已经发生,而大多数人仍在装饰旧房子。
别再用丝绸包裹断腿。开始构建属于自己的东西。
No posts