机器之心编译
软件行业正站在一个颇为微妙的拐点上。AI 已经从自动补全代码,演进为能够自主执行开发任务的智能体。
在这一变化之下,初级开发者和高级开发者正同时被推入各自不同、却同样棘手的困境之中。
对初级开发者而言,最大的挑战不在于会不会写代码,而在于还没来得及成长,练级空间就被压缩了。企业不再愿意为学习成本买单,初级岗位要么减少,要么被要求一上来就能独立产出。
而对高级开发者来说,处境同样不好过。AI 并没有让他们更轻松,而是让责任进一步集中。当团队规模缩小、初级人手减少,高级工程师往往既要做架构决策,又要兜底 AI 和自动化系统带来的各种隐性风险,代码质量、性能、安全、合规。写代码的比例在下降,但判断、评审和决策的压力却在上升,一旦系统出问题,责任仍然落在人身上。
接下来会发生什么,充满了不确定性。
Addy Osmani,来自谷歌的一名软件工程师,在一篇文章中提出了 5 个可能在 2026 年前重塑软件工程的关键问题,并为每个问题给出两种截然不同的走向。

文章链接:https://addyosmani.com/blog/next-two-years/
这五个问题都指向同一件事,软件工程正在从写代码的职业,转变为驾驭复杂系统与 AI 的职业。未来不是单一答案,而是多种路径并存,谁能适应变化,谁就能留下来。
初级开发者之问
结论很直接:随着 AI 开始自动化入门级任务,初级开发者的招聘可能会出现崩塌;也可能随着软件渗透到几乎所有行业而重新反弹。这两种未来都存在,但对应的生存策略完全不同。
像传统路径,学会编程、拿到初级岗位、逐步成长为高级工程师正在动摇。一项覆盖 6200 万名劳动者的哈佛研究发现,当企业采用生成式 AI 后,在六个季度内,初级开发者的就业人数下降了大约 9%–10%,而高级开发者的就业几乎没有变化。过去三年,大型科技公司招聘的应届毕业生数量减少了 50%。正如一位工程师略带讽刺地说:既然一个 AI 编码智能体的成本更低,为什么还要花 9 万美元去雇一个初级工程师?
这并不只是 AI 的问题。像利率上升等宏观因素,在 2022 年左右就已出现影响,那时 AI 工具还未大规模普及。但 AI 加速了这一趋势。如今,一名配备 AI 辅助的高级工程师,产出已经相当于过去一个小团队的工作量。相比裁员,许多公司更常见的做法是悄悄地不再招聘初级开发者。
反过来的情景是:AI 在所有行业,而不仅仅是科技行业,释放出对开发者的巨大需求。医疗、农业、制造业、金融业都开始大规模嵌入软件和自动化。AI 不是取代开发者,而是成为一种放大器,把开发工作扩展到过去几乎不雇程序员的领域。初级岗位会更多出现,但形式不同:那些能快速为特定细分场景构建自动化和集成方案的 AI 原生开发者。
美国劳工统计局预计,2024 年到 2034 年间,软件相关岗位将增长约 15%。如果企业选择用 AI 来扩大产出,而不是单纯压缩人力规模,它们仍然需要人类去把握 AI 创造的新机会。
但悲观情景的一个长期风险常常被忽视:今天的初级开发者,就是 5 到 10 年后的高级工程师和技术领导者。如果完全切断人才培养管道,最终会造成领导力真空。行业老兵将这种现象称为缓慢衰退,一个停止培养接班人的生态系统。
如何应对?
对于初级开发者来说,要让自己具备 AI 使用能力并保持多面性。证明一名初级开发者 + AI 的组合,能够匹配一个小团队的产出。使用 AI 编码智能体(如 Cursor、Antigravity、Claude Code、Gemini CLI)来构建更大的功能模块,但要理解并能解释其中的每一行代码,至少是大部分代码。把重心放在 AI 不容易替代的能力上:沟通能力、问题拆解能力、领域知识。将相邻岗位(如 QA、开发者关系、数据分析)视为切入口。建立作品集,尤其是包含 AI API 集成的项目。考虑学徒制、实习、合同制工作或参与开源项目。不要成为又一个需要大量培训的应届生,而要成为一个能够立刻产生价值、并且学习速度很快的工程师。
对于高级开发者来说,初级人员减少意味着更多基础性工作会落到自己身上。要用自动化来应对日常事务,但不要什么都自己做。搭建 CI/CD、代码规范检查工具以及 AI 辅助测试,以捕捉基础问题。通过开源项目或辅导其他部门的同事,进行非正式的指导。如果未来初级岗位需求回升,要准备好高效地进行入职引导,并以结合 AI 的方式进行任务分配。你的价值不在于自己写了多少代码,而在于放大整个团队的产出。

技能之问
核心结论:当 AI 编写了大部分代码之后,编程基本功要么会逐渐退化,要么会因为人类开发者转向监督与把关而变得比以往任何时候都更重要。接下来的几年,将决定我们究竟是用理解力换速度,还是在效率提升的同时守住理解。
如今,已有 84% 的开发者在日常工作中经常使用 AI 辅助。对许多人来说,面对一个 Bug 或新功能时的第一反应,不再是从零开始写代码,而是先写一个提示词,把 AI 生成的代码片段拼接起来。入门级开发者正在跳过最难的那条路:他们可能从未亲手实现过一棵二叉搜索树,也从未独立排查过一次内存泄漏。
技能结构正在发生迁移:从实现算法,转向知道如何向 AI 提出正确的问题,并验证它的输出。职业阶梯的第一步,不再要求展示纯粹的编码能力,而是能够熟练地提示 AI、校验结果。一些资深工程师担心,这会催生出一代无法独立高质量写代码的开发者,一种事实上的去技能化。而 AI 生成的代码往往会引入隐蔽的 Bug 和安全漏洞,经验不足的开发者很容易忽略这些问题。
另一种对立的情景是:当 AI 处理掉 80% 的常规工作后,人类将专注于最困难的那 20%。架构设计、复杂集成、创造性设计、边界情况 —— 这些仍然是机器单独难以解决的问题。AI 的普及并不会让深度知识过时,反而会让人类专家的价值更加凸显。这正是高杠杆工程师:他们把 AI 当作放大器,但必须对系统有深入理解,才能真正驾驭它。
如果每个人都能使用 AI 编码智能体,真正区分优秀开发者的,是能否判断 AI 何时是错误的,或次优的。一位资深工程师曾这样说过:最好的软件工程师,不是写代码最快的人,而是最清楚什么时候不该相信 AI 的人。
编程工作的重心正在转移:更少时间用来敲模板代码,更多时间用来审查 AI 输出是否存在逻辑错误、安全缺陷,或与需求不匹配的问题。关键能力逐渐变成软件架构、系统设计、性能调优和安全分析。AI 可以很快生成一个 Web 应用,但只有经验丰富的工程师,才能确保它遵循了安全最佳实践,没有引入竞态条件。
在 2025 年,开发者社区的讨论明显分裂。一些人坦言自己几乎不再手写代码,认为面试和考核方式也应该随之演进;另一些人则认为,跳过基础训练会导致在 AI 输出失效时陷入更频繁、更痛苦的救火。整个行业开始期待工程师同时具备两种能力:AI 带来的速度,以及支撑质量的基础智慧。
如何应对:
对于初级开发者来说,要把 AI 当作学习工具,而不是拐杖。当 AI 编码智能体(如 Cursor、Antigravity、Claude Code、Gemini CLI)给出代码时,主动复盘它为什么能工作、哪里可能存在问题。偶尔关闭 AI 辅助,亲手实现关键算法。优先夯实计算机科学基础:数据结构、算法、复杂度分析、内存管理。一个项目可以做两遍,一遍借助 AI,一遍不借助 AI,对比差异。学习提示词工程和工具使用技巧。同时训练严谨的测试习惯:编写单元测试,在不立刻求助 AI 的情况下阅读堆栈信息,熟练使用调试器。深化 AI 难以复制的互补能力:系统设计、用户体验直觉、并发问题的推理能力。向外界证明,你既能借助 AI 高效产出,也能在它失效时解决棘手问题。
对于高级开发者来说,要将自己定位为质量与复杂性的守门人。持续打磨核心专长:架构、安全、可扩展性以及领域知识。练习在系统中引入 AI 组件时的整体建模,并提前思考失败模式。持续关注 AI 生成代码中暴露出的新型漏洞。主动承担导师和评审者的角色,明确哪些场景可以使用 AI,哪些场景必须人工审查(例如支付或安全相关代码)。把精力更多放在创造性和战略性工作上,让初级开发者 + AI 的组合去处理常规的 API 对接,而你来决定应该构建哪些 API。投资软技能和跨领域知识,持续跟进新工具和最佳实践。最终,进一步强化那些让人类开发者不可替代的能力:稳健的判断力、系统级思考,以及培养他人的能力。

角色之问
核心结论:开发者这一角色,可能会收缩为一种有限的审计岗位(主要负责监督 AI 生成的代码),也可能扩展为一个关键性的编排者角色,负责设计和治理由 AI 驱动的系统。无论走向哪一种未来,创造价值都不再只是写代码本身。
这里的两种极端非常鲜明。在其中一种设想中,开发者的创造性职责被明显削弱。他们不再真正构建软件,而是主要负责审计和看护 AI 的输出。AI 系统承担实际生产;人类开发者检查自动生成的代码,查找错误、偏见或安全问题,并批准部署。创造者变成了检查者,写代码的乐趣被风险管理的焦虑所取代。
已经有报道称,一些工程师花在评估 AI 生成的 pull request 和管理自动化流水线上的时间越来越多,而从零开始写代码的时间却越来越少。编程逐渐不像是一种创造性的问题求解,更像是一种合规性工作。一位工程师曾无奈地感叹:我不想最后变成一个代码清洁工,只是收拾 AI 扔过来的烂摊子。
另一种未来则要有意思得多:开发者进化为高层次的编排者,融合技术、战略与伦理责任。随着 AI 工人的出现,人类开发者承担起类似架构师或总承包商的角色,负责设计整体系统,决定哪些任务交给哪一个 AI 或软件组件,并将众多运转中的部件编织成一个完整方案。
一位低代码平台的 CEO 曾这样描述这一愿景:在 Agentic 的开发环境中,工程师会成为作曲家,指挥由多个 AI 智能体和软件服务组成的合奏。他们不会亲自写下每一个音符,但会定义旋律 —— 系统架构、接口,以及各个智能体如何交互。这个角色本身具有跨学科和创造性:既是软件工程师,又是系统架构师,同时还是产品战略制定者。
更乐观的看法是:当 AI 接管重复性劳动后,开发者的角色将被迫转向更高价值的活动。工作本身反而可能变得更有意思。总得有人决定 AI 应该构建什么,验证产品是否合理,并不断对其进行改进。
最终走向哪一条路,很大程度上取决于组织如何选择整合 AI。把 AI 视为劳动力替代品的公司,可能会缩减开发团队规模,让留下来的工程师负责维持自动化系统运转;而把 AI 当作团队放大器的公司,则可能保持相近的人员规模,但让每位工程师承担更宏大的项目。
如何应对:
对于初级开发者来说,要主动寻找不只是写代码的机会。可以自愿参与测试用例编写、CI 流水线搭建或应用监控等工作,这些能力都与审计者 / 看护者角色高度契合。同时,通过个人项目保持对创造性编码的热情,避免失去构建的乐趣。培养系统思维:学习各个组件如何通信,理解什么样的 API 才算设计良好。多阅读工程博客和系统设计案例。熟悉代码生成之外的 AI 与自动化工具,例如编排框架和 AI API。提升书面和口头沟通能力,写文档时假设读者是另一个人。向资深同事请教时,不只问我的代码能不能跑,而要问我是不是考虑到了该考虑的事情。为自己做好准备,成为验证者、设计者和沟通者,而不仅仅是写代码的人。
对于高级开发者来说,要主动拥抱领导力和架构层面的责任。塑造 AI 和初级成员遵循的标准与框架,制定代码质量清单和负责任使用 AI 的规范。持续关注 AI 生成软件在合规与安全方面的新问题。把重心放在系统设计和集成能力上,主动梳理跨服务的数据流并识别潜在失效点。熟练使用各种编排平台,如 Kubernetes、Airflow、无服务器框架以及智能体编排工具。进一步强化技术导师的角色:更多代码评审、设计讨论和技术规范输出。打磨快速评估他人(或 AI)代码并给出高层次反馈的能力。同时培养产品和业务意识,理解为什么要做某个功能,以及用户真正关心什么。可以旁听产品经理的工作,或参与用户反馈会议。通过原型开发、黑客松或前沿技术研究,保护并延续自己的创造热情。从写代码的人,进化为指挥全局的指挥家。
专才还是通才之问
核心结论:过于狭窄的专才,面临其细分领域被自动化或淘汰的风险;而在一个快速变化、深度融入 AI 的环境中,更受青睐的是 T 型工程师,既具备广泛的适应能力,又在一两个方向上有深度专长。
在模型、工具和框架不断兴衰更替的背景下,把整个职业生涯押注在单一技术栈上,风险越来越高。某个传统框架的专家,可能会突然发现,当新的 AI 工具几乎不需要人工干预就能处理那套技术时,自己的需求度迅速下降。那些只专注于某一个技术栈、某一个框架或某一个产品领域的开发者,可能一觉醒来就发现,这个领域正在衰退,甚至变得多余。
回想一下 COBOL 开发者、Flash 开发者,或那些在行业转向时未能及时转型的移动游戏引擎专家。不同之处在于,如今变化的速度更快。AI 自动化可以让某些编程任务变得极其简单,从根本上削弱那些围绕这些任务建立起来的岗位。一个只会做一件事的专家(比如精调 SQL 查询,或把 Photoshop 设计稿切成 HTML),可能会发现 AI 已经承担了其中 90% 的工作。
招聘市场总是在追逐最新的细分领域。几年前,云基础设施专家炙手可热;如今,AI/ML 工程师成为焦点。那些只深耕于昨日技术的人,往往会在该领域失去吸引力时陷入停滞。
与此相对的是一种新的专业化形态:多面手式的专才,或者说 T 型开发者。他们在一到两个领域具备深度专长(纵向的一笔),同时对许多其他领域有广泛了解(横向的一笔)。这类工程师往往成为跨学科团队中的胶水,能够与不同方向的专家沟通,在需要时填补空白。
企业不再需要要么过于浅尝辄止、要么过度狭窄的开发者,而是希望工程师既有坚实的核心能力,又能在整个技术栈中协同工作。原因之一是效率:T 型工程师往往可以端到端解决问题,而不必等待频繁的交接;另一个原因是创新:不同领域知识的交叉,往往能催生更好的解决方案。
AI 工具实际上更能放大通才的能力,让一个人同时处理多个组件变得更加容易。后端工程师可以借助 AI 辅助生成可用的 UI;前端工程师也能让 AI 生成服务器端的样板代码。在一个 AI 高度充沛的环境中,人们可以更广泛地工作。相反,深度专才可能会发现自己的细分领域被部分自动化,却很难顺利横向扩展。
如今,接近 45% 的工程岗位都期望候选人具备多领域能力:比如既会编程,又懂云基础设施;或者以前端为主,但对机器学习有一定了解。
如何应对:
对于初级开发者来说,要尽早打下宽广的基础。即便是因某个具体角色被录用,也要有意识地走出自己的竖井。如果你做移动端,就去学一些后端基础;如果你做前端,试着写一个简单的服务器。了解部署流程,熟悉 Docker、GitHub Actions 等工具。找出一两个真正让你产生兴趣的方向,持续深入,这将成为你的纵向专长。把自己定位成复合型角色,例如侧重云安全的全栈开发者,或具备 UX 专长的前端工程师。利用 AI 工具快速进入新领域:当你对后端还很陌生时,可以让 ChatGPT 生成入门级 API 代码并加以学习。培养持续再学习的习惯。通过黑客松或跨职能项目,强迫自己进入通才模式。主动告诉你的经理,你希望接触项目的不同部分。在职业早期,适应能力本身就是一种超能力。
对于高级开发者来说,要系统性地梳理自己的技能图谱:哪些领域是你的强项,哪些相邻领域只是浅尝辄止。选择一到两个相关方向,投入精力做到能对话、能上手。如果你是后端数据库专家,可以去熟悉一个现代前端框架,或学习机器学习流水线的基础。借助 AI 辅助,在自己薄弱的领域做一个小项目。把你的深度专长放到新的语境中:如果你擅长 Web 性能优化,就去探索这些能力如何应用到 ML 推理优化上。主动推动或设计更具跨职能属性的角色定位,争取成为多领域项目的整合负责人。在指导他人、扩散技能的同时,也从他们身上学习新东西。更新简历,突出你的多面性。利用经验识别可迁移的模式和知识。最终,成为 T 型工程师的榜样:在专长领域足够深入,带来权威和信任;同时不断横向延展自己的能力边界。
教育之问
核心结论:计算机科学(CS)学位是否仍会是进入软件行业的黄金标准,还是会被更快的学习路径(训练营、在线平台、企业培训)所取代?在一个每隔几个月就发生变化的行业面前,大学可能越来越难跟上节奏。
长期以来,四年制计算机科学学位一直是进入软件岗位的主要通行证。但这一传统正在受到质疑。
其中一种未来是:大学仍然重要,但越来越难保持相关性。学位依然是默认的资质门槛,但课程内容落后于飞速变化的行业需求,受限于缓慢的课程更新周期和繁琐的审批流程。学生和雇主都会感觉,学术界与产业脱节,教授的要么是纯理论,要么是已经过时、无法直接转化为工作能力的实践。
许多应届毕业生表示,在整个本科学习期间,他们从未接触过云计算、现代 DevOps 或 AI 工具。如果大学要求学生投入高昂的时间和金钱,却提供低相关度的教育,就有可能被视为昂贵的看门人。但由于惯性,许多公司仍然要求学士学位,于是弥补技能差距的负担被转嫁给学生,他们不得不通过训练营、在线课程和自学项目来补齐短板。
企业每年要花费数十亿美元来培训新员工,因为毕业生并不具备职场所需的技能。大学可能会加一门 AI 伦理课,或开一门云计算选修课,但等到真正落地时,行业工具往往已经更新换代。
更具颠覆性的情景是:传统教育体系被越来越多的新系统所替代,编程训练营、在线认证、自学作品集,以及由雇主主导的培训学院。许多知名企业(如 Google、IBM)已经在部分技术岗位上取消了学历要求。到 2024 年,接近 45% 的公司计划在至少一部分岗位上取消学士学位门槛。
编程训练营本身也在成熟。它们培养出的毕业生,已经可以与科班 CS 毕业生一起进入顶级公司工作。这类项目周期更短(例如 12 周的高强度训练),重点放在实用技能上:当前流行的框架、云服务以及团队协作。招聘中的硬通货正在转向实时作品集、微证书和可验证技能。一份强有力的 GitHub 作品集或被认可的认证,已经可以绕过学位要求。
由雇主驱动的教育模式正在出现:公司建立自己的培训管道,或与训练营合作。一些大型科技公司已经为非传统背景的候选人开设了内部大学。AI 本身也带来了新的学习方式:AI 导师、交互式编程沙盒、个性化教学,使学习不再局限于大学校园。
一个模块化的学习生态,比昂贵的四年制学位更加普惠。一个身处缺乏优质 CS 大学国家的孩子,也可以修同样的 Coursera 课程,构建与硅谷学生同样水平的作品集。
如何应对:
对于有志或刚入行的开发者来说,如果你身处传统 CS 项目中,不要完全依赖它。用真实项目来补充课程:做一个 Web 应用,参与开源项目,争取实习或带薪实训。如果课程体系没有覆盖热门方向,就通过在线平台自学。获取行业认可的认证(如 GCP、AWS、Azure),向雇主证明你的实操能力。如果你是自学或来自训练营,重点打造有说服力的作品集,至少要有一个体量不小、文档完善的项目。积极参与开发者社区:贡献开源、撰写技术文章,通过 LinkedIn、线下聚会和开发者活动建立人脉。争取让一位有经验的开发者为你背书。持续学习,因为技术技能的半衰期很短。把 AI 当作你的私人导师,用作品集、认证以及对自己项目的清晰讲述来证明能力,这些都会为你打开机会之门。
对于资深开发者和管理者来说,单靠既有学历不会一直奏效。要持续投入学习:在线课程、研讨会、技术大会和认证。用新的方式验证自己的能力,做好准备应对以真实问题检验当前水平的面试。保持使用新技术的副项目。重新审视招聘要求:你真的需要新员工拥有 CS 学位,还是你真正需要的是某些技能和持续学习的能力?推动以技能为先的招聘方式,扩大人才池。支持内部培训项目或学徒制岗位,为没有传统背景的初级开发者搭建导师网络。积极与高校和替代教育体系互动:参与顾问委员会、做客座分享、反馈课程与行业需求之间的差距。也要在自身职业发展中体现这一点:真实世界的成果和持续学习,比再拿一个学位更重要。
参考链接:https://addyosmani.com/blog/next-two-years/
转载请联系本公众号获得授权
投稿或寻求报道:liyazhou@jiqizhixin.com
]article_adlist–>
<!-- 非定向300*250按钮 17/09 wenjing begin -->
<!-- 非定向300*250按钮 end -->
</div>