
前阵子刷社区看到一个帖子下有条评论原话大概是“代码写了几年已经没有刚毕业时候的热情了不想深入没有欲望。”底下跟了几百条回复清一色的“1”“一样一样”。说实话这种状态我太熟悉了因为我自己也经历过身边同龄的同事也几乎都踩过这个坑。写了几年代码之后最早那种“一行一行敲出自己作品”的兴奋感确实会被消磨更麻烦的是随之而来的自我内耗——你开始怀疑自己是不是不适合这一行是不是应该转管理是不是当初选错了路。这篇内容我不想讲鸡汤也不想扯“找回初心”那种虚头巴脑的东西。我想以一个写了十几年代码的老程序员的身份把“热情消退”和“自我内耗”这件事掰开揉碎了聊一聊。包括你为什么会有这种感觉、工作里到底是什么在消耗你、有哪些可以落地的调整方法以及我在实战中总结出来的一套“防内耗”流程。如果你正处于“上班如上坟、下班不想碰代码”的阶段建议你花十分钟看完应该能少走不少弯路。1. 先说个扎心的结论你的“没热情”大概率不是不爱代码而是内耗耗光了能量1.1 区分“我不爱了”和“我被消耗了”这是方案的起点很多人把“没热情”归结为“我不爱这份工作”然后开始纠结要不要转行、要不要换赛道越纠结越焦虑。但我观察下来绝大多数写过三五年代码的人并不是真的讨厌编程本身而是被工作中的各种消耗拖垮了。怎么区分你做一个简单的自测找一个周末关掉手机给你一个没有任何业务压力的小需求比如写个爬虫抓你常看的篮球新闻、做个小工具批量处理照片、或者把你手头一个很乱的脚本重构成清爽的版本。如果你能不知不觉坐上两个小时甚至忘了喝水那说明你对代码本身依然有热情你对“创造东西”这件事依然有感觉只是这份热情被日常的工作形态压住了。反过来如果你连打开编辑器的欲望都没有看着代码就恶心那才叫真的“道心破碎”。据我的观察前者占了九成以上。所以先别急着给自己下“我不适合编程”的结论你大概率只是能量被掏空需要的是恢复方案不是退伍方案。1.2 从“创造者”到“执行者”角色错位是内耗的温床刚毕业那时候写代码哪怕是给一个很小的功能写个页面你都觉得是在“创造”一个东西。按钮是我写的逻辑是我排的数据库表是我设计的那种“从无到有”的掌控感是热情的重要来源。工作几年之后情况完全变了。你写的代码大部分是在别人设计的框架上打补丁在遗留的老系统里改一个字段在两个系统之间拼数据甚至是在维护你入职之前就存在的“屎山”。你的角色从“创造者”变成了“执行者”每天的工作像流水线上的工序做完一件还有下一件没有尽头也看不到自己留下的痕迹。更要命的是反馈回路变长了。刚学编程时你写完一段代码运行通过瞬间就有成就感这个反馈是以分钟为单位的。工作之后你做完一个功能要等测试、等产品、等上线上线了也未必有人夸你出了线上问题反而责任全是你的。反馈周期从分钟变成月甚至变成季度人脑根本等不了这么久热情就是这么在漫长的等待中耗尽的。1.3 热情是电池不是永动机我特别喜欢把“热情”比作手机电池。刚毕业的时候是满电的干什么都带劲工作几年之后电量一直在掉但你压根没意识到需要充电还在不停刷后台、跑大应用最后直接关机了。这个比喻的用意是告诉你热情本身就是一种资源它是有波动的。你不必像要求自己每天准点上班一样要求自己每天都“热爱代码”。真正的能量管理是知道什么时候该充电什么时候该接纳自己电量低的状态。你可以有一段时间对技术提不起劲这很正常不代表你就废了。意识到这一点反而能省掉很多“我是不是不行”的内耗。2. 深挖一下日常工作里到底什么在偷偷抽你的血2.1 重复劳动和信息缺失比写代码累十倍我见过太多“代码热情杀手”第一个就是重复劳动。不是那种写100遍Hello World的重复而是每天在熟悉的业务逻辑里做微调——今天加个字段明天改个状态后天把报表导出来处理一下。这种活没有任何挑战但极其占用时间一天下来你觉得“也没干什么但就是很累”。比重复更伤人的是信息缺失。你被拉进一个维护老系统的项目代码没注释、文档是十年前写的、唯一的“文档”在已离职同事的脑子里。你想改一个看似简单的bug却得顺着调用链层层往下翻翻到第八层才看到一个函数名字里带着“暂时这样”你都不知道该哭还是该笑。这种“拆盲盒”式的工作每天都在消耗你对代码的耐心。2.2 掌控感丧失代码只是你工作里的小部分还有一个很容易被忽略的消耗源开会、对齐、写文档、扯需求。我统计过我自己的工作内容有段时间写代码的时间连30%都不到剩下70%都在做“研发周边”。一个小功能产品先写需求需求改了三次设计出图图又改了两次后端接口先定好结果前端临时说改动等你实现完测试提了一堆问题最后上线了功能因为运营策略变化直接砍掉了。这种事情经历几次之后你很难把自己的“劳动”当成“作品”你会自然而然地把工作当成“任务单上的一个勾”。一旦失去了对工作结果的掌控感人就会变得虚无做什么都觉得没意思。2.3 成长曲线放缓舒适区的本质是无聊刚学编程那会儿每个月都在接触新东西这个月搞懂指针下个月学会面向对象再下个月会看框架源码。成长感爆棚每天都很兴奋。为什么因为你在“爬坡”身体知道自己在变强。但工作三五年后你日常需要用的技术早就熟练了。大部分项目的技术栈就那么几样来来去去都是CRUD、联调、部署。你不再“爬坡”而是进入了“高原期”。高原期其实很别扭——叫它舒适区吧你并不舒服因为感觉不到进步叫它困难区吧你又没啥压力。这种不上不下的状态特别容易让人产生“我在混日子”的愧咎感接着就是“我这样下去会不会被淘汰”的焦虑。再加上网上天天有人说“35岁危机”“AI要替代程序员”刷到一条就焦虑一次内耗直接拉满。2.4 同辈压力和信息茧房你刷到的“别人”都是滤镜之后的样子内耗还有一个重大来源比较。你打开技术社区看到有人开源项目几千star有人跳槽薪水翻倍有人晒自己做的炫酷项目而你正在为线上一个诡异bug焦头烂额。两相对比那种“我怎么这么菜”的感觉瞬间涌上来。但我说句公道话你看到的都是幸存者偏差。几千star的项目背后可能是几十个committer可能是两三年积累可能他发际线比你先撤退。跳槽涨薪的人你也只看到他拿到offer的截图没看到他刷了三个月算法题。你天天用别人的高光时刻反复鞭策自己的至暗时刻内耗不找你找谁比较的对象本身选错了这也是很多人“越努力越焦虑”的根本原因。3. 实操第一步花一周做“内耗审计”先找到你的能量黑洞3.1 把“我就是没意思”具象成一条条记录很多人说“我最近心态不好”问他具体哪儿不好他说“就是不想干活”。这种模糊的描述没法处理因为你看不见问题就没法解决。我的建议是花一周时间给自己做一份“内耗审计”。具体做法手机备忘录或者用表格都行每次你感到烦躁、抗拒、疲惫的时候停下来记四条信息——时间、当时在做什么事、你的情绪反应愤怒/烦躁/无力/想逃、你觉得这件事消耗了什么精力/时间/情绪/自尊。不用记多久一周就够了。我当年做这个审计时发现自己最炸裂的时刻几乎都集中在两种情况一种是对接一个完全没文档的接口另一种是需求改到自己都记不清第几版。而纯写代码、写工具脚本的时候我反而很平静甚至有点专注。那一刻我明白我不是不爱代码我是被“接口盲盒”和“需求摇摆”搞烦了。这就是数据的力量。3.2 把消耗分类然后做减法拿到一周的记录之后你把消耗源归类。大致可以分为三类第一类是“必要成本”比如代码审查、必要的沟通。这类消耗很难消除但可以优化比如把碎片化沟通合并成固定时间段的集中沟通。第二类是“可优化项”比如重复性的报表处理、手工测试、环境部署。这类能自动化就自动化能写脚本就写脚本能模板化就模板化。第三类是“纯消耗项”比如无意义的流程、没结论的会议、反复横跳的需求。这类是内耗的大头能拒绝就拒绝能躲就躲躲不开就做好预期管理——别把它们当成你“应该认真完成的工作”而是当成“流程的一部分安全通过就行”。记住我有一个原则能交给脚本的绝不手工能写进文档的绝不占用脑容量能说“不”的时候绝不硬扛。很多人内耗就是因为把上述三类消耗一视同仁全部当成“正经工作”结果没有一个环节能带给她成就感。3.3 重建你的“技术热爱清单”做完减法之后还要做一件事重新定义你热爱的东西。大部分人说自己“爱写代码”但这个描述太大了大到你不知道从哪里获取正反馈。你把“爱写代码”拆细一点你是喜欢解决谜题一样的技术难题还是喜欢把一个复杂逻辑梳理清楚的秩序感你是喜欢上线后看到用户量涨的成就感还是喜欢自己做出一个漂亮小工具的创造感不太一样。拆完之后你的任务就清楚了。比如你喜欢“把复杂变简单的秩序感”那你可以每天在代码留的注释里或者重构的局部代码里寻找这种掌控感。你喜欢“创造小工具”那就给自己留点时间做工具类的东西。喜欢什么就在日常里有意识地去创造对应的时刻而不是等公司给你安排这样的时刻。很多人的误区是——热情是公司给的项目有意思我就有热情项目没意思我就没热情。实际上热情是自己“养”出来的。4. 重建工作流从“被推着走”到“重新握住方向盘”4.1 每天给自己留一块“自留地”代码我在实践中最有效的恢复方案是给自己留一整块“自留地”时间哪怕每天只有半个小时。这段时间不做公司安排的业务代码只做你自己想做的、能给你带来掌控感和正反馈的事。可以是给项目补一个单元测试把绿灯点亮感觉很好可以是给项目的构建流程写个优化脚本让团队打包快两分钟也可以是把一段你自己都看不懂的历史代码重构到能看懂为止。重点不在于技术难度也不在于商业模式而在于那种“这是我选的、我能做主、我能看到结果”的感觉。选择权本身就是最好的内耗解药。实际操作上我建议你固定一个时间段比如早上到公司的前30分钟或者下午四点半到五点吃完下午茶头脑发昏正好干点轻松的事。别占用中午休息时间也别下班后强行“提升自己”那样反而会造成额外压力。自留地嘛重要的是自由不是KPI。4.2 建立“技术资产库”用复盘对抗虚无感人为什么会内耗很大程度上是因为记忆会觉得“我这一年什么都没干”。事实上你可能帮业务解决了很多问题但那些事情太琐碎不值得记于是你在内心盘账的时候账本上是空的就产生了“我在虚度光阴”的错觉。破解方法很简单就是记账。我自己的习惯是每周五下午花20分钟写一份极简周报内容三块这周搞定的事、踩过最值的坑、下周想尝试的一件事。不用写长篇大论一页就行。每季度再做一次“能力盘点”说白了就是问自己一个问题如果明天离开这家公司我能带走哪些技能是更懂业务了还是能写更干净的代码还是更会排查线上问题了这个盘点最大的好处是让你把目光从“工作本身”挪到“自身的增值”上。你不是公司的一员你是带着你的技能组合在市场上交易的“独立开发者”。这个思维切换能很大程度上缓解“我被困在这里”的窒息感。4.3 环境顺了心态就不那么容易崩这里分享几个我在实际工作中觉得特别提升幸福感的细节都是花小钱、办大事的那种。终端和编辑器字体强烈建议换成合适的等宽字体。很多人没意识到你每天眼睛对着代码八个小时以上字体直接影响你的疲劳程度。我用过很多字体比较推荐接近macOS体验的配置比如JetBrains Mono、Fira Code你可以搜一下相关配置教程。在WSL Ubuntu里调字体让显示效果接近macOS那种清晰细腻的感觉写代码的心情能好不少。别小看这些工欲善其事必先利其器每天看着舒服的终端比出问题再排查强太多了。然后是把你的开发环境“固化”下来搞一套自己的dotfiles系统重装后半小时恢复所有配置。再配上代码补全插件让写重复代码变成肌肉记忆而不是脑力劳动。我见过太多人每次写代码都要为“这行怎么写”纠结半天那是把精力浪费在不该浪费的地方。工具顺手了写代码这件事才能流畅起来心情自然就跟着顺了。4.4 精力管理优先于时间管理内耗一个很大的特征是一天下来好像没干什么但累得不行。这其实是精力管理出了问题而不是时间安排出了问题。我给你一个很朴素的建议把一天里最需要脑子的代码工作放在你精力最好的时间段。绝大多数人是早上状态好那早上就别安排会议先把烂代码啃掉。下午精力下降了再安排沟通、回消息、写文档这些不需要太多脑力的杂事。反过来如果你一早就开始刷消息、回邮件、开会等大脑被切得稀碎下午你再想集中精力写代码你会发现根本进入不了状态然后又开始自我怀疑第二天更不想干活。这就是一个恶性循环。另外我说句掏心窝的话运动真的有用。不用办卡也不用练成什么样每天下班后快走或慢跑二十分钟出一身汗晚上睡眠质量都不一样。内耗在生理层面的问题比如脑子停不下来、焦虑、睡不好用运动去调节比看多少篇文章都管用。5. 真实场景对症下药从“症状”到“方子”的速查手册5.1 典型症状速查表根据我自己的经历和跟朋友的交流我把常见的内耗场景整理成了一张表。你可以对照着看对号入座症状可能原因急救措施长期对策天天写重复接口感觉毫无成长业务复杂度低工作缺乏挑战把常用逻辑抽象成代码模板/代码生成器至少能省一半时间主动申请做公司内的工具平台、组件库类项目接手一个烂项目整天想离职历史包袱重代码可读性差别急着改功能先花一两周做“技术债清单”给自己画地图边改边补测试老代码能不动就不动控制风险同时积累复盘经验团队里没人讨论技术氛围太闷技术氛围缺失缺乏交流对象把你遇到的问题写成文章发到内部知识库或技术社区把“输出”当出口参加线下技术沙龙或者在开源项目里跟人协作每天忙得要死却觉得没意义本条即“忙碌陷阱”陷入虚假KPI用3.2的“消耗分类法”把纯消耗项抽出来能砍就砍学会向上管理主动对齐价值标准确认自己做的事有影响写代码没状态但又要赶进度精力分配不当或任务过大让你发怵用番茄钟拆一个最小的“启动任务”先写五行代码再说建立“深度工作”习惯把重要代码放进固定时段这张表的作用就是帮你快速定位。我发现很多人内耗的根源是特别容易把“项目问题”“组织问题”误认为“我能力问题”于是陷入自我攻击。实际上很多事不是你的错是环境和结构的问题你要做的不是怪自己而是换打法。5.2 一套我自己验证过的“重启”流程如果你现在的状态已经非常糟糕我觉得光靠文章里的几个技巧不够你可以试试这套“重启”流程。我自己在职业倦怠最严重的那年用过一次亲测有效给你参考。第一步停掉增量式的焦虑。别再看那么多碎片化的技术新闻、面试题、薪资帖。先把自己泡在一个相对安静的信息环境里把脑子里那些“别人很行我不行”的声音降噪。第二步做一个周末小项目。选一个“用得上、范围小、能完成”的东西。比如做一个个人记账小工具、一个自动整理下载文件夹的脚本、一个可以爬你关注的球队赛程的脚本。我的建议是别做那种“教程里常见的普通博客”挑一个你在工作里总被烦到、又一直懒得解决的痛点下手做出来的时候那种“终于不用再手动做这件事了”的爽感比任何KPI都有用。第三步连续30天每天提交一条代码。不一定非要推送到云端本地仓库都行。关键是让“写代码”重新变成你生活里的一个惯性动作像刷牙一样自然。你看着小方块一点点变绿贡献图从稀疏变得密集这个视觉反馈本身就能修复“我在写代码这件事上毫无产出”的错觉。不要贪多每天哪怕只改一个变量、加一行注释都算数重点是连续是形成惯性。5.3 内耗期间这些事我劝你别做说几个我在这条路上踩过的坑算是反向避雷。第一别裸辞躺平。我不否认有人休息半年后脱胎换骨但更多人休息期间没了接触代码的场景焦虑反而加重。而且你现在觉得是“工作问题”休息完了很可能还是同一个人面对同一类问题。裸辞是在用逃跑的方式解决问题除非你已经判断好下一站否则慎用。第二别强迫自己“重新爱上写代码”。爱不起来就不爱有段时间就把它当成一份拿钱干活的工作完成好了就完。强行打鸡血反而会加重“我怎么这么不上进”的自我攻击。热情这东西你越追它越跑你专注做事它有时候自己就回来了。第三别硬学热门框架。很多人在内耗期会突然很想学AI、学新框架、学新语言试图用“学习”来对抗“我落后了”的焦虑。问题是你现在的状态根本不具备有效的学习力硬学会变成另一种形式的打卡学完更加空虚。不如把现有项目里的东西吃透学有用的而不是学流行的。第四别跟别人比较。真要比的话去比一年前的自己觉得自己技术有长进处理问题的能力变强了心态更稳了这就是该有的进步。写在最后你可以热爱也可以不热爱但别让内耗吞噬你写了十几年代码我最大的体会是编程这件事本身从来不会背叛你它就在那里你输入逻辑它就给你结果。真正让你难受的是那些围绕在代码周围的“人造复杂度”——流程、扯皮、历史包袱、比较心。所以如果你正在经历“没有热情”的阶段先别急着给自己判刑。你可能只是电量过低甚至只是需要换一个姿势去跟代码相处。最后再分享一个小技巧把那个“每天都做点自留地代码”的习惯坚持下去你会发现哪怕白天的工作再琐碎晚上或者午休时间写点自己真正想写的东西那种“我还是我”的感觉就还在。这就是我这些年对抗内耗最朴素也最有效的办法。希望这篇文字能帮你少一点自我怀疑多一点行动的方向。