浅谈 AI 对于软件工程师的影响和应对策略
AI 正在改变软件行业的游戏规则,从初级开发者的职业路径到高级工程师的角色定位,每个层级都面临着挑战与机遇。本文从五个维度探讨 AI 时代软件工程师的生存策略。
浅谈 AI 对于软件工程师的影响和应对策略
现在的软件行业,感觉它正在发生某种断裂。
AI Coding 已经从加强版的 Tab 补全进化为能够自主执行开发任务的 Agents。互联网公司更看重利润而非增长,更青睐经验丰富的员工而非应届毕业生,更倾向于小而精的团队。
同时,我发现年轻一代的开发者有着不同的职场观:他们看重职业稳定性,对于"奋斗文化""996文化"保持批判态度,并且几乎是从入行第一天起就在 AI 辅助下成长起来的一代。
未来充满了不确定性。
我分享一下我看到的 AI 对于软件工程的影响,以及我对于这些现象的思考。
初级开发者难题
一句话结论:
随着 AI 能够自主完成初级开发任务,初级开发者的招聘可能会大幅降低,也可能随着 AI 渗透进各行各业而释放对开发者的巨大需求。这两种未来需要截然不同的破局方法。
可能走向 🙈
"学编程 -> 找初级工作 -> 晋升高级工程师" 的传统职业路径正在改变。当 ChatGPT 出现后的三年,大型科技公司对应届毕业生的招聘减少了50%左右。当然,这不仅仅是 AI 的原因,因为疫情之后互联网公司更看重利润,而不是增长,而 AI 加速了这一趋势。现在,一名有 AI 辅助的高级工程师可以产出过去需要一个小团队才能完成的工作量,因此很多公司更多是在 "悄悄停止招聘初级人员"。
换个视角,今天的初级开发者就是明天的高级工程师和技术专家。如果完全切断人才输送管道,5-10 年后就会出现领导层真空。我将其称为,人才腐化——一个停止培养接班人的生态系统。
剧情反转 👻
AI 释放了各行各业(不仅仅是科技行业)对开发者的巨大需求。医疗、农业、制造业和金融业都开始嵌入软件和自动化。AI 不是取代开发者,而是成为一种杠杆,将开发工作扩展到从未雇用过程序员的领域。我们会看到更多的入门级职位,只是类型不同:能够快速为特定细分领域构建自动化和集成的"AI 原生"开发者。据世界经济论坛发布的《2025年未来就业报告》预测,到2030年,人工智能和数据处理技术将创造1100万个岗位,也将取代900万个岗位。
应对策略
初级开发者:
让自己精通 AI 并具备多面手能力。证明"一个初级人员 + AI"可以匹敌一个小团队的产出。
- 使用 AI Coding Agents(Cursor / Antigravity / Claude Code)构建软件,但要理解并能解释每一行代码(至少是大部分)。我认为,对于工程师而言,push自己没有reivew过的代码是一种不负责任的行为。
- 专注于 AI 无法轻易取代的技能:沟通、问题拆解、领域知识。
- 关注相邻角色(后端、开发者关系、设计、数据分析等)作为切入点。
- 建立作品集,尤其是集成 AI API 的项目。考虑参与黑客松、学徒制或开源项目。
- 不要作"一个需要培训的应届生",而要做一个"上手即用,学习迅速的工程师"。
打个广告:
本人基本每个月都会打一场黑客松,如果对于黑客松感兴趣的话,可以私聊联系我~
我的个人网站:https://site.suxiong.me/
高级开发者:
- 初级人员变少意味着更多脏活累活会落到自己头上。依靠自动化处理常规任务,但不要事必躬亲。
- 设置 CI/CD、代码检查工具和 AI 辅助来捕捉基础问题。
- 通过开源进行非正式的导师辅导。
- 如果初级人员需求反弹,做好有效入职培训和利用 AI 进行委派的准备。
- 自己的价值在于倍增整个团队的产出,而不仅仅是自己的代码。
技能难题
一句话结论:
随着 AI 接管大部分的代码编写工作,核心编程技能可能会慢慢退化。
可能走向 🙈
目前,84%的开发者经常使用 AI Coding Agents。对于很多人,遇到 Bug 或新功能时的第一反应不再是从零开始写代码,而是编写 prompt 并将 AI 生成的片段拼接起来。初级开发者正在跳过"手搓代码"的磨练,他们可能永远不会手写二叉搜索树,也不会独立调试内存泄漏等问题。
技能重心正从"手搓代码"转向"懂得如何向 AI 提问并验证其输出"。职业阶梯的第一级现在要求的是提示工程和验证 AI 的能力,而非人肉编码的实力。一些人担心这会产生一代无法独立编写高质量代码的开发者,导致某种程度的技能退化。AI 生成的代码可能会引入初级开发者难以察觉的 Bug 和安全漏洞。
剧情反转 👻
如果 AI 能够处理那 80% 的常规工作,那人类就可以专注于最艰难的20%。AI 无法独自解决的问题还有很多,比如架构设计、复杂的系统集成、创造性设计、边缘情况等。我认为 AI 的普及非但没有让深度知识过时,反而让人类的专业技能变得更加重要。资深的技术专家将 AI 视为技能杠杆,也深刻地知道必须深刻理解系统才能有效地驾驭它。
如果人人都能使用 AI Coding Agents,那么区分优秀开发者的关键就在于能否识别 AI 何时犯错或给出了次优解。最优秀的软件工程师不会是写代码最快的人,而是那些知道何时该不信任 AI 的人。
编程工作的性质正在发生转变:减少了手搓模版代码,增加了对 AI 输出内容的审查,比如检查逻辑错误、安全漏洞以及是否符合需求。关键技能变成了软件架构、系统设计、性能调优和安全分析。AI 可以迅速生成一个 Web 应用,但只有专家级工程师才能确保 AI 遵循了安全最佳实践。
去年,我也看到了开发者圈子的讨论呈现两极分化。一些人承认他们几乎不再"徒手"写代码,并认为编程面试应当随之进化。另一些人则认为,跳过基础训练会导致当 AI 输出失效时,需要花费更多时间去"救火"。行业开始期望工程师能兼备两者:既有 AI 带来的速度,又有保障质量。
应对策略
初级开发者:
- 将 AI 视为学习工具,而非拐杖。当 AI Coding Agents(如 Cursor/Antigravity/Claude Code/Gemini CLI)提供代码建议时,去审查它为何有效并找出其中的弱点。
- 偶尔禁用 AI 助手,从零开始编写关键算法。优先掌握计算机科学(CS)基础:数据结构、算法、复杂度分析、内存管理。尝试将项目实现两次:一次使用 AI,一次不使用,并进行对比。
- 学习提示工程(Prompt Engineering)并精通工具使用。训练自己进行严格的测试:编写单元测试,阅读堆栈跟踪(Stack traces)而不是立刻问 AI,熟练使用调试器。
- 深耕 AI 无法复制的互补技能:系统设计、用户体验直觉、并发推理。要向人展示:你既能利用 AI 高效产出方案,也能在 AI 失效时解决棘手难题。
高级开发者:
- 将自己定位为质量与复杂度的守护者。磨砺核心专长:架构、安全性、扩展性、领域知识。
- 练习对包含 AI 组件的系统进行建模,并深思其故障模式。时刻关注 AI 生成代码中常见的新型漏洞。
- 拥抱导师和审查者的角色:界定哪些场景可以使用 AI,哪些场景必须进行人工审查(如支付或安全相关代码)。
- 投身于创造性和战略性工作;让 "初级开发者 + AI" 的组合去处理常规的 API 对接,而由你来决定需要构建哪些 API。
- 投资软技能和跨领域知识。紧跟新工具和行业最佳实践。加倍投入那些让人类开发者不可或缺的特质:稳健的判断力、系统级思维以及导师精神。
角色定位难题
一句话结论:
开发者的角色可能会萎缩成有限的 review 工作(监督 AI 生成的代码),也可能扩展为设计和治理 Agentic 系统的核心架构者。无论哪种情况,创造价值都将远不止于编写代码。
可能走向 🙈
在一种场景中,开发者的创造性职责被削弱。他们不再是 build 软件,而是主要负责 review AI 的输出。AI 系统负责生产;人类开发者则 review 自动生成的代码,检查错误、边缘情况或安全隐患,并同意部署。builder 变成了 reviewer。代码创作的乐趣被风险管理的焦虑所取代。
我发现工程师们花费更多时间评估 AI 生成的代码,而从零开始编写代码的时间变少了。编程感觉不再像是创造性地解决问题,而更像是合规性检查。
剧情反转 👻
开发者进化为高阶编排者,集技术、才华和美貌于一身。拥有 AI 工人意味着人类开发者将承担起架构师的角色,负责设计整体系统,决定将哪些任务分配给哪个 AI 或软件组件,并将众多变动的部件组成解决方案。
在 agentic 开发环境中,工程师变成了"作曲家",指挥着 AI Agents 和软件服务的"合奏"。他们不需要亲自谱写每一个音符,但他们定义主旋律:架构、接口以及智能体之间的交互方式。这是一个跨学科且充满创造性的角色:既是软件工程师,也是系统架构师,又是产品专家。
乐观的看法是:随着 AI 接手机械性的工作,开发者的角色将必然向更高价值的任务转移。工作内容可能会变得更加有趣。毕竟,总得有人来决定 AI 应该构建什么,验证产品是否合理,并对其进行持续改进。
当然情况的走向取决于组织如何选择集成 AI。将 AI 做为劳动力替代品的公司可能会精简开发团队,并要求留下的少数的工程师维护自动化的运行。而将 AI 做为团队增强工具的公司可能会保持人员规模不变,但要求每位工程师交付更优秀的项目。
应对策略
初级开发者:
- 寻求单纯编写代码之外的机会。主动搭建 CI(持续集成)流水线或应用程序监控的工作:这些技能与审计员的角色相契合。
- 通过个人项目保持创造性编码的热情,以免失去构建事物的乐趣。
- 培养系统思维:学习组件之间如何通信,以及什么是优秀的 API 设计。阅读工程博客和系统设计案例研究。熟悉代码生成以外的 AI 和自动化工具:如编排框架、AI API 等。
- 提升书面和口头的沟通技巧。编写文档时要像是在向他人解释一样清晰。向同事请教时,不要只问"我的代码能跑吗?",而要问"我考虑的维度正确吗?"。准备好成为测试、设计和产品经理,而不仅仅是程序员。
高级开发者:
- 侧重于领导力和架构责任。制定 AI 和初级团队成员遵循的标准与框架。
- 定义代码质量检查清单和 AI 使用政策。紧跟 AI 生成软件的合规性与安全性议题。
- 专注于系统设计和集成领域的专长;主动梳理跨服务的数据流向并识别潜在故障点。熟练掌握编排平台(如 Kubernetes、Airflow、无服务器框架、智能体编排工具)。
- 加倍投入技术导师的角色:进行更多的代码审查、设计讨论和技术指导。磨炼快速评估他人(或机器)代码并给出高层级反馈的能力。
- 培养产品和商业意识;理解为什么要构建某些功能以及客户真正关心什么。跟随产品经理工作或参与客户反馈会议。
- 通过原型开发、黑客马拉松或新兴技术研究来保护自己的创造激情。从 coder 进化为 builder。
专才 vs. 通才难题
一句话结论:
技术栈过度狭窄的专才,其赖以生存的细分领域可能被自动化或淘汰。在快速变化、AI深度融入的技术环境中,企业更青睐"T型工程师"——既具备广博的适应能力,又在一二个领域拥有深厚专长。
可能走向 🙈
因为模型、工具和框架的迭代速度前所未有,把职业生涯押注在单一技术栈上,风险极高。一位精通某套老旧框架的专家,可能某天突然发现:自己的核心技能,AI 已能用极少人工干预就完成。那些只深耕"一个栈、一个框架、一个产品领域"的开发者,很容易一觉醒来,发现所处的赛道正在萎缩,甚至已被技术浪潮悄然绕过。
想想 jQuery 开发者,Flash 工程师——当行业转向,他们就被留在了原地。而今天与过去最大的不同,是变化的速度。AI 正在将许多曾经需要专业经验的编程任务,变得近乎 trivial:精细调优 SQL?切图写 HTML?这些工作,AI 如今能完成 90%。
HR 也永远在追逐下一个热点:几年前抢云原生的人才,现在追 AI/ML。于是,昨天的"稀缺专家",今天就成了"技术难民"——不是能力退步,而是舞台塌了。在这个加速迭代的时代,真正的护城河,不是"最专",而是"既深且广"。
剧情反转 👻
当然,"专精"也并未过时,只是换了一种形态:它正演变为我们常说的 T型开发者。我们需要在一两个领域扎得足够深(那是T字的竖线),同时对周边技术有广泛涉猎(那是T字的横线)。这样的工程师,天然成为跨团队的"粘合剂":既能与不同领域的专家高效协作,也能在关键节点及时补位。
我认为企业如今要的,既不是知识浅薄的初级开发,也不是视野过于狭窄的专家。他们希望员工既有核心深度,又能横向打通,跨技术栈协作。为什么呢?
- 效率——T型工程师常能端到端闭环解决问题,省去层层交接的成本;
- 创新——当不同领域的知识交叉融合,往往能催生更优秀、更系统的解决方案。
AI 加速了通才的发展,使一个人能更轻松地处理多个技术模块。后端工程师可以快速生成可用的 UI 原型,前端专家也能轻松搭建基础服务端逻辑。AI 降低了跨域尝试的门槛,让一个人真正有能力"既写前端,也调模型,还懂部署"。反观那些高度聚焦却缺乏横向触角的专才,一旦所处细分领域被 AI 自动化覆盖,便容易陷入"无路可转"的困境。我认为,深度决定自己的高度,广度决定自己的韧性。
应对策略
初级开发者:
- 尽早打下广泛的技术基础。即使你被聘用从事特定岗位,也要主动跳出自己的"信息孤岛"。如果你做后端开发,就学点前端基础知识;如果你专注前端,就尝试写一个简单的服务器。了解部署流程,掌握Docker或GitHub Actions等工具。找出一两个真正让你兴奋的领域并深入钻研——这将成为你的"垂直专长"。
- 将自己定位为复合型人才,例如"具备云安全专长的全栈开发者"或"兼具用户体验专长的前端开发者"。
- 善用AI工具加速学习新领域:当自己刚开始接触后端时,可以让ChatGPT生成一个基础API示例代码并加以研究。
- 养成持续更新技能的习惯。参加黑客松或跨职能项目,迫使自己进入通才模式。主动告诉你的TL,你希望接触项目的不同部分。在职业生涯早期,适应力就是超能力。
高级开发者:
- 绘制你的"技能图谱":你真正精通的是什么?哪些相关领域你只是略有涉猎?从中挑选一两个相邻领域,下定决心达到熟练交流的水平。如果你是前端专家,不妨熟悉一个现代后端框架,或学习机器学习流水线的基础知识。借助AI辅助,在你薄弱的领域做一个小项目。
- 将你的深度专长与新场景结合:例如,如果你专精Web应用性能优化,可以探索这些技能如何应用于机器学习推理的优化。主动推动或重新设计自己的角色,使其更具跨职能性。
- 自愿担任涉及多个技术领域的项目的"集成负责人"。通过指导他人传播技能,同时从他们身上学到新东西。更新简历,突出你的多面能力。
- 利用你的经验识别模式,提炼可迁移的知识。成为T型人才的典范:在专业领域保持深度(赋予你权威与自信),同时积极拓展横向能力。
教育难题
一句话结论:
计算机专业学位仍然有用,但它不再是"唯一正确答案"。软件行业变得太快,快到很多学校的课程更新速度根本追不上。
可能走向 🙈
我不否认大学的价值。计算机基础(算法、数据结构、操作系统、网络、编译原理)是底层内功,很多人工作几年后才意识到"当年没好好学真亏"。但问题在于:大学最擅长教"长期有效的东西",而行业招聘最看重"短期能上手的东西"。这俩经常错位。
我自己读书那会儿,课程表里没有云计算、没有前端工程化、没有 DevOps,更别说现在的 AI 工具链。毕业后我第一次接触 CI/CD、线上事故排查等等,全靠自学和被项目锤出来。让一个学生花四年时间和一大笔钱,结果入职第一天连一个像样的项目怎么落地、怎么协作、怎么上线都没概念——企业当然会抱怨"毕业生不能打"。
学校当然也不是不努力。很多院系也会加一些新课,比如 AI 选修、前端开发、移动开发等。但课程要立项、要评审、要排课、要配老师,这套流程天然慢。等课真的开起来,行业已经从 A 框架卷到 B 框架了。最后就变成学生尴尬、企业也尴尬:
- 学校觉得"我们教的是原理";
- 企业说"我现在缺的是能把活干了的人";
- 学生夹在中间,自己去刷网课、报训练营、堆项目、考证书补齐短板。
剧情反转 👻
这几年我看到一个明显趋势:教育与雇佣之间的"中间层"在变厚——训练营、在线证书、企业内训、学徒制、作品集驱动招聘,越来越成熟。
一些大厂已经在部分岗位上放松学位要求。企业不是突然"理想主义"了,而是算清楚了账:
- 真正稀缺的是"能解决问题的人";
- 学位只能弱相关地证明"你受过训练";
- 作品集、项目经历、实操面试,反而更贴近真实产出。
训练营能火也不是偶然。12 周高强度、目标明确:把学员训练到能写一个完整的 Web 应用、会协作、会用主流云服务、懂基本工程流程。它不替代基础教育,但它把"能上岗"的那段路压缩得很短。对很多人来说,这是现实可行的选择。
还有一个变量:AI 把学习方式改了。以前自己卡在一个 bug 上可能要熬一晚上,现在一个像样的 AI 助手能帮你定位问题、解释原因、给出替代方案,还能顺手把相关知识点补齐。AI 确实在降低自学的成本。
另外,模块化学习已经成型:自己如果不在一线城市、没有好的 CS 院系资源,也可以通过YouTube、官方文档、开源项目等等,把技能堆到能打的水平。
其实,招聘端看重三样东西:
- 会不会做事(deliver):能不能把需求变成可运行、可维护、可上线的东西。
- 是不是可协作的工程师:会不会写清楚文档、提 PR、做 code review、沟通边界、理解流程。
- 有没有持续学习能力:因为你入职之后一定会遇到没见过的技术栈和烂摊子。
其实学位最多证明自己可能具备第 3 点的一部分,但第 1、2 点往往要靠项目说话。
应对策略
初级开发者:
- 如果是正在攻读传统 CS 学位一名学生,不要完全依赖课程。用真实项目补充课堂学习:开发一个 Web 应用、参与开源项目。争取实习或校企合作机会。如果课程缺失热门技术,就通过在线平台主动学习。
- 如果你选择自学或参加训练营,请专注于打造令人信服的作品集:至少包含一个结构完整、文档清晰的项目。
- 积极参与开发者社区:贡献开源代码、撰写技术博客。通过 LinkedIn、线下聚会、开发者活动拓展人脉。争取一位经验丰富的开发者为你背书。
- 持续学习——技术技能的半衰期很短。善用 AI 作为你的私人导师。用具体方式证明你的能力:作品集、认证、以及清晰阐述自己工作的能力,将成为你打开职业大门的关键。
高级开发者:
- 仅凭学历或资历已不足以支撑长期发展。投资于持续学习:在线课程、研讨会、行业会议、专业认证。以新方式验证自身技能;准备好应对那些通过解决实际问题来评估当前能力的面试。用新技术维护个人副业项目。
- 重新审视招聘要求:真的需要新员工拥有 CS 学位,还是只需要特定技能和学习能力?推动"技能优先"的招聘策略,以扩大人才池。
- 支持内部培训项目或学徒制岗位。为无传统背景的初级开发者建立导师圈。
- 积极参与学术界与替代教育路径的合作:担任课程顾问、客座讲师,反馈课程与产业的脱节点。将这一点融入自身职业发展:真实成就与持续学习,远比追加学位更重要。
贯穿主线
这些情景并非相互排斥。现实会从中汲取各种元素:一些公司会减少初级岗位的招聘,而另一些则会在新的领域扩大招聘。AI 会自动化例行的编码工作,同时也会抬高人类经手代码的标准。开发者可能上午在审查 AI 的产出,下午则专注于设计高层架构。
始终不变的一条主线是:唯一不变的就是变化。持续关注技术趋势(也要对其保持审慎与怀疑),就能避免被炒作或悲观论调打个措手不及。通过更新技能、拓展能力边界,并把重心放在更具"人类独特性"的方面(创造力、批判性思维、协作能力),你就能始终处于行业循环之内。
无论未来是迎来编码的复兴,还是进入一个"代码自我书写"的世界,对那些具备整体性思考、持续学习能力,并推动技术解决真实问题的工程师,市场都会一直有需求。
预测未来的最好方式,就是亲手把它打造出来。Engineer it, and build it.