Geoffrey Huntley:《亲爱的学生:是的,AI 已经到来,除非你采取行动,否则你将陷入困境...》

132 阅读18分钟

大家好,我是灵歌的日常。今天想和大家分享一篇名为《 Dear Student: Yes, AI is here, you're screwed unless you take action...》的文章。文章中,一位学生因 AI 时代的到来而感到迷茫,向作者倾诉困惑。作者以自身经历和行业阅历回复,这番对话或许能激发我们对当下职场与未来发展的深刻思考。

全文分为学生的信和作者的回复两部分,以下是正文:

学生的信

两周前,一位学生匿名给我发了封邮件,向我寻求建议:

我读了你的博文《An oh f*** moment in time》和《The future belongs to idea guys that can just do things》,决定亲自尝试一下Cursor,看看Composer到底有多厉害。

我通常会用Copilot和Claude,但由于把我的5万行代码项目上下文导入Claude很困难,而且我不想开始为API使用付费,所以并没有怎么用它(我通常免费使用Copilot)。我对Cursor以及类似工具的宣传只是听听,我以为这些不过是LinkedIn上的夸大之词,直到现在我才真的在意。

例如,我一直在为我的安卓应用开发一个JNI模块,但存在很多奇怪的内存错误,因为管理JNI资源几乎不可能,而C++的RAII也充满了各种陷阱。所以我计划将其重写为Rust,这样我就能100%地隔离内存不安全问题。这可不是个小任务,它涉及到一个庞大的C++库,它有自己的CMake设置,以及我应用的JNI代码,这需要将Rust特质转换为C++抽象类的一些非常混乱的转换。将其集成到我的应用中需要大量的工作。我决定这是一次很好的基准测试,看看Composer是否能胜任这项任务。

第一次尝试并不顺利,我把所有我想做的工作一股脑地丢给它,结果它卡住了,绕圈子。我试图回到手动调试内存问题,但说实话,我讨厌C++,决定再给Composer和Rust模块一次机会。第二次,我把任务切分成更小但仍相当大的块,逐个交给Composer。

这次,Composer大概写了99%的代码。移植之前的shell脚本,制作我需要的将特质映射到C++抽象类的 shim,移植手动的JNI代码,以及将所有内容链接在一起的巨大构建脚本。当我粘贴错误跟踪信息时,它会调试自己的工作(可悲的是,由于这个Rust模块被强行塞入我的应用中,Composer代理无法真正自行测试)。而且它就这样成功了。有些东西它还是做不到,主要是在大的错误跟踪信息上卡住,以及增量构建的bug(多亏了Gradle),有时我需要在架构上给它指明更好的方向,但总体而言,我几乎没怎么碰代码。我所做的就是指导Composer去做我在想的事情。然后我杀了时间,而它在工作。

我现在迷茫了。我是个学生。应届毕业生和实习生并不被视为能搞定事情的想法家,而是被视为需要被资深人士管理的无用的工单猴子。而现在,Cursor Composer似乎是可以被驱使的工单猴子,而我也不是那个驱使它的人。也许即使有足够强大的推理模型,连资深人士都不再需要。我已经感觉像是在泰坦尼克号上重新排列甲板椅,谈论项目和实习,好像没有意识到这个威胁的存在,老实说,这证实了这一点。我简直不知道自己是否还有时间在一切都被解决之前“转型”——我甚至不知道该做什么。按照这个开发速度,我实在不知道我还能做什么。

谢谢你,

一名匿名学生

作者的回复

这是一个措辞激烈的标题...

是一个事实,而我是个直率的人。我宁愿直截了当地告诉你,并提供切实可行的建议,而不是为了安抚你的情绪。

你现在采取的步骤将决定你未来获得软件工程师职位的成功率。如果你是一个高自主性的人,那么你并没有陷入困境,只要你采取行动。

今天的一切,历史上都曾经发生过。

软件开发行业是周期性运作的;这是我经历过的第三次在繁荣之后的衰退。理解2000年互联网泡沫破裂发生的事情很重要,因为它导致了2017年的繁荣。

1.webp

让我们把时间倒回1998年。那时如果你知道如何用Dreamweaver制作一个网站,如何拼凑一些Perl代码,并使用RSH连接到Sun e4500,那么你肯定能获得一份软件工程师的工作。

在一段巨大的炒作和过多的风险资本注入之后,人才市场上没有足够的软件工程师。

生活很美好。直到它不再美好。泡沫在2000年破裂,一位名叫Philip J. “Pud” Kaplan的工程师在一家名为“F**ked Company dot com”的网站上记录了公司的衰落。为了让你了解当时这个网站的重要性和意义——它相当于如今的HackerNews(或Slashdot)。

2.webp

突然之间,所有的工作机会一夜之间都消失了。那些刚毕业、本想获得一份甜蜜的软件工程职位的学生,发现自己处于困境之中,就像你现在这样(如果你不采取行动的话)。

似乎一夜之间,就业市场从卖方市场(即员工有利)转变为买方市场(即雇主有利),因为有太多经验丰富的工程人才急于找到下一份工作。为什么公司还要雇佣毕业生呢?他们完全可以以便宜的价格获得有五年经验的人才。

这是一个艰难的时刻,如果你出生在错误的年份(比如,在澳大利亚高中的12年级学生)那么你的生活会被彻底颠覆。

那一代毕业生错过了很多机会和人生经历,但也有很好的结果,因为这淘汰了所有只是为了钱而进入科技行业的人。

留下来的/进入的人是那些真正对电脑感兴趣的人——否则,为什么要进入一个几乎没有工作机会的领域呢?

从衰退中恢复过来花了许多年,但由于公司没有培养下一代,市场上缺乏有才华的软件工程师。结果是不可避免的。

市场切换到员工掌握所有权力的一方,由于另一轮大规模的风险资本注入,钱开始自由流动。

每个公司都想吸引“谷歌血统”的人才。到处的公司都开始提供各种福利和薪酬方案,以吸引他们加入。

L3在谷歌的年薪是280,710澳元。L5在谷歌的年薪是592,734澳元。L8的年薪是1,655,874澳元。

消息传开,突然所有人都想成为软件工程师,因为钱多得荒谬。YouTube出现了,各种各样的骗子出现了,他们出售如何获得工作的课程,并吹嘘自己赚了几百万——这导致更多的人成为软件工程师(只是为了钱),因为这是一条快速退休的捷径。

现在是2023年,在经历了14年的强劲增长之后,行业再次跌倒了。利率上升,对于风险投资公司来说,将资金停放在有风险的地方不再是理想的选择,因为现在有了其他风险较低的替代方案。

3.webp

虽然我设法避开了最初的互联网泡沫破裂,但这次衰退对我产生了个人影响。我就是那219,709名被解雇的软件工程师之一,以我的经验,我花了六个月才找到一份合适的新工作。

如果你在2023年毕业或进入就业市场,那么你是在和我(以及大约219,709名有经验的合格员工)竞争。

即。完蛋了…

4.webp

现在是2025年,AI就在我们面前,而就业市场尚未从前一次衰退中恢复过来。你在某种程度上很幸运,因为你早就意识到了这一点,并且有时间采取行动。但有许多软件工程师根本不会成功,因为他们还没有经历你所经历的顿悟,甚至还没有开始通过人们的人工智能采用阶段。

这次情况有所不同。

一位出色的同事一起制作了以下图表,并写下了解释人工智能对不同级别工程师的影响的以下文字...

6.webp

初级工程师

你刚开始在一个新的代码库中工作,还在拼凑一个坚实的模型,了解事情的实际运作方式。在这里,大型语言模型(LLM)是一个救星。遇到错误时,LLM可以给你一个合理的解释。需要为一个小功能编写一些代码,或者进行一个库的升级吗?有了LLM,所有这些都可以做得更快。

LLM已经让人感觉它能为你做工作中很大的一部分。这就是我认为这里有一个真正的危险区。如果你像过去向更有经验的同事求助一样,把LLM当作一个捷径来摆脱卡住的状态——那没问题。在现实世界中,即使你想避免使用LLM,你可能也没有这样的奢侈。然而,如果你最终在IDE和LLM之间来回粘贴代码,而不真正理解发生了什么或为什么,那么提升你的工程技能将成为一个严重的挑战。

中级工程师

你已经积累了一定数量的上下文,可以自信地在代码库中导航。你仍然发现LLM让你写代码的速度快得多。你可以更快地使用copilot的补全功能来交付功能,使用代理来编写更少的样板代码,用ChatGPT更快地学习新框架。

然而,你已经开始遇到LLM目前还无法处理的情况。它无法从你被分配的工单中弄清楚客户真正想要的是什么,它无法用你的调试器来定位危险的竞争条件,当你在午夜接到值班警报时,它也帮不上什么忙。

高级工程师

你对自己负责的整个代码库有一个很好的模型。你知道它的所有来龙去脉。该死的,你可能已经写了不少部分。当然,你可以更快地写代码,而且你也喜欢这样做,但你真正花多少时间在写代码上呢?当你制定项目路线图时,它帮不上什么忙。当你陷入一个奇怪的Heisenbug时,它也帮不上什么忙——它会陷入困惑。当你为下一个项目撰写一份详尽的设计文档时,它只能在格式和结构上帮你,而不是最难的部分——实质内容。它根本没有你脑子里积累的所有细微差别和上下文,即使你想,你也无法把它写下来。

你的许多朋友和同事都很兴奋,你也想兴奋,但你就是兴奋不起来。人工智能还没到那个地步。这可能就是对LLM最怀疑的来源,而且你的技术领域越专业或独特,这种失望感就越强烈。

Staff+工程师

虽然外面有许多员工类型,但所有类型都有一个共同点——你的角色通常是为他人照亮前进的道路。为了实现这一点,你必须进行大量的实验。

在这里,LLM可以再次开始发光。撰写概念验证项目突然变得容易多了。如果你需要展示一种方法的可行性,LLM可以帮助创建一个半成品、勉强能工作的解决方案。最好的部分是一旦LLM卡住了,你可以利用你大脑中丰富的领域知识非常快速地把它解开。

公司正在对初级员工关上门

Staff+、高级和中级工程师(那些投资于自己的人)现在更受欢迎,因为他们可以利用他们专业知识来输出更多的代码,并且由于多年(或几十年)积累的智慧,他们能够从人工智能中获得更好的结果,因为他们知道什么时候人工智能在胡说八道,并且已经发展出对什么看起来正确或不正确的品味。

公司甚至不知道如何招聘了

有成千上万的钱 stake,所有激励措施都促使候选人作弊。下面的视频是今天存在的许多工具之一,它挂钩了macOS的视频渲染,并提供了覆盖(类似于 OpenGL 游戏hack的工作原理),这些覆盖无法被屏幕录制软件或 Zoom 检测到。

公司的商业模式岌岌可危

现在,如果知道如何使用人工智能并且拥有专业知识,那么克隆任何现有的SaaS公司变得非常容易。

AI驱动的B2B SaaS应用程序陷入困境 😵‍💫

我在不到3个小时内使用 Cursor 和Claude 3.7制作了一个AI支持的客服机器人,而不是支付近20,000美元并且完全开源,这就是软件的未来。

— Sam Hogan 🇺🇸 (@0xSamHogan) 2025年2月27日

我怀疑未来的工作将是大量的小型10人公司,它们的运作方式类似于律师事务所,高级合伙人之间有利润分成。

未来属于那些能直接做事的想法家。

那么,这个故事什么时候会有好的转折呢?

如果你是去年毕业并即将进入职场,那么除非你采取行动,否则不会。这又是生活中的一个艰难时刻。

如果你是一名刚刚开始大学学业的学生,并将在四年后毕业——届时将有软件工程师的职位,尽管它们会有所不同。

很可能发生的情况是——如果更多的公司对初级员工关上门,那么下一代初级员工将无法成长——类似于在互联网泡沫/破裂期间发生的事情——然后我们将迎来另一个繁荣——这将导致拥有正确技能的人获得令人难以置信的福利和丰厚的薪酬,因为没有足够的初级员工进入劳动力市场...

如果我是你,我会怎么做...

理解时间站在你这边,如果你采取行动。你现在有大约一年的时间,也许更少。无论你做什么——不要浪费它。你现在的优势是大多数软件工程师还没有意识到你所意识到的。当他们意识到时——游戏结束,除非你有优势。

学习大学通常不教的基本知识:

  • 创建一个应用程序(它可以是任何东西,即使是一个基本的待办事项应用程序网站)
  • 学习如何进行属性测试并编写可测试的代码。
  • 设置 CI/CD 管道(不要使用GitHub Actions以外的工具)。
  • 学习从第一性原理开始的源代码管理(SCM),如Git
  • 学习如何使用SCM+CI+属性测试逐步发布软件。

找到一个能把你推向学习极限的同伴

标准的学习速度是为普通人准备的。如果你比平均水平更好,那么你可以折叠时空,超越竞争对手。

不要加入初创公司

在AI之前的最后一次风险投资泡沫和破裂中,许多初创公司筹集了过多的资本,甚至进行欺诈,以相互交叉销售的方式增加客户数量。即将发生的AI破裂对于他们来说将是残酷的 —— 现在有许多僵尸公司。

只加入现有的支付工资的情况良好,并且能将你的成长和学习推向极限的运营环境的初创公司。

要理解,大多数初创公司都会失败,你可能会在一夜之间被解雇。如果非要选择那样的话,需要确保你有足够的现金储备 —— 你可能需要6个月以上的时间才能找到新工作。

不要找禁止使用AI编码工具的工作

你将对自己造成巨大的伤害。寻找鼓励使用 AI 工具的公司。

获得每个雇主都会渴望的技能

我现在就要说——忽略像AWS这样的商品化、一次性、可处置的知识 —— 关注那些人们不知道的、未来会有需求的技能。

成为MCPs的专家。现在有一个全新的领域向你开放,成为MCPs的多产的开源作者,因为目前没有多少人正在创建它们。

拆解 github.com/block/goosegithub.com/All-Hands-A…。学习它们的运作方式,然后从头开始构建你自己的AI编码助手:从第一性原理或按照我的系列文章,逐步构建。

你想成为公司争相雇佣的员工,因为你比其他人有6个月以上的领先优势,并且你带来了新的想法和技术。成为那个比职业生涯20年以上但没有关注的人更了解这些工具的人。

专注Rust生态

每个编程语言社区和生态系统都有其吸引优秀人才的窗口时间。现在,那就是Rust生态系统。它充满了创新者——你想和创新者一起工作。

如果你专注于学习像TypeScript这样的商品化语言,你定位自己是错误的。尽管如此,编程语言不再重要,但Rust有一个独特的属性,由于其类型系统,它能够与其他编程语言(除了Haskell)实现更好的与LLMs的协作效果。

理解你的工作如何直接转化为商业价值

组织的抽象层正在减少。从现在起,非常重要的是要像企业家一样思考和行动。你不是一个在IDE中输入代码的软件工程师——那些日子已经一去不复返了。相反,你需要理解你的工作如何直接转化为商业价值,为了实现这一点,你需要成为一个产品经理工程师。找到一个有深厚领域知识的产品经理(或创始人)并与他们成为朋友。了解要解决的高价值问题,并通过站在客户或客户的立场上发现他们的痛点/研究项目。成为一个医生,而不是服务员。学点商业和金融知识。

构建小零件,而不是直接组装一架飞机

当你构建时,从小处着手。一旦你做出了最小的东西,就与世界分享。采取构建许多小而能很好地组合的东西的方法,这些小东西可以组合成大东西。这是一场马拉松,而不是短跑。

建立自己的公众形象

我再怎么强调也不为过。我生命中许多带来成果的机会,只是因为我创造了运气。一旦你有几个MCP在身,并且你正在构建自己的AI编码助手的路上——开始建立自己的公众形象。

在应用上,这意味着:

  • 创建自己的个人专业网站(即name dot com)并定期发布你的学习成果。从小处开始——构建这个——til.simonwillson.net/
  • 创建GitHub账户并开始在上面发布你的作品
  • 将你的MCP工具发布到npm和/或crates.io(招聘人员会搜索这些地方)
  • 参加聚会——他们总是在寻找演讲者。公开演讲很难,无论你变得多好,它始终很难。克服它,开始分享你的知识。
  • 找到同伴并建立关系。毫无保留地分享你的知识。

玩转你的生产工具,发展优势和独特见解


总结与感受

学生面临的情况其实和当下面临的环境非常类似:身处一个生产工具剧烈变革的时代,未来道路不知在何处,不清楚以自己的能力能走到哪一步,所以迷茫是很正常的,不过与其在原地踌躇,不如用心看一看这位作者的对于这个问题的见解,也许能为你带来一丝明悟。

社会与科技发展的趋势无法改变,但在时代的浪潮真正来临时我们终究需要做出选择,不是吗?