AI让程序员学习的知识无用了,那么现在该学什么呢?
AI的到来,正让程序员过去赖以生存的、对具体框架和语言的精通(“术”)迅速贬值,我们陷入了“学什么”的集体迷茫。而试图通过学习Prompt工程来追赶,不过是陷入了另一个追逐新“术”的循环陷阱。真正的破局点在于,我们学习的重心必须从“如何实现”彻底转向“如何定义”。当AI能生成任何代码时,我们的核心价值便不再是“工匠”的手艺,而是定义“做什么”与“为何做”的智慧。
就在上周,我接手了一个积灰多年的遗留项目。你知道的,就是那种你打开代码,感觉像是误入了互联网的兵马俑坑,里面全是JSP、Struts 1,甚至还有几个手写的Servlet,数据库连接池用的还是C3P0。搁在两年前,重构这玩意儿,没两个月,不掉几斤头发,根本出不来。团队成员估计得先花一周时间,在心里把当年写这坨代码的“古人”问候十八遍,然后再开始小心翼翼地“考古”。
但现在是2025年。
我花了一个下午,和我在claude code辅助下,定义了新的微服务架构和API边界。然后,它像一头饥饿的怪兽,把那些陈年的Java代码吞了进去,再吐出来时,已经是崭新、优雅的Spring Boot 3模块。当然,过程并非一键完成,我更像一个经验丰富的“鉴宝师”,不断对它生成的代码进行“盘问”:“这个地方的事务边界为什么这么划分?”、“你确定这种并发场景下,用ConcurrentHashMap
就足够安全吗?”、“这段业务逻辑,你似乎曲解了当年那个‘古人’的真实意图。”
整个过程,我没写几行真正的业务代码,更多的是在提问、审查和决策。周五下班前,这个曾经被评估为“高风险、高投入”的重构项目,核心模块竟然已经跑通了单元测试。
那一刻,我点燃了一根烟,却没有丝毫“攻克难关”后的喜悦。一种奇异的、混杂着兴奋与荒诞的感觉包裹着我。兴奋的是,我亲手把两个月的工作量压缩成了一天;荒诞的是,我赖以生存二十年的“屠龙之技”,那些对框架源码的精熟、对JVM调优的痴迷、对各种设计模式的倒背如流……在这头“怪兽”面前,似乎变得……廉价了。
我们这一代程序员,是靠着“学习”这块敲门砖,才走到今天的。
我还清晰地记得,世纪初的那个夏天,为了搞懂EJB,我啃光了那本厚得能当枕头的《J2EE核心模式》。后来,Hibernate和Spring横空出世,我们又像追星一样,冲向每一个新技术发布会,把官方文档翻得比自己的情书还熟。从SSH(Struts, Spring, Hibernate)到SSM(Spring, SpringMVC, MyBatis),再到拥抱Spring Boot和微服务,每一次技术栈的迁徙,都像是一场声势浩浩荡荡的集体朝圣。
那是一个“技能为王”的黄金时代。你多懂一个框架,多会一种中间件,你的薪水、你的地位,就实打实地往上涨。我们的价值,被清晰地刻画在简历的“技能列表”上。学习,就是我们对抗技术迭代、对抗职业中年危机的唯一武器。 这几乎是一种肌肉记忆,一种信仰。
可AI来了。它不是发布了一个新框架,它是直接把“兵器铺”给端了。
它能用你熟悉或不熟悉的任何语言、任何框架,写出你想要或不想要的代码。你刚花一个月学会的某个小众库,它可能只需要0.1秒就能掌握并应用。技能的学习曲线,被AI以一种近乎作弊的方式,压成了一条水平线。
于是,那个幽灵般的问题再次浮现:当学习具体“技能”的投入产出比变得如此之低,我们……还能学什么?或者说,我们应该怎样“学习”?
我最开始的答案,和很多人一样:学“魔法”,学“咒语”。也就是所谓的Prompt Engineering,学习如何与AI更高效地对话。我甚至花时间研究过各种Prompt框架,琢磨如何写出让AI“心领神会”的指令。
但这很快让我陷入了新的迷茫。这不就是换汤不换药吗?今天我们学如何给GPT-5写Prompt,明天就要学如何与GPT-6的意识流交互,后天可能又要学怎么给量子AI“算卦”。我们似乎又回到了那个追逐“新框架”的循环里,只不过这次的“框架”,是和我们对话的那个看不见的“它”。
这是一种思维陷阱:我们总想通过学习一种新的“术”,来解决一个关于“道”的问题。
直到那天,在调试一段AI生成的、逻辑极其复杂的结算代码时,我才隐约摸到了一点别的门道。那段代码本身毫无瑕疵,语法完美,性能优异,注释清晰。但它就是不对,结算结果总有几分钱的出入。AI反复检查,信誓旦旦地告诉我逻辑是闭环的。
我盯着屏幕看了很久,最后放弃了逐行debug。我开始在白板上画图,不是画程序的流程图,而是画业务的流转图:资金从哪里来,经过了哪些环节,每一次状态变更代表了什么商业意义,我们公司和合作方,谁希望这个数字变大,谁又希望它变小……
当我把整个商业逻辑彻底理顺后,我发现问题不出在代码,而出在最初我给AI的需求描述上。我对一个业务术语的理解,与产品经理的原始意图,存在一个极其微小的偏差。而AI,作为最忠实的执行者,精确地放大了这个偏差。
我修改了那个只有几个字的需求描述,AI立刻生成了正确的代码。
那一刻,我有点“悟了”。
AI时代,我们学习的重心,或许正在从“如何实现”,悄然转向“如何定义”。
我们不再需要成为一个顶级的“工匠”,能用最快的速度、最巧的手法打造一把精美的锤子。因为AI能瞬间生成成千上万把锤子,比你做得又快又好。我们需要成为那个能清晰定义“我需要一把什么样的锤子,用来敲什么钉子,去建一座什么样的房子”的人。
基于这个想法,我试着梳理了一下未来学习的几个“无用之用”的方向:
第一,学习“品味”。 这听起来很玄,但它无比重要。AI可以生成100套UI设计稿,100种架构方案,100段算法实现。但哪一套是美的?哪一种是优雅的?哪一段是“对”的?这种判断力,源于你见过多少好的、坏的代码,踩过多少坑,理解多少业务的本质。它是一种无法被量化,却能瞬间区分平庸与卓越的直觉。我们曾经是代码的建筑师,现在更像是城市的规划师,我们不砌每一块砖,但我们决定了整个城市的天际线和灵魂。
第二,学习“提问”。 不是问AI“请用Python写一个快速排序”,而是问自己,问产品,问用户:“我们真的需要一个排序功能吗?这个排序解决了谁的什么问题?有没有比排序更根本的解决方案?”。AI是史上最强的“实习生”,它什么都会,但什么都得你来拍板。而一个好的问题,价值超过一千个完美的答案。未来的护城河,不是你写了多少行代码,而是你问了多少个好问题。我们学习的不再是“屠龙术”,而是“寻龙诀”——找到真正值得解决的问题。
第三,学习“共情”。 或者说,学习理解“人”。理解你的用户为何烦躁,你的同事为何焦虑,你的老板为何画饼。代码的终点是为人服务,而人是复杂的、矛盾的、非理性的。AI可以理解逻辑,但很难理解“人心”。你能否从一段冰冷的需求文档里,读出背后那个活生生的人的渴望与无奈?这种能力,正在变得空前昂贵。
第四,学习“整合”。 把看似无关的事物连接起来的能力。比如,把AIGC的技术,和你给孩子讲睡前故事联系起来,可能就是一个新产品的诞生。把你在游戏里看到的经济系统,和公司正在做的电商促销模型联系起来,可能就是一个架构的创新。AI能做深度钻探,但跨领域的“灵光一现”,依然是人类的专属领地。这就像我们小时候玩的《超时空要塞》,把唱歌和打仗这两件八竿子打不着的事儿捏在一起,结果成了神作。
这些东西,听起来都很“虚”,无法量化,无法写进简历的技能列表,甚至无法在面试中清晰地展示。它们更像是一种“内功”,一种“修为”。在过去,我们认为这些是“软实力”,是锦上添花。但在AI把所有“硬技能”都变成标配之后,这些“软”的东西,恰恰成了我们最硬的内核。
技能的价值,不再取决于掌握它的难度,而在于它被替代的难度。
写到这里,窗外的天已经开始发白。我看着屏幕上AI为我这篇文章生成的几个备选标题,其中一个赫然写着:“从码农到禅师:一个程序员的自我修养”。
我笑了,自嘲地摇了摇头。禅师?太抬举了。我不过是一个在技术浪潮里,试图抱着一块浮木,不想被淹死的普通人罢了。
只是这块浮木,以前是Java,是Spring,是K8s。
现在,它可能变成了品味、提问、共情和整合。
代码,这个我们曾经赖以为生的手艺,正在回归它的本质——不再是目的,而是一种表达思想的媒介。就像一个作家,他真正的价值不在于认识多少字,打字有多快,而在于他能讲述什么样的故事。
那么,当AI为我们准备好了所有的“字”,我们,准备好开始讲述自己的故事了吗?这个故事,又该从何说起呢?
更多推荐
所有评论(0)