先说结论
我把话先放置于此,AI编程并非三十五岁程序员的夺命之物,相反却是他们的再度兴盛之时。
特别是那些实实在在做过后端工作几年时间,经历过生产事故,带领过复杂系统的资深人士,其市场价值正处于被重新定价的状况。
这并非关乎年龄溢价,而是人工智能,将“会写代码”以及“能把系统做成”这两件事情,完全地拆开了。
很多人把 AI 编程看浅了
曾经大家曾认为,年青人手的速度快,加班的劲头猛,且学习新框架的速度快,然而到35岁往后则愈发难以卷入竞争。此逻辑在单纯手工敲击代码的时代还能够成立,原因在于公司所购入的是生产能力,谁编写得快,谁的成本低,那么谁便具备优势。
但 AI 编程把这套规则打碎了。
目前最为不值钱的,恰恰就是“将需求转化成几百行代码”这般事情。缘由在于,这一环节人工智能已然能够做得像模像样了。你交付给它一个页面,它能够编写;你抛给它一个接口,它也能够拼接;你吩咐它依照模板增添一项功能,它甚至比众多初中级程序员还要快。
所以,好多人顺着这个形势得出了一个结论,那就是程序员不行了,特别是老程序员,情况更不妙,更危险。
我完全不同意。
为什么我这么说
如果把我的判断压缩成一条逻辑链,大概是这样:
具有人工智能可迅速产生代码,致使低起始编码能力遭遇贬值,进而造成高难度系统能力出现稀缺,最终使得有经验的编制程序人员价值重新评估。
AI 让"人人都会写点代码",但真正稀缺的能力暴露了
确实,对于一个小项目而言,AI 是能够进行兜底的。其页面数量不多,表的复杂程度不高,链路长度不长,且调用关系简单,即便普通人借助 AI 也能够拼凑出一个较为像样的东西。
一旦项目规模变大,问题就不再是“代码能否被编写出来”,而是“这个系统是否还能够持续运行顺畅以及存在下去”。
如何去拆分模块,怎样来定义边界,何时应当采取抽象,何时不准胡乱进行抽象,接口究竟是要面向业务语义,还是直接朝着数据库去,如何去预留扩展性,怎么去实现高可用,监控、回滚、灰度、幂等、限流要怎样串联起来?
这些问题,根本不是提示词写得好就能解决的。
擅长此道的 AI 呀其最为拿手的乃是局部补全之举,然而最难擅长的却是于复杂约束状况下长久维持一致性之事呢。
系统要是一回跨越某个特定临界点,就会开启正儿八经地瞎扯:这儿替你封上一层,那儿为你抽取一个基类,瞅着挺有格调,事实上依赖却一团糟;今儿依照这套规范编写,明儿又换成另一套;这回修复了A,下回又把B以及C弄出问题。
最可怕的是,没经验的人根本看不出它在胡说八道。
之所以这样,是由于他们未曾切实经历过复杂系统失控的那种状况,不清楚抽象污染究竟是什么,不明白技术债意味着什么,并且也不理解一个表面上看起来挺漂亮的模式,为何在半年之后会将整个团队置于死地。
为什么后端老鸟反而吃香
那些身为程序员,有着多年后端工作经历的人,特别是从事过企业级系统、交易系统以及高并发后台相关工作的人,在这个阶段反倒会占得优势。
原因很简单,这批人不是只会写几个接口,他们是真见过体量的。
他们见识过数据库扛不住的夜晚,经历过消息队列积压时的恐慌,目睹过缓存击穿、服务雪崩、发布回滚、表结构演进、历史负重、跨团队纠缠扯皮的状况,还领教过一个系统是怎样从依旧能够修改,一步步转变为谁都不敢触碰的。
他们未必写得最快,但他们知道什么不能乱写
对于单一职责、开闭原则、里氏替换这些原则,他们并非只是死记硬背概念,而是清楚知晓何时应当运用,何时切莫滥用;对于设计模式,他们并非仅仅为了面试而背诵八股文,而是明白哪些模式能够解决实际问题,哪些不过徒有其表显得高级;对于高可用、扩展性、分层、解耦这些词汇,并非只是 PPT 里的晦涩术语,而是清楚倘若在前面没有考虑周全,后续会以怎样的方式带来不良后果。
未来最值钱的,不是手速最快的人
这种经验,于此前仅仅是“有用”,于AI编程时代,它将会转变为“稀缺”。
未来,真正能够实现高产的人,并非是那种自己一行一行写代码速度最快的人,而是能够给AI建立秩序的人。
他晓得如何拆解任务,如何界定边界,如何约束代码风格,如何设计目录结构,如何撰写真正具实用价值的规范,如何为AI赋予稳定的上下文,如何借由测试与评审将系统拽回正确轨迹。
这么讲吧,往后竞争比试的并非是“你是否具备写代码的能力”,而是“你可不可以带领着一群状态不稳定的AI实习生,将一个繁杂的系统持续推进下去”。
真正危险的,不是 35 岁
这件事,太吃基本功了。
这种基本功,不是仅仅看几篇文章就能有的,不是只刷几套提示词就会出现的,不是玩几个月AI IDE便会生长出来的。它必定源自真实的工程环境当中,源自线上出现的事故,源自多人一起协作的过程,源自修改过糟糕的系统,源自承担过责任,源自做出过取舍,源自理解过成本。
这同样是我愈发感觉到的情形,35岁之上程序员所拥有的经验将会被再次进行定价,这便是缘由所在。
新一代开发者固然聪明,工具也更为强大,然而他们越来越缺乏在纯手撸代码时期,完整历经一个系统从初始的小且简单,逐渐发展到复杂,又从清爽走向失控,最后再从失控回归治理这样一个全过程的机会。
可偏偏是这样一种经验,它涵盖整个过程,而这种经验,恰恰是在未来 AI 大规模投身于软件开发之后,最为具有价值的事物。
给还在焦虑的朋友一点建议
最近,好些朋友问我,有没有那种能相对稳定些,待遇还挺不错的技术大厂可以给推荐一下。说实话,这样的机会的确是有的,特别是那些需要“能够带着AI把复杂系统持续做下去”的人的团队。
有个机会,最近出现,挺适合程序员这个群体里有经验的那种,技术大厂,前端岗位之后是后端岗位再之后到测试岗位,全国范围内都存在着机会,要是感兴趣的话可以尝试去干一干;待遇方面以及稳定性方面都还算说得过去呀~这类岗位通常情况下更加注重看重的内容是你的系统能力,而并非是手速。
理所当然,这并非因年龄而给予的福利,也不是由行业所施予的。单是属于那些于“古法编程时代”切实经历过硬仗的人。
倘若在未来,软件开发切实迈入“人对方向以及秩序予以负责,AI 针对执行和铺量承担职责”的时期 ,那么最为值钱的人,恰恰并非是刚学会几个 AI 工具的人,而是那些清楚系统为何会失控,并且知晓怎样将其再一次拽回到秩序当中的人。
而这般的人,今日很大概率并非处于22岁,也并非处于25岁,很大概率是处于35岁之上。
最后一句话
我甚至愿意把话说得更狠一点:
AI 不是来淘汰老程序员的。
AI 的作用是淘汰重复进行的编码工作,这些工作具有低水平、低判断力以及低抽象能力这样的特点。
那些确实具备工程经验之人,特别是年龄在35岁及以上、从事过后端企业级开发的那一群人,春天或许才刚刚起始。
欢迎反驳。
但我建议先分清一件事:
去让AI写出几个功能,对于将AI用于参与构建并且长期维护一个复杂系统而言,这两者压根就不是同样的情况。这两者,根本不是一回事。
