ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

写代码能干一辈子吗?取决于你把自己定位在哪一层

写代码能干一辈子吗?取决于你把自己定位在哪一层 写代码能不能干一辈子这个问题的答案不在于代码而在于你如何看待写代码这三个字。最近网上总有人焦虑35岁危机也有热搜在问现在还学写代码还有用吗今天就从我这些年的实际观察出发掰开揉碎聊聊这件事。1. 写代码能干一辈子是伪命题先问问自己把代码当什么很多人问写代码能不能干一辈子我听到这句话的第一反应是你口中的写代码到底是哪种写代码因为我见过太多人嘴上说的都是写代码实际干的却是完全不同的事。1.1 写代码的三个阶段你在哪一层我自己的观察是写代码这件事可以分为三个层次。第一层是翻译层产品经理把需求讲清楚你把需求翻译成代码。这个阶段的核心技能是熟悉语法、熟悉框架、熟悉API调用。说白了这是别人定义问题、你来实现的状态。很多工作三五年的同学卡在这一层因为日常开发任务确实也就只需要你做到这一层。第二层是设计层面对一个模糊的、甚至没人完全想清楚的需求你要能把业务的约束条件找出来在性能、成本、可维护性之间做权衡设计出一个合理的方案再动手写代码。这时候你写的代码每一行背后都有一个为什么。第三层是定义层你不再等别人给你需求而是能从业务目标、用户行为、数据反馈里定义出什么该做、什么不该做并且用技术手段推动业务往前走。到了这一层你写的是代码但代码只是你表达方案的一种方式。很多人焦虑写代码能不能干一辈子本质上卡在了第一层并且预感这一层会被更便宜的人或者AI替代。这个预感没有错但正确反应不是焦虑而是往上走。1.2 工具焦虑和职业焦虑其实是同一件事热搜里有个词叫vscode写c没有代码提示看上去是个纯工具问题但我觉得它和写代码能不能干一辈子是同一个焦虑的两个侧面都是对自己掌控力的怀疑。一个VSCode环境配置问题正常来说半小时就能解决但有人会把它上升为我是不是不适合写代码就像今天AI写代码这么强我是不是要失业了一样。这种思维模式比年龄本身危险得多。我把话放在这里如果你把写代码当手艺工具的变动只是换一把刀如果你把自己当一个只会写代码的人那任何风吹草动都会让你觉得末日要来了。2. 35危机不是年龄问题是你的定价逻辑被重估了我先抛一个反直觉的观察一个40岁的程序员被优化核心原因通常不是他年纪大了而是他的产出可以被替代且替代成本更低。这是定价逻辑的问题不是年龄的问题。2.1 你的工资是给解决问题半径付的不是给键盘敲打付的公司付你薪水买的不是你敲键盘的速度而是你解决问题的半径。同样是写一个后端接口新手看到的是用什么框架、怎么写逻辑资深的人看到的是系统目前的瓶颈在哪、这个接口会不会被高频调用、要不要做缓存、失败了怎么降级。热搜里有个词叫在服务高可用场景下写后端代码时需要注意哪些点这个话题就很能说明问题同一个写代码的动作在普通场景和高可用场景下的技术含量差距是数量级的。一个天天处理高并发、数据一致性、故障恢复的人和一个只写CRUD的人虽然职位上都叫程序员但在就业市场里根本不是一个物种。年轻时候大家拼的其实是体力上限——睡得少、学得快、家里事少。但等你到了30多岁如果还在和年轻人拼谁更能熬、谁上手新框架更快这种维度那确实是拼不过的因为那是体力游戏而体力游戏必然是年轻人的主场。2.2 AI正在做的事情是把翻译层的价格打到零这两年各种AI写代码工具层出不穷热搜里ai写代码哪个ai写代码厉害几乎天天有人问。很多人看到AI能写代码就慌了但你冷静下来看AI目前真正擅长替代的恰恰是第一层翻译层。你把需求描述得足够清楚AI可以帮你实现一个功能模块甚至能用得像模像样。这本来就是可以被外包、被低薪新人做的事情。AI在这个层面确实有成本优势而且优势还在扩大。但AI替代不了第二层和第三层它不知道你公司的历史包袱是什么不知道哪个业务方真正想要什么不知道线上那个间歇性超时背后牵涉了多少个服务的状态纠缠。这些问题需要人亲自趟过坑才知道而且这些坑的知识恰恰是35岁的程序员比25岁的程序员值钱的地方。问题来了如果你的工作内容一直停留在翻译层你等于主动选择了和AI、和低成本人力去竞争同一个岗位那你当然会被重估——不是因为你老了是因为你提供的价值本来就不稀缺。2.3 为什么有经验本身不值钱除非它能转化为决策能力这里有个容易误导人的说法经验是财富。实际上经验本身并不值钱值钱的是经验带来的决策能力。一个人干了十年如果只是把第一年的经验重复了十年那他的经验在市场上基本没有溢价。反过来那些经历过线上事故、做过大型系统迁移、踩过性能瓶颈的坑、知道哪些方案看起来美好但落地会死的人他们的经验能直接帮公司省下真金白银这才是溢价来源。所以35岁危机的本质是如果你没有随着年龄增长积累出更复杂的决策能力你的价格就会被重新定价到动手执行层的价格区间。这个区间25岁的人和AI都能和你竞争。3. 动手诊断你是码字工人还是问题解决者在谈布局之前先做一个自我诊断。别凭感觉判断自己是哪种人用下面的场景对照一下。3.1 五个场景判断你的真实段位我列一张自检表你可以诚实地对照一下场景码字工人的反应问题解决者的反应接到一个新需求用什么框架/技术方案实现这个需求解决了谁的什么问题边界在哪线上出bug按报错信息修完就结束追到根因思考为什么线上没拦住这个错误做技术选型哪个新、哪个火、哪个简历上好看用哪个在当前团队规模、业务阶段、维护成本下哪个最合适写代码之前打开编辑器直接开写先在脑子里过一遍数据流确认每个分支的合理性面对一个陌生领域立刻搜索XX从入门到精通先画一张这个领域的概念地图搞清核心矛盾注意我说的不是正确但空泛而是每一条你真的在实践中做到过没有。比如拿第一条来说热搜里前端写代码之前需要注意什么 业务逻辑很多人以为前端就是把接口数据渲染到页面上但资深的同学会在一开始就确认这个页面是给谁看的、核心操作路径是什么、用户误操作怎么兜底。同样的岗位思考深度完全不同。3.2 一个真实案例同一个需求两种做法我举个具体例子。早年间我带过两个后端工程师同样接一个需求给订单系统增加一个定时任务每天凌晨把超时未支付的订单关掉。A同事的步骤是找个现成的任务调度框架写一个方法查订单表把超时的状态改掉测试通过上线。很利索该做的事都做了。但上线两周后出问题了某些订单其实已经完成了支付只是支付回调有延迟凌晨的定时任务扫描时订单状态还没更新就把这些订单误关了。用户投诉炸了。B同事接到需求后先问了三件事超时判断依据以哪个系统的时间为准是否存在支付成功但状态未同步的情况这个任务的执行结果要不要做通知和补偿然后他把这三条在方案里都处理掉了上线后没出任何问题。两个人后来发展路径完全不同。A不是不努力而是他努力的方向永远是把需求翻译成代码B的努力方向是理解需求背后的真实业务约束。十年下来A从一家公司换到另一家公司永远在做差不多的CRUD薪资涨幅有限B已经能独立负责一个业务线的技术架构了。3.3 写代码速度慢怎么办——这个问题本身就暴露了误区热搜里还有个写代码速度慢怎么办我特别想展开说。多数人写代码慢打字速度只占很小一部分真正的慢在两条一是动手前没想清楚于是写一半推翻重来反反复复折腾。这个浪费的时间远大于你敲键盘的时间二是遇到问题去搜索时没有方向说明脑子里缺一张系统如何运转的地图。想清楚了写一版迭代到位的速度比先写再说然后不断返工快得多。这句话我给过很多人但能听进去的人不多。大多数人宁可反复试错也不愿意在动手前多花半小时把逻辑理顺。这其实也和写代码能不能干一辈子一样是心智模式的问题你是在用战术上的勤奋弥补战略上的懒惰还是战略上先想清楚再动手4. 提前布局35的可行路径三条路线和一个底层能力如果你想清楚了不想让自己被困在翻译层那接下来的问题就是往哪个方向走。我总结过三条靠谱的路线外加一个底层能力。4.1 路线一纵深成为某个高难度领域的活文档第一条路是在某个门槛足够高的领域做到足够深。比如高可用架构设计、数据库性能调优、全链路监控与故障演练、安全攻防、大规模数据一致性保障。这些领域的特点是知识密度大、试错成本极高、没有三年五年实战根本摸不到门道而且很难被AI替代。为什么这么说因为在这些领域里AI能给的信息永远滞后于你的实战沉淀。举个最简单的例子某次线上故障是因为磁盘IO被日志写入拖垮这个知识在书上能找到吗能找到但只有在真实环境里蹚过一遍你才会对日志写入这件事产生肌肉记忆式的警觉。这种直觉是AI给不了、年轻人也速成不了的。具体的做法是挑一个你当前业务中最痛、最深、最没人愿意碰的方向主动去接那些困难的任务。别挑容易出成绩的挑容易出问题的。后台部门里最难搞的模块、最容易被甩锅的故障、最没人愿意维护的遗留系统这三样东西看着苦其实是建立护城河的最好素材。4.2 路线二横跨从写代码的人变成定义代码的人第二条路是往上游走做需求分析、方案设计、技术决策、架构规划。这条路的本质是把你从怎么实现提升到该实现什么、该用什么方式实现。为什么这条路能穿越周期因为不管技术栈怎么换、语言怎么换代定义一个合理方案这件事始终需要人来做。AI再强也需要有人告诉它我们要解决什么问题、约束条件是什么、怎么算成功。我在第1节里说的定义层就是这个意思。具体怎么走我建议你在日常工作中刻意练习一件事接到任何需求先别急着进入技术思考先搞清楚业务方的真实目标再把需求翻译成技术方案。写完代码只是下限把为什么这样写讲清楚才是上限。另外练好跨部门沟通的能力。很多程序员不喜欢开会觉得浪费时间。但说实话技术方案推进会、需求评审会恰恰是定义问题能力的最好训练场。在这些场合里你能看到不同角色的人怎么理解同一个问题——产品在讲价值、运营在讲流程、测试在讲风险——而你要能从中抓住那个技术最优解。4.3 路线三杠杆把AI用成你的同事而不是你的对手第三条路也是目前最紧迫的把AI写代码这件事从威胁变成杠杆。现在网上一堆AI写代码Claude写代码用哪个IDE如何使用Codex写代码的讨论说明大家都意识到这是个趋势但多数人用AI的方式还停留在让它帮我写段代码。这个用法说实话价值不大。正确的姿势是你先做问题的拆解和设计把需求和边界写清楚然后让AI负责把其中机械的部分实现出来你来做代码评审和验收。相当于你是架构师和评审人AI是你的外包实现团队。这个转变有一个技术含量上的前提你得能判断AI写的代码对不对、边界有没有漏洞、性能会不会有问题。判断力的来源就是你自己的基本功。所以一个资深工程师配上AI产出的速度可能是以前的三倍五倍一个什么都不会的新手配上AI产出的是一堆看似能用但一上线就出问题的代码。区别在判断力而判断力是靠时间和踩坑堆积的AI恰恰加速了有判断力的人和没有判断力的人之间的马太效应。4.4 底层能力持续重建可迁移的问题解决框架最后说底层能力。技术栈会过时框架会过气语言会换代但有一套东西永远不会贬值——你对如何发现问题、拆解问题、解决问题这件事的方法论。我这些年最值钱的经验不是我会哪些技术而是我脑子里存了好几个问题解决框架遇到性能问题怎么入手遇到系统复杂度过高怎么重构遇到业务需求模糊怎么澄清遇到团队协作阻塞怎么推进。这些框架像乐高积木一样不管遇到什么新场景我都能拆开来重新组装。要重建这种框架有个具体做法每做完一个项目或解决一个棘手问题花半小时写下三件事——这个问题的本质是什么我用了什么方法路径解决的如果下次遇到类似问题我第一步应该先做什么积累几十条之后你会发现自己在面对新问题时不再是一张白纸式的慌乱而是能直接从模型库里调用最接近的路径。5. 对AI写代码这件事我最后想说几句实在话关于AI热搜里天天有人问哪个AI写代码厉害AI写代码之类的问题我想说几句可能不太顺耳的大实话。5.1 AI消灭的是会不会写代码的差距扩大的是能不能解决问题的差距十年前会不会写代码是一条巨大的分界线会的人有饭吃不会的人没饭吃。现在的AI让会写代码这件事的门槛大幅降低了——你描述得足够清楚AI就能把代码写出来。但这恰恰意味着会写代码本身不再是稀缺资源了。反过来拥有真实业务理解、系统设计判断、故障排查直觉的人依然极度稀缺。AI越强这类人的杠杆效应越明显。我认识一个做架构的老哥他现在的日常就是自己画系统图、拆模块、定接口规范然后扔给AI生成初版实现他来改。以前要组一个五人小团队干两个月的活现在他一个人加AI两到三周就搞定。你说这样的程序员老板会因为他35岁而裁掉他吗留他还来不及。5.2 给所有还在焦虑的人的三个具体建议如果你现在还处于翻译层的舒适区我建议你从今天开始做三件事第一件把怎么写出来改成为什么这么写。每写一个模块强迫自己写出三行注释这个模块解决的核心问题是什么为什么选用这个方案如果未来出现什么情况这个方案会被推翻写不出来说明你根本没想清楚。第二件每周花20%的时间做一件跟当前业务无关的技术探索。比如你们组一直在做后台管理系统你可以去研究一下日志采集、链路追踪或者性能剖析工具链。这些看起来不务正业的东西会在某一天成为你解决一个完全陌生问题的底气。第三件无论用什么AI工具都要养成先给背景再给任务的习惯。你给AI写Prompt时不只要说帮我写一个接口还要说清楚这个接口的背景、约束、验收标准。练的就是你定义问题的能力——这个能力AI永远替代不了。5.3 别再问现在学写代码还有用吗改问另一个问题问现在还学写代码还有用吗的人和十年前问现在学英语还有用吗的人是一批人。他们总想找到一个学了就不用担心被淘汰的安全状态但现实世界根本没有这种状态。代码这个工具不管什么时候都有用就像英语一样是全球通用的沟通工具。但如果你学了代码只是为了找个稳定工作那确实会失望——因为这个时代的稳定不再是找到一个不被淘汰的岗位而是拥有一种不管你换到哪个岗位、哪个行业都能快速创造价值的能力。这就是我说的另一个问题我能不能让自己在每一个阶段都比前一个阶段更值钱这个问题如果答案是能那你写代码写到退休都没问题如果答案犹豫了那你焦虑的不是35岁而是过去五年的成长曲线。我自己的工作经历里被问过太多次你都这个岁数了还写代码不觉得没前途吗。我的回答一直没变我写的不是代码我用代码解决问题。工具会变问题永远在。当你看明白了这一点写代码能不能干一辈子这个问题就不再困扰你了——你会把问这个问题的力气省下来去解决下一个更难的问题。
返回列表