软件工程师的未来会怎样?
摘要
一位软件工程师反思AI将如何影响这个职业,提出了两类开发者,并认为该角色会适应而非消失。
暂无内容
查看缓存全文
缓存时间: 2026/06/02 01:46
# 软件工程师的出路何在?
来源:https://yakko.dev/blog/whats-gonna-happen-to-software-developers
*以下观点仅代表我个人,我从不使用大语言模型进行写作。*
---
在内心深处,我一直在反复思考软件开发者将何去何从。这对我而言,某种程度上就像一个存在主义的问题——毕竟,我自己就是一名软件开发者。
真正的答案是,没有人*真正*知道。但我们可以猜测和推断,有时这种推断本身就能帮助构建现实。
当然,有一种末日场景是我们全都失业了,但然后呢?我们全都失业,并且我们的技能无法转移到其他领域吗?
我倾向于乐观,认为不会出现突然的转变,而是我们会逐渐适应并演变成新的职位名称(既包括那些对我们来说是新的现有职位,也包括全新的职位名称),但可能也会伴随着大规模裁员等副作用,无论这些裁员是否合理。
当然,把"软件开发者"作为一个整体类别来谈论是有点可笑的,因为这个领域太宽泛了。我认为很明显,当尘埃落定时,我们不会都走向同一个方向。很可能是因为,尽管我们共享着同一个头衔,但我们从一开始就并非处于同一位置。这和"工程师"的情况一样——有机械工程师、土木工程师、电气工程师、化学工程师,甚至有时我们也被称为软件工程师!
为了简化起见,我将缩小我的讨论范围。
我认为软件开发者大致可以分为两类:一类是"把软件视为实现目标的手段",另一类是"把软件本身视为目标"。当然,在我还没真正开始这篇文章之前,现实情况肯定要模糊得多,我们每个人在某种意义上都是这两者的结合,但我认为,为了这次讨论的目的,这种划分是有效的。
"手段型"开发者写代码,是因为代码让他们能够构建东西。代码是构建公司、家庭自动化系统、博客、朋友婚礼网站的工具。这并不意味着这类开发者不喜欢代码,或者不欣赏优秀代码和良好设计系统的美感,而是说,如果一个无代码工具真的能让他们按照自己的想法去构建那个网站,他们就会去用那个工具。Claude Code的创始人Boris Cherny就经常谈到自己属于这一类。我自己也属于这一类。
另一类是"目标型"开发者,他们通常更倾向于数学思维,参加过编程竞赛,深爱着优化算法等等。即使最终没有产生一个产品,他们也可能仅仅因为编程而感到非常快乐。编写优雅高性能的代码本身往往就足以让他们兴奋。同样,这并不意味着这些人不、不能或没兴趣构建产品。就像身处另一类别并不意味着你不喜欢编写代码的过程一样。
现在写完之后我再想想,我觉得这些分类更多是关于"是什么让你入了这一行",而不是你最终在这个领域里实际做的工作。但是,是什么让你进入某个领域,也与决定你将如何离开它有关。
所以我想谈谈"手段型"的同行们,因为我属于这一类。我们将会怎样?
从某些方面来看,这场AI革命(或者我们想怎么称呼它)应该是自切片面包以来最棒的事情。你可以更快地制作原型,尝试更多想法,在你没有所有先前技能(比如一门新的编程语言)的领域里构建东西,总的来说就是可以构建更多东西。目标不就是构建东西吗?现在你可以快速构建任何东西了,行动起来吧!
另一方面,这也意味着那些想和你一样构建东西,但没有花时间学习编程的人现在也可以构建了,所以你不再特别。你不仅不再特别,而且在此之前,一个领域专家需要你来把他们的想法变成现实,而你也需要他们的领域知识。现在,他们不再需要你,但你仍然需要他们。
我认为很明显,AI已经改变并将继续改变我们的工作。这是无可争议的。我们可以争论那些10倍、100倍和1000倍的说法有多真实,以及曲线有多陡峭,但事情已经改变了,我们也需要改变。
话虽如此,这里有几个我能想象到的可能性。值得注意的是,我们谈论的不是遥远的未来,更像是5-10年的时间线,而且是从全球视角,不是硅谷视角。
> 顺便说一句,我认为我们经常忽视硅谷与世界的差异。第一批全自动Waymo在2022年就开始在旧金山行驶了,虽然现在它们感觉正常,但我在巴西的家乡可能至少还要等五年才能看到自动驾驶汽车。天啊,巴西行驶的大部分汽车还在使用手动变速箱呢。
## 照常营业的情况
我们都知道,如今软件开发者在使用AI构建软件方面比非开发者强得多。"氛围编码"风靡一时,像Lovable这样的平台也存在,但是知道如何构建你的数据模型、设计你的系统架构以及使用什么工具仍然非常重要。
非开发者现在可以用AI构建他们以前无法构建的东西了,但他们远没有真正的开发者使用AI工具那样好或快。
如果你相信我们很快就会遇到瓶颈,或者至少改进速度会放缓,这意味着工具会改变,但工作本身不会变化太大,基本上还是照常营业。软件开发多年来经历了许多飞跃式的变化,AI只是其中之一。围绕模型的工具生态系统会变得更好,就像我们大多数人当年从终端转向IDE一样,我们也会从IDE转向……终端?
不管怎样,职位名称和组织架构图基本保持不变,也许某些类型的人会离开这个行业,一些新类型的人会进来,但基本上是BAU(照常营业)。几年后回头看,你可能会发现自己确实快了10倍,就像过去人们因为高级语言、Git、Web、云、容器等等而变得更快一样。
你需要适应,但不需要彻底改变。
## 产品构建者的情况
今年我为了我父亲,用"氛围编码"方式做的一个小原型,是一个让非技术人员能够为自己构建应用,以帮助他们日常生活的平台。
如果模型还在变得更好,这意味着很快所有人都能真正编程并构建应用。正如我们所看到的,至少有一部分非程序员对于构建应用有着明确的兴趣,但在构建这个平台以及与朋友们讨论这些想法时,我一直在思考一个问题:每个人都真的想构建东西吗?
我觉得很多讨论都在说,非技术人员不构建应用是因为他们没有工具或方法,但我认为我们忽略了一种可能性,那就是他们中的一大部分人就是*不想*真正地构建产品和应用。即使你不写代码,构建一个产品也意味着要花大量时间思考、设计、制作原型和调试(以某种形式),我认为很多人就是不想做这些,即使这完全是使用自然语言完成的。
有时我们为软件付费,很大程度上是因为它嵌入了*其他人的*观点和想法,关于某件事应该如何运作,而且我们相信那比我们自己能想出来的要好。这些就是我们称之为*固执己见*的应用,我们喜欢它们是因为它们消除了选择带来的瘫痪感,并迫使我们以某种特定的方式工作,这通常对我们非常有帮助,但我们自己无法强制执行。
我们为软件付费,还因为我们相信它会比我们自己构建的拥有更少的bug和更高的安全性。我们为它付费,是因为有客户服务在我们遇到问题时提供帮助。我们为它付费,就是因为我们不想花任何心思去想这些。
现在有很多东西让烹饪变得更简单了,日常烹饪真的不需要什么需要学位才能掌握的特定技能。我们有机器帮我们切菜、洗碗,有自动开关的机器,有在线食谱,甚至还有能独立做出一整顿饭的机器。但有些人就是不想做饭。
这意味着,在某个世界里,是的,突然有更多的人可以构建东西了,但我们仍然需要有人真正去构建东西。因为不是每个人都会为自己构建。
工作发生了一些变化,变得更像"产品构建者"而不是"软件开发者",但考虑到所有关于"产品工程师"的讨论,我们本来就在朝这个方向移动。在转型期间,一些代码仍然需要手动编写,但很快这可能会消失,产品构建者就只是使用自然语言。但他们有品味,他们研究设计,研究心理学,学习平衡AI和人类输入,他们继续构建产品。
也许有一个世界里,他们的数量更少,也许更多。但这些人存在,而且他们仍然非常重要。
## 产品经理的情况
前段时间,Claude Code团队开始举办开放办公时间。用户访谈并不是什么新鲜事,虽然传统上这更像是产品经理的事情,但这波新浪潮中的"产品工程师"也在进行访谈。
让我印象深刻的是,我不记得听说过很多来自非常成功产品的开发者会这样开放他们的日程表与用户交谈。特别是因为我可以想象需求会非常高。
这让我想到,至少对我这个"手段型"的人来说,如果AI能让我解放出来,花更多时间与用户在一起,进行更高层次的产品思考,那结果一点也不差。我一直关注高层次的产品方向,我一直关心与用户交谈。但我很多时间不得不花在写代码上。构建一个用户的功能请求可能需要几天时间,所以我不能像我想要的那样经常去和用户交谈,获取五个需求,把它们详细说明并构建出来。
但如果编码真的像他们说的那样"被解决了",或者将来某个时候会成为现实,那也许就能释放出更多时间用于更高层次的思考、战略决策以及在构建之前更深入地理解需求。也许我们会花更多时间与用户交谈。如果那样的话,我们是不是有点变成PM了?
也许开发者变成了PM,他们的团队只由AI智能体组成,或者至少大部分是智能体。如果我们谈论的是人类和智能体的组合,那么方向和协调可能甚至更加重要。
那么问题就变成了:这个世界能承受这么多PM涌入吗?我不知道。也许吧。
可能有更多的软件需要构建,就像过去几十年来一直如此。我们构建软件的效率更高了,我们构建了更多的软件,我们有了更多的开发者和PM来构建这些软件。可能我们确实会转向人员规模小得多的公司,但公司的数量会更多。
无论如何,那些一开始就真正只关心产品的开发者,会继续去管理智能体团队并构建它们。反正一直以来都有许多不同类型的PM,所以这里容纳不同大脑和个性的空间是有的。
---
我上面勾勒出的情景都是关于开发者留在软件领域内,当然也存在颠覆性比我预想的要大得多的情景,我们中的大多数人需要转向非软件领域,但我很难想象那个情景。
尽管如此,我在这里的目的是展示我一直在思考的一些想法和方向,我也很渴望听听其他人是怎么想的。我没有很活跃地泡在网上,所以我不确定目前关于开发者去向的热议是什么,这些只是我通过自己的反思想到的一些点子。
我积极尝试看到两面性,对AI的一些发展方向也有些担忧,但我选择保持乐观。
如果我们真的不复存在了,嗯,至少这是一段不错的旅程。
订阅以在发布新文章时收到通知。
相似文章
AI会取代开发者吗?
探讨AI是否会最终取代人类软件开发者这一争论,分析当前能力和未来趋势。
人工智能对你的职业影响有多大?
一位资深软件工程师反思人工智能在生物工程、法律、会计等职业领域的颠覆性潜力,并对加速变化表示担忧。
为什么AI尚未取代软件工程师,而且永远不会
本文论证了AI不会取代软件工程师,因为知识工作的'决策层'和'交付层'抗拒自动化,并且来自Block和Snap近期裁员的证据显示,CEO们常常高估AI的能力。
为什么人工智能尚未取代软件工程师,也不会取代
Arvind Narayanan 和 Sayash Kapoor 认为,人工智能不会取代软件工程师,他们指出决定构建什么、验证和深入的人类理解等瓶颈是该职业抵御自动化的关键。
@GergelyOrosz:与AI实验室(OpenAI、Anthropic)的一些人聊了他们对软件工程未来的看法…
Gergely Orosz分享了与OpenAI、Anthropic等AI实验室人员交流的见解,指出越接近生产代码的工程师,越不相信AI能完全解决软件工程问题。