两周前,一位学生匿名给我发电子邮件寻求建议。这就是答复,如果我处于你的立场,这就是我会做的。
所以,我读了你的博客文章“一个哦操蛋的时刻”和“未来属于那些能做事的有想法的人”,并决定“好吧,我自己去尝试一下光标,看看作曲家做得有多好”。我通常使用 copilot 和一些 claude,但使用不多,因为将我的 50kloc 项目的上下文输入 Claude 很困难,而且我不想开始为 API 使用付费,所以我可以开始使用 ie aider(我通常免费获得 copilot)。我听到了一些关于光标和朋友的说法,我认为这些说法是在 LinkedIn 上进行的,所以直到现在我才真正考虑它。
例如,我一直在为我的 Android 应用程序开发一个小 JNI 模块,但它有一堆奇怪的内存错误,因为管理 JNI 资源几乎是不可能的,而且 C++ RAII 有一堆疯狂的枪。所以,我计划用 Rust 重写它,这样我就可以 100% 隔离内存不安全。这是一个艰巨的任务,它是一个庞大的 C++ 库及其自己的 CMake 设置和我的应用程序的 JNI 代码之间的三向集成。它需要一些非常混乱的从 Rust 特性到 C++ 抽象类的转换。将其集成到我的应用程序中需要花费很多时间。我认为这是一个足够好的基准来看看作曲家是否合格。
第一次绕得不太好,我一次性付清了我想要的所有工作,然后就窒息了,绕了一圈。尝试回去手动调试内存问题,但说实话,我讨厌 C++,并决定再次使用 Composer 和 rust 模块。第二次,我将任务分割成更小但仍然相当大的部分,并一次将它们提供给作曲家。
这次,composer 大概写了 99% 的代码。移植以前的 shell 脚本,制作将特征映射到 C++ 抽象类所需的垫片,移植手动 JNI 代码,以及将它们链接在一起的大量构建脚本。当我粘贴错误跟踪时,它调试了自己的工作(遗憾的是,因为这个 rust 模块被硬塞到我的应用程序编辑器代理中,无法真正自行测试)。它就奏效了。有一些东西它无法做到,主要是因为大错误跟踪和增量构建错误而窒息(感谢 gradle),有时我需要在架构上指出更好的方向,但除此之外我几乎没有触及代码。我所做的只是指导作曲家做我想做的事情。然后我就在它完成工作的时候消磨时间。
我现在很茫然。我是一名学生。应届毕业生和实习生不被视为能够完成工作的创意人员,他们被视为被高年级学生放牧的无用的票猴。现在 Cursor Composer 大概是由一位高年级学生而不是我来管理的票猴。如果规模足够大的推理模型可以完成任务切片,那么甚至可能不需要高级人员。我已经感觉自己一直在泰坦尼克号上移动椅子,谈论项目和实习,就好像这种威胁不存在一样,老实说,这证实了这一点。难道真的有什么理由让我不应该放弃我生命中的十年而去做……我什至不知道做什么。按照这样的开发速度,我什至不知道在其他所有问题都被 o4 或其他什么解决之前我是否有时间“旋转” 。我还能做什么呢?
谢谢,
一位匿名学生
这标题写的太强了……
这只是事实,我是一个直率的人。我宁愿直接告诉你并提供可行的建议,然后安抚感情。
您现在采取的步骤将决定您今后获得 SWE 角色的成功率。如果你是一个高度自主的人,那么只要你采取行动,你就不会完蛋。
这一切以前都发生过
软件开发行业是有周期的,这是我经历过的繁荣之后的第三次萧条。了解 2000 年互联网泡沫破灭中发生的事情很重要,因为它导致了 2017 年的繁荣。
那么,让我们把时间倒回吧。
现在是 1998 年,如果您知道如何使用Dreamweaver制作网站、如何拼凑一些 Perl并使用 RSH 连接到 Sun e4500,那么您一定会担任软件工程师。
经过大规模的炒作和过多的风险投资资金的注入,导致了人才市场上世界上没有足够的软件工程师。
生活很棒。也就是说,直到事实并非如此。 2000 年泡沫破灭,一位名叫 Philip J.“Pud”Kaplan 的工程师在一个名为“ Fucked Company dot com ”的网站上记录了这次泡沫的崩溃。从这个网站当时的重要性和意义来看,它相当于 HackerNews(或 Slashdot)
突然之间,所有的工作都枯竭了。刚刚毕业并正在寻找甜蜜的软件工程职位的学生就像你现在一样(如果你不采取行动的话)。
似乎一夜之间,就业从卖方市场(即有利于雇员)转变为买方市场(即有利于雇主),因为急于找到下一份工作的高级工程人才供过于求。当一家公司能够以便宜的价格获得拥有五年知识的人时,为什么要雇用一名毕业生呢?
那是一个新冠疫情时刻,如果你出生在错误的年份(即在澳大利亚12年级的高中生被打乱),那么你的生活就彻底颠倒了。
那一代毕业生只是错过了机会和核心生活经历……
花了很多年才从萧条中恢复过来
但这是关键所在。由于公司没有培养下一代,毕业生供应不足,导致市场上缺乏有才华的软件工程师。结果是不可避免的。
市场转向了员工拥有所有权力的一方,并且由于又一轮大规模的风险资本注入,资金得以自由流动。
每家公司都想吸引“谷歌出身的人才”。各地的公司开始提供福利和薪酬方案来吸引他们加入他们的公司。
Google 的 L3 费用为 280,710 澳元/年。 Google L5 的年薪为 592,734 澳元。 L8 的费用为 1,655,874 澳元/年。
消息传开后,突然每个人都想成为一名软件工程师,因为钱太贵了。 YouTube 现在已经风靡一时,形形色色的骗子开始兜售如何找工作的课件,并吹嘘自己拥有数百万美元——这导致更多的人成为软件工程师(只是为了钱),因为这是一条快速退休的简单途径。
你所需要做的就是进门,抓住宝贵的生命,然后在各层之间跳跃。仅供参考。梯子。
现在已经到了 2023 年,在经历了 14 年的强劲增长之后,该行业再次陷入困境。利率上升,将风险资金存放在风险投资公司不再是投资者理想的选择,因为现在有其他风险较低的替代方案。
虽然我设法避免了最初的网络泡沫,但这件事对我个人产生了影响。我是 219,709 次裁员中的软件工程师之一,我(根据我的经验)花了六个月的时间才找到合适的替代角色。
如果您在 2023 年从大学毕业或进入就业市场,那么您正在与我(和/或大约 219,709 名有经验的合格员工)竞争。
IE。搞砸了…
现在是 2025 年
人工智能就在我们家门口,而就业市场尚未从上次的萧条中恢复过来。从某种程度上来说,你很幸运,因为你很早就意识到了即将发生的事情,并且有时间采取行动。有许多软件工程师根本无法成功,因为他们没有像你那样顿悟,甚至还没有开始进入人工智能采用的人员阶段……
这次不一样
一位才华横溢的同事写下了下面的图表和文字,解释了人工智能对不同级别工程师的影响……
初级工程师
您刚刚开始在新的代码库中工作,并且仍在拼凑出一个关于事物实际工作方式的可靠心智模型。在这里,法学硕士是一个救星。陷入错误?法学硕士可以给你一个有意义的解释。需要为一个小功能编写一些代码,或者进行库升级?所有这些都可以通过法学硕士更快地完成。
法学硕士已经让人感觉它可以为你完成大部分工作。这就是为什么我相信这里存在真正的危险区域。如果你依靠法学硕士作为摆脱困境的捷径,就像你在不得不询问时向更资深的同事伸出援手一样——那就没问题了。在现实世界中,即使您愿意,您也很可能无法逃避法学硕士。然而,如果您最终在 IDE 和 LLM 之间来回复制粘贴代码,而没有真正理解发生了什么或为什么发生,那么提高您的工程技能将成为一个严峻的挑战。
中级工程师
您已经建立了相当多的上下文,并且可以自信地浏览您的代码库。您仍然发现法学硕士可以让您更快地编写代码。您可以通过 copilot 的完成更快地交付功能,使用代理编写更少的样板代码,通过 ChatGPT 更快地学习新框架。
然而,你已经遇到了法学硕士根本无法处理的情况。它不会从你收到的票中破译客户真正想要什么,它无法使用你的调试器来查明危险的竞争条件,并且当你响应午夜待命警报时它无法为你提供太多帮助。
高级工程师
您对您负责的整个代码库有一个很好的心智模型。你知道它的所有来龙去脉。天哪,你可能写了其中相当一部分。当然,您可以更快地编写代码,并且您喜欢它,但是您真正花多少时间编写代码?当你制定路线图时,它并不能真正帮助你。当你深入研究一个奇怪的海森虫时,它并不能真正帮助你——它会让你感到困惑。当您为下一个项目编写大量设计文档时,它只能帮助您处理格式和结构,而不能帮助您解决最难的部分 – 实质内容。它只是没有你头脑中积累的所有细微差别和背景,即使你想,你也无法把它写下来。
你的许多朋友和同事都很兴奋,你也想兴奋,但你就是做不到。人工智能根本还没有出现。这可能是对法学硕士最怀疑的水平,你的领域越技术化或独特,你的幻灭感就越强烈。
员工+工程师
虽然员工原型有很多,但他们之间有一个共同点——你的角色往往是为其他人指明道路。为了实现这一点,你必须进行大量的实验。
这是法学硕士可以再次闪耀的地方。编写概念验证项目突然变得更加容易。如果您需要证明采取某种方法的可行性,法学硕士可以帮助您比没有它更快地创建一个半生不熟、几乎不起作用的解决方案。最好的部分是,一旦法学硕士陷入困境,您可以利用大脑中广泛的领域知识很快摆脱困境。
公司正在对初级员工关门
员工+、高级和中级工程师(他们自己投资)现在更受欢迎,因为他们可以利用自己的专业知识输出更多因素的代码,并且凭借多年来(或数十年)获得的智慧,他们能够从人工智能中获得更好的结果,因为他们有经验知道人工智能何时在胡说八道,并且已经培养了对什么看起来正确或不正确的品味。
公司甚至不知道如何招聘
由于涉及数十万美元,候选人作弊的所有动机都存在。下面的视频是目前存在的众多工具之一,它们挂钩 macOS 的视频渲染并提供屏幕录制软件无法检测到的覆盖层(类似于 OpenGL 游戏黑客的工作方式)。
软件面试过程从来都不是很好,但它已经变得最糟糕,因为人工智能可以轻松解决扔给它的任何问题 – 包括面试筛选。
我的另一位同事最近写了下面的博客文章,该文章在 HackerNews 上疯传。我强烈建议阅读评论。
公司的商业模式正处于危险之中
如果你知道如何驱动人工智能并拥有专业知识,那么现在克隆任何 SaaS 公司都变得非常容易。
由 AI 驱动的 B2B SaaS 应用程序遇到了麻烦 😵💫
我没有支付近 20,000 美元,而是仅使用@cursor_ai和 Claude 3.7 在不到 3 小时的时间内制作了一个人工智能支持机器人
完全开源。克隆存储库并在 5 分钟内设置您自己的存储库。
这是软件的未来。 https://t.co/8RWi8oYPeB pic.twitter.com/MSPVRYOSog
— 萨姆·霍根🇺🇸 (@0xSamHogan) 2025 年 2 月 27 日
您已经阅读了下面暗示这一点的文章,因此我将补充以下智慧。我怀疑未来的工作将是许多由 10 人组成的小型公司,其运作方式类似于律师事务所的运作方式——高级合伙人之间分享利润。
那么,这个故事什么时候好呢?
如果您去年毕业并今年进入职场,那么除非您采取行动,否则不会。这又是人生中的一个新冠病毒时刻。
SWE 代理已成为主流。
所有计算机科学系都该向学生退还学费并关门了。一切都结束了。
— Erik Meijer (@headinthebox) 2025 年 2 月 6 日
如果您是一名刚刚上大学的学生,并将在四年后毕业 – 将会有软件工程角色,尽管它们会有所不同。
可能发生的情况是——如果更多的公司对初级员工关上大门,那么下一代初级员工就不会被培养——类似于互联网繁荣/萧条时发生的情况——我们将迎来另一场繁荣——这将为拥有合适技能的人带来令人难以置信的福利和丰厚的薪水,因为没有足够的初级员工进入劳动力市场……
如果我处于你的处境,我会怎么做..
明白时间在你这边。你还有大约一年的时间,也许更短。不管你做什么——不要浪费它。你现在的优势是绝大多数软件工程师还没有发现你所拥有的东西。当他们这样做时——除非你有优势,否则游戏就结束了。
学习大学通常不教授的基础知识:
- 创建一个应用程序(可以是任何东西,甚至是一个基本的待办事项应用程序网站)
- 了解如何进行基于属性的测试以及如何编写可测试的代码。
- 设置 CI 管道(GitHub Actions 以外的其他东西)。
- 从第一原理学习 Git 等 SCM(源代码管理)( pdf )。
- 了解如何使用 SCM+CI+基于属性的测试增量发布软件。
找到一个能将你推向学习极限的同伴
标准的学习进度是为笨蛋准备的。如果你比平均水平更好,那么你就可以折叠时空并超越竞争对手。阅读这篇博文。
不要加入初创公司
在人工智能之前发生的上一次风险投资繁荣和萧条中,许多初创公司筹集了过多的资金或进行了彻底的欺诈,以通过相互之间的交叉销售来增加客户数量。即将发生的人工智能泡沫破灭对他们来说将是残酷的——外面有很多活死人的僵尸公司。
只有在报酬丰厚(忽略头奖的股权/梦想)并且您找到一个能够将您的成长和学习推向极限的运营环境时,才加入现有的初创公司。
要知道,大多数初创公司都会失败,你可能会一夜之间陷入困境。确保您存有足够的现金 – 您可能需要 6 个月以上的时间才能找到新职位。
不要找一份禁止使用人工智能编码工具的工作
你会给自己带来巨大的伤害。寻找鼓励这种做法的公司。
获得每个雇主都非常想要的技能
我现在就将其称为 – 忽略像 AWS 这样的商品废话知识 – 专注于人们不知道的内容以及将需要的内容。
成为MCP的主题专家。现在有一个全新的领域向您开放,您可以成为多产的 MCP 开源作者,因为目前没有多少人在创建它们。
拆开https://github.com/block/goose和https://github.com/All-Hands-AI/OpenHands 。了解它们的工作原理,然后从头开始构建您自己的 AI 编码助手 – 从最初的原理开始。
你想成为公司争夺的员工,因为你比其他人有 6 个多月的优势,并且正在带来新的想法/技术。你比一个已经进入职业生涯 20 多年但一直没有关注的工程师更了解所有这些工具在幕后的作用。
建立公开档案
我怎么强调都不为过。我生命中的许多机会之所以能结出硕果,只是因为我体现了运气。一旦您掌握了几个 MCP,并且您就可以构建自己的 AI 编码助手,那么就开始建立网络吧。不要通过网络来找工作。网络与他人分享您的知识。
在应用中这意味着:
- 创建您自己的个人专业网站(即名称.com)并定期在其上发布您的学习成果。从小处开始 – 构建这个 – https://til.simonwillison.net/
- 创建 GitHub 帐户并开始在那里发布您的所有作品
- 在 npm 和/或 crates.io 上发布您的 MCP 工具(招聘人员会搜索这两个)
- 参加聚会 – 他们一直在寻找演讲者。公开演讲很难,无论你多么擅长,它仍然很难。克服它并开始分享您的知识。
- 识别同行并与他们建立关系。分享您的知识而不要求任何回报。
使用工具,发展优势和独特的见解……
附注社交@ https://x.com/GeoffreyHuntley/status/1895043009991032996