这两年,程序员最隐秘的一种焦虑,不是学不会。
是总怕自己学晚了。
新工具一波接一波,新范式隔三差五换个名字。你刚把一个东西摸熟,它已经从“未来”变成“过气”。
直到我听到一句近乎耍赖的话:
“只要学得慢,我就不用学。”
第一次听到,我愣了一下。
后来越想越觉得,这句话不像摆烂,反而像一种很稀缺的清醒。
它说中的,不是懒。
而是这个时代一个很少被人承认的现实:
很多东西不是学不会,而是根本不值得第一时间学。
要讲清楚这件事,得先说说“编程”这件事,是怎么一步步走到今天的。
编程方式,是怎么一步步变轻的
物理配置时代
最早的“编程”,根本不是写代码。
是插线。拨开关。把意图接进机器里。
1946 年的 ENIAC,工程师要在面板上插电缆、拨拨码,把每一条逻辑一点点接进机器的物理结构里。程序不在纸上,不在屏幕上——在机器本身。你改一次程序,可能要把几十根线全部重新插过。
这时候,“学编程”的核心,是学电路。精通这一套,够一辈子用了。
指令手写时代
再后来,程序终于离开了机器的身体——变成了纸带和打孔卡。
工程师把指令编码、打孔、校对顺序,一张张卡片排好送进读卡器。要是不小心把一叠卡片掉地上,那基本等于“源码删了还没 Git”。
这个阶段学的东西依然不多:指令集、编码规则、打孔流程。但依旧足够稳定,学一次,够用很久。
文本编程时代
后来,程序变成了可以用键盘写、用屏幕看的文本。
终端、命令行、C、汇编——黑底白字,光标在角落闪烁。程序员对着屏幕一行行敲代码,改错了用 Backspace 删,跑出来的结果对了,才算完成。
需要学的东西变了:语言语法、算法、数据结构、操作系统原理。
学起来很难,但学会了也够用很久。90 年代学会的 C,放到现在也还有人用。
工程化开发时代
再往后,写代码变成了一种系统工程。
这是我待得最久的时代。
Spring 全家桶、Maven、JUnit、Git、Tomcat……光是搭一套 Java 工程的标准脚手架,都需要理解几十个互相协作的概念。项目一大,一个方法在哪里都靠 IDE 自动跳转,报错了靠红线标注,重构靠快捷键批量替换。
有一段时间我和别人聊天:要是没有 IDE,我都不知道代码该怎么写。
这话听起来像是笑话,仔细一想,还真不夸张。
那时的学习节奏很清晰:一个框架可以学三个月,搞透了可以用三年。东西不多,但每一样都经得起深挖。
AI 辅助时代(Tab 工程师)
然后,AI 进来了。
2021 年,GitHub Copilot 以“AI pair programmer”的姿态出现,开始把“写代码”变成“看建议、做选择、按 Tab”。写代码第一次从“亲手完成”变成了“人机协作”。
写代码变成了“接受建议”。
你给出一个函数签名的开头,AI 直接把后面的逻辑补全;你写一行注释,AI 分分钟替你把代码生成出来。然后你盯着它给的内容看两秒,觉得没问题,按下 Tab。然后又自动进行生成,然后又按下 Tab。
“Tab 工程师”,这个阶段的我们都戏称。毕竟,只需要一直按 Tab 键就行了。
但是,在这个阶段,AI 还是辅助。人仍然要负责判断、检查和兜底。只是程序员的角色,开始从“逐行编写者”,变成了“建议的筛选者与把关者”。
意图交互时代(Vibe Coding)
2024 年 6 月,Claude Sonnet 3.5 发布。也是从那之后,AI 写代码初具雏形且快速发展。半年后,一个词开始流行:Vibe Coding。
Vibe Coding 所描述的,不再是“AI 帮你补全”,而是你直接说出意图,让模型去生成、修改、推进,自己只负责提要求和验结果。
你不再需要去懂函数、懂类、懂设计模式。去学各种框架、语言、以及中间件。你甚至只要告诉 AI 一个模糊的想法,它就能先帮你把需求整理清楚,再一步步往下做。
代码,退居幕后了。
“世界已经回不到 Claude 3.5 Sonnet 发布的前一天了”有人说。
这听起来是好事。
确实是好事。
但就在那之后,出了一个意料之外的副产品——
需要你学的东西,并没有变少,只是变得更碎、更快、更多了。
越简单,反而越学不完
回头看这条线,你会发现一个很反直觉的变化:
编程的门槛,确实越来越低了。
但与此同时,另一件事也发生了:
需要你学的东西,并没有变少,只是变得更碎、更快、更多了。
回顾代码的历史,过去的技术世界,更像“少而深”。
你要学的东西不算少,但每一样都很厚重,生命周期也很长。学会一个框架、吃透一套工程体系,往往能稳定使用很多年。
现在的技术世界,更像“浅而快”。
工具越来越容易上手,文档越来越傻瓜,很多事情甚至不需要你真正理解底层原理,也能先做出来。门槛是降了,但工具数量暴涨了,替代速度也在加快。
以前最怕的是学不会。
现在最怕的是,刚学会,就过时。
我做了十几年 Java 开发,对这种感受体会很深。
工程化那个时代,需要掌握的东西不算少,但每一样都值得深挖——Spring 全家桶、JVM 调优、分布式系统、数据库索引,你花三个月认真搞透一个,不会白费,因为这些东西的生命周期至少以“年”为单位。
但现在不一样了。工具更容易上手了,但也更容易被替代了。你刚熟悉一个工作流,另一个就来了。
焦虑不是因为我们不努力,而是因为这一次,问题出在“学习节奏”跟不上“工具迭代节奏”。
你好像一直在出发
Vibe Coding 出现那一刻,不是终点,而是一颗弹珠引爆了连锁反应。
新的编辑器、新的框架、新的工作流、新的 Agent 平台,每隔几周就有一批人跳出来说:这才是未来的正确写法。
Cursor 火了。Windsurf 来了。Claude Code 来了。Gemini CLI 来了。Codex 又来了。
光是“AI 代码助手”这一个细分赛道,就涌现出几十个认真的选手。
各种“流派”也开始出现。
有人说要用纯 Prompt 工程驾驭 AI,有人说要深度集成本地知识库,有人说要构建“AI 工作流自动化”,还有人说基础设施才是真正的机会。
很多人的答案是:学。
狂学。
新工具出来就去试,新方法火了就去跟,新范式一冒头就怕自己落下。你每天都在接收信息,每天都在补课,每天都觉得自己已经很努力了。
可问题是,这种努力很多时候不是前进,而是防守。
你学了很多东西,却很少真正进入其中一个;你接触了无数“未来”,却始终没有站稳任何一个现在。
于是到最后,最让人疲惫的不是不会,也不是不懂。
而是那种感觉:
自己一直在起跑线上,却从来没真正出发。
我后来给这种能力起了个名字,叫“钝知力”
有一种人,天然不太会掉进这种焦虑里。
他们不追新。
风口吹起来,他们不激动;新工具刷屏,他们不安装;各种“彻底改变开发方式”的说法,在他们那里像风从耳边刮过去,连头都懒得转一下。
我后来给这种能力起了个名字:
钝知力。
它不是迟钝,不是保守,也不是拒绝变化。
它更像是一种能力:
对未经验证的新东西,故意慢半拍。
不到大规模落地,不到被足够多的人验证,不到它从“概念”变成“成熟工具”,他们不会真正投入自己的注意力。
一开始,我有点不理解甚至想嘲笑这种“迟钝”。觉得他们是不是太慢了,错过了太多变化。但在 Vibe Coding 出现,各种流派、工具、方法论像泥石流一样砸过来之后,我突然开始嫉妒他们了。
但现在我却越来越羡慕他们。
因为在一个工具爆炸、范式翻新、噪音比结论还多的时代,钝知力简直像一种天赋防线。
它帮一个人自动屏蔽掉大量注定会消失的过渡产品、半成品和伪趋势。
别人熬夜折腾,他们在过日子。
别人反复迁移,他们在稳步做事。
等一个东西真正成熟了,他们再上手,往往也并不慢。甚至更快。因为他们没有被早期版本的 Bug、偏见和历史包袱拖住。
这时候我才开始怀疑:
我们这些天天追新、生怕错过下一个风口的人,到底在忙些什么?
我们耗掉的,真的是在换取竞争力吗?
还是只是在给这个时代交一种很贵的税:
焦虑税。
但追新的人,真的白忙了吗
作为被折腾得最狠的那批人,我有时候也会问自己:
像我这样在中间密集踩过坑的人,真的什么都没得到吗?
话也不能说得太绝。
因为我自己,就是那种很难彻底戒掉追新的人。
我们在折腾 Cursor 的过程中,摸透了 AI 辅助编程的边界和死角在哪里。
我们在尝试各种 Prompt 框架的过程中,建立起了“什么样的提示词才有效”的直觉。
我们因为跑在前面,认识了一批同频的人,比别人早半步看清了水流的方向。
这些东西,等到工具彻底成熟、变成基础设施之后再入场,还能学到吗?
这些东西,不完全等于工具熟练度。
它更像一种前沿直觉。
等一个工具彻底成熟、所有人都开始用了,你当然也能学会它。但那种在早期混乱里一点点长出来的判断框架,不一定还能补回来。
所以,我没有办法给你一个干脆的答案。只能说:
如果你的目标是稳定开发、提高产出、解决实际问题,那“钝知力”真的是一种幸运。它让你跳过大量噪音,把认知资源花在真正成熟、真正能用的东西上。
如果你的目标是理解行业变化、建立前沿判断、参与下一波范式转移,那持续追踪也有价值。代价是时间和焦虑,收益是更早形成直觉。
这是两条路。
没有标准答案。
但有一点,我现在越来越确定:
在这个时代,焦虑本身是一种最昂贵的消耗。
它会真实地吞掉你的注意力、耐心和判断力。
而这些,本来应该用来想清楚问题,或者把事情做成。
写在最后
写这篇文章,不是因为我突然变成了一个天生有“钝知力”的人。
恰恰相反。
我是那种骨子里戒不掉追新的人。新工具一出来,手就痒;新工作流一流行,脑子里就开始想“要不要试试”;别人说这个东西可能改变行业,我第一反应总是先去装上看看。
只是折腾多了以后,我开始慢慢学会一件事:
给自己装一个人工的“钝知力”开关。
它的作用不是让我拒绝新东西。
而是让我先别急着响应。
先不下载,先不迁移,先不熬夜研究,先等它穿过第一轮噪音,看看它到底是趋势,还是烟花。
我越来越觉得,这可能才是这个时代真正稀缺的能力:
不是快速学习一切。
而是知道什么值得学,什么可以晚点学,什么根本不用学。
慢一点,不一定是落后。
很多时候,慢一点,反而更接近判断。