后开发者时代:关于 AI 与软件开发的思考
后开发者时代
发布于 2025 年 4 月 14 日。
两年前,2023 年 3 月,我发表了一篇名为“前端开发的终结”的博文。当时,在 OpenAI 发布了其 GPT-4 展示之后,普遍的反应是,人类软件开发者即将变得多余,软件很快将完全由机器编写。
我当时对这些说法持怀疑态度,并在那篇博文中阐述了为什么我认为在可预见的未来,软件开发仍然需要人类。我的假设是,LLM 将 增强 人类开发者,而不是取代他们。
当时,Twitter 上的普遍观点是,只需几个月,AI 就会消除对人类前端开发者的所有需求,最多一两年。好吧,两年多过去了!那么,他们是对的吗?我们目前是否生活在“后开发者”时代?
在这篇博文中,我想重新审视当前的形势,看看情况发生了哪些变化,以及我们是否可以预测事情将如何继续发展。如果你是一位对未来职业感到焦虑的有抱负的开发者,我希望这篇文章能给你一些启发。❤️
链接到此标题公司与 AI 的使用情况
在过去的几年里,公司无疑越来越多地采用 AI 工具。例如,《福布斯》最近发表了一篇题为“AI 编写了 Google 超过 25% 的代码”的文章。
这篇文章的标题让人觉得 AI 完成了 25% 的工作,而人类开发者完成了剩余的 75%,但实际上并非如此。在我看来,这个标题具有误导性。
AI 可能 生成 了在 Google 提交的 25% 的代码,但它并非独立运作。一位技术娴熟的人类开发者才是掌控者,他们利用自己的知识和经验来指导 AI,编辑和塑造其输出,并将其与他们编写的代码混合在一起。据我所知,Google 中 100% 的代码仍然是由 开发者 创建的。AI 只是他们用来完成工作的众多工具之一。
换句话说,Google 的产品团队并没有解雇 25% 的开发者,并用半智能的 AI 机器人取而代之,这些机器人自主工作并直接向产品经理汇报。我还没有听说任何大型科技公司发生过这种情况。
现在,有些 初创公司声称他们的 AI 可以完全取代人类开发者。其中最受欢迎的是 Devin,这是由 Cognition 创建并于一年前(2024 年 3 月)发布的产品。但是,当公司实际尝试 使用 它时,他们会遇到问题。例如,一个团队发现 Devin 只能完成 20 项分配任务中的 3 项,而且最终带来的麻烦比它本身的价值还要大。他们在尝试一个月后放弃了。
以下是他们的团队对它的一些评价:
它可以完成的任务是如此之小且定义明确,以至于我最好自己以更快的方式完成它们。我认为它很可能无法完成我可以节省时间的大型任务。因此,我没有真正想使用它的地方。 - Johno Whitaker
我最初对它如此接近感到兴奋,因为我觉得我可以调整一些东西。然后,我不得不做出越来越多的改变,最终我意识到最好从头开始,一步一步地完成。- Isaac Flath
这些引言并非来自 AI 怀疑论者,而是来自一家 AI 初创公司的技术团队,他们充满热情和善意地尝试了该产品。他们的经历并非个例。我阅读了一些其他真实的报告,它们都得出了相同的结论:这玩意儿没那么好用。
据我所知,每一个 AI 成功的案例,都需要技术娴熟的人类开发者作为必要组成部分。 所以,我认为可以肯定地说,我们 并非 生活在后开发者时代。
链接到此标题偏离正轨
在过去的几年里,我自己也尝试过很多 AI 工具。几个月前,我切换到了 Cursor,一个由 AI 驱动的 IDE。我一直在使用它的“代理”模式与 Claude Sonnet 配合使用,我不得不承认,它非常出色。对于某些类型的任务,我可以给它一些背景信息并将其指向正确的方向,然后它会在第一次尝试时就快速生成一个可行的解决方案。
它足够智能,可以捕获并经常修复 TypeScript 或 lint 错误,甚至有几次我学到了一些新东西,由于我不知道一些很酷的 API,因此建议的解决方案 比 我计划编写的更好。
但它并不完美。 它确实需要指导。
感觉有点像在高速公路上使用“巡航控制”:汽车大部分时间都会按照你指示的方向行驶,但你仍然需要一只手放在方向盘上,保持稳定。否则,汽车会慢慢开始偏离车道。如果你不偶尔将它推回正轨,你最终会掉进沟里。
这对“不再需要开发者”的理论来说是一个问题。 如果我不知道如何编写代码,我就不会 注意到 模型输出中那些细微但关键的问题。我不知道如何纠正方向,甚至没有意识到需要纠正方向!
我从使用 LLM 构建项目的非程序员那里听说过类似的经历。他们一开始表现出色,但最终达到一个无论如何都无法取得进展的地步,无论他们如何哄骗 AI。代码变得一团混乱,毫无逻辑,并且超过某个点,再多的胶带也无法将其粘在一起。它在自身的重压下崩溃了。
此外,还有很多 LLM 不擅长的任务。有时,我会花费令人沮丧的 10 分钟试图让 Claude 理解我想要什么,然后放弃并花费 5 分钟自己构建它。我已经开始培养一种直觉,知道哪些任务应该委托给 AI,哪些任务应该以传统方式处理。
总的来说,LLM 确实为我节省了大量时间。在某些情况下,LLM 会在 30 秒内为我完成 30 分钟的工作,这些情况令人振奋。但是,说实话,我认为我仍然将大部分时间花在自己编写代码上。
这就像一场双打摔跤比赛;当我遇到 Claude 擅长的任务时,我就会放弃并让他来处理。但我仍然是大部分时间编写代码的人,因为自己做更快或更容易。
链接到此标题当前的就业市场
当我几年前写这篇文章时,就业市场正处于非常艰难的时期。不幸的是,情况仍然很糟糕。
如果你正在找工作,你会知道高质量的职位空缺不如以前多了,而且好的职位会被大量的申请淹没。很难获得 面试 机会,更不用说获得 offer 了。
但我不认为这是因为公司实际上正在用自主 AI 代理取代他们的开发者。正如我所分享的,我所读到的真实经历并不支持这个假设。那么,原因是什么?为什么情况仍然如此残酷?
我认为有几个因素:
- 宏观经济因素。 利率仍然相对较高,使得初创公司更难以吸引他们发展和雇用开发者所需的资金。几年来,普遍的经济情绪一直是,我们正处于经济衰退的边缘。
- 裁员。 在过去的几年里,大型科技公司出于各种原因裁掉了 数十万 的工人。这意味着有很多高素质的开发者都在找工作。
- AI 迷思。 一些公司仍然认为 AI 真的会很快让开发者过时,因此他们不像以前那样积极地招聘。
最后一点尤其令人沮丧。公司没有雇用他们需要的开发者,因为他们确信 AGI(通用人工智能:一种可以像人类一样学习和推理的 AI,可以完成任何任务,即使是它从未接受过训练的任务)即将到来,而当那个蛋孵化出来时,我们根本不需要人类开发者了。“这将在未来的几周内发生”,他们已经说了好几年了。😅
链接到此标题展望未来
当我在 2023 年写 “前端开发的终结” 时,我试图接触有抱负的开发者,那些正在学习编码的人,正处于他们职业生涯的开端。我看到了每个人的预测是多么的黯淡,并希望为我在网上看到的所有 FUD(恐惧、不确定性和怀疑)提供一种制衡。
对于过去两年中发生的一切变化,有两件事没有改变:
- 公司仍然需要人类开发者来构建他们的产品。
- AI 传道者仍然声称,在未来的任何一天,公司都不再需要人类开发者来构建他们的产品。
如果你是一位有抱负的开发者,在大学或训练营学习,或者自己学习,我仍然完全相信,当你准备好进入职场时,你将会有机会。 在我看来,软件开发实现完全自动化还有很长的路要走。一旦公司意识到 AI 作为开发者 增强器 比作为开发者 替代品 更好,我认为他们会停止破坏自己的增长,并开始以更快的速度招聘。
毫无疑问,AI 模型将继续改进。似乎每周都会发布一种新的模型,在某个基准测试中打破记录。最近,轮到 Google 宣布 Gemini 2.0 Flash 和 2.5 Pro 模型 了。
(图片:一张图表显示了各种 AI 模型的速度,其中 Gemini 2.0 Flash 位于顶部,GPT 4.5 Preview 位于底部)
(图片:一张图表显示了各种 AI 模型的速度,其中 Gemini 2.0 Flash 位于顶部,GPT 4.5 Preview 位于底部)
来自 Artificial Analysis 的图表
在我看来,我们已经达到了技术曲线中的一个点,即进步开始变得更加渐进;自从真正 具有颠覆性 的东西出现以来已经有一段时间了。每种新模型都稍微好一点,但更多的是改进它已经擅长的事情,而不是征服全新的问题。
链接到此标题担忧
在 2023 年,我相当确信 AI 不会立即抢走我们的软件工作。两年过去了,我对这种信念更加坚定。知道如何编写代码仍然是一项非常有价值的技能,而且我并不认为这种情况会在短期内改变。
也就是说,我也不是想说一切都很好,我们都会没事的。😅
去年,美国人莫名其妙地重新选举了一位 非常 无能的骗子担任总统。我们才刚刚过了几个月,Trump 已经烧毁了世界经济,摧毁了联邦政府,使非公民无法安全访问美国,并开始了全球贸易战。很难预测这对科技行业会产生什么影响,但肯定不会是好事。
我也有点担心下一代开发者。当使用 LLM 代理时,很容易 陷入恍惚状态,不断点击“接受更改”而不理解甚至 查看 正在生成的代码*“氛围编码”,正如酷孩子们所知的那样。当我构建 我的新课程的着陆页 时,我发现自己开始陷入这种陷阱。我把手从方向盘上拿开太久了,因此不得不花费大量时间重构时髦的垃圾代码。
阻力最小的路径是坐下来让机器做它的事情,但这会阻止我们培养在机器不可避免地陷入困境时调试和修复代码所需的技能。
另一方面,如果你 主动 使用 LLM,那么现在是学习如何编写代码的最佳时机。当我遇到我不理解的 TypeScript 错误时,AI 通常可以帮助我理解它,或者至少提供我需要用来查找正确文档的相关关键字。这就像我们都可以访问自己的私人导师,他们可以帮助我们理解我们不理解的事情。*虽然,这位导师偶尔会服用 LSD,所以我们确实需要对他们的建议持谨慎态度😂
没有人知道未来几年会发生什么,但如果我们在一年或两年内看到一点“开发者复兴”,我一点也不会感到惊讶,届时公司终于接受了仍然需要人类开发者,当他们意识到一个配备强大 LLM 的技术娴熟的人类可以做出令人难以置信的事情时。✨
如果你对软件开发充满热情,或者你认为这是你获得高薪的最佳机会,这将使你进入中上阶层,我真的希望你不要让自己被 AI 炒作所吓倒。公司仍在招聘,而且我并不认为这种情况会在短期内停止。💖
求职技巧
让我们来谈谈如何最大限度地提高我们在当前就业市场中成功的机会!
首先要认识到的是,AI 使招聘过程对公司来说 很痛苦 。职位发布有时会收到 数千 个 AI 生成的垃圾申请,他们很难筛选所有这些垃圾。如果你申请一个空缺职位,它很可能会被埋在垃圾堆下。
因此,我认为有两个解决方案:
- 尝试尽早申请,在职位发布后的头几天内。
- 依靠你的人脉。
如果你是科技行业的新手,你可能没有人脉。没关系!你可以从今天开始建立一个人脉。😄
有很多不同的方法可以做到这一点。最明显的方法是在你所在的地区寻找当地的聚会,这可能是一个很好的选择,可以结识在你想为之工作的公司工作的开发者。他们可以帮助确保你的申请不会迷失在堆积如山的申请中。
但老实说,如果你像我一样内向,这可能不是你最好的选择。当我在职业生涯的开始尝试参加当地的聚会时,我太害羞了,不敢接近陌生人,所以我从来没有见过任何人,而且它从来没有对我有什么好处。😅
幸运的是,还有很多其他的选择。我通过构建很酷的东西并在网上分享来建立我的人脉。你可以为开源项目做出贡献,或者在 Discord 社区中结识他人。如果你发挥自己的优势,你将会获得最大的成功,正如我在我的博文 “无需 CS 学位即可成为软件开发者” 中分享的那样。
此外,你的社区也可以帮助你发现机会。令人沮丧的是,有很多在线职位发布都是为虚构的公司发布的,这些公司纯粹是为了收集数据而存在的。相反,你可以浏览你在 LinkedIn 上的联系人,看看他们在哪里工作,并建立一个可以追踪的真实公司列表。
外面很艰难,但希望这些技巧能帮助你节省一些时间和麻烦!❤️