从业10年:我对编程的热情消退了吗?
上周五晚上十点半,我坐在成都东门某老小区的出租屋里,盯着屏幕上一堆 Uncaught TypeError: Cannot read properties of undefined 的报错,手边的速溶咖啡已经凉透。老婆在隔壁房间小声追剧,不敢出声打扰我——其实她知道,我又在“加班”,或者说,是在和自己的职业焦虑死磕。
这不是第一次了。从去年十月开始,这种“心累”的感觉就像成都的雾霾,悄无声息地笼罩下来,挥之不去。
一、从热血青年到“码农打工人”
十年前,我还是电子科大的一个普通本科生,宿舍里挂着“Hello World, I'm coming!”的横幅(现在想想真是中二爆了)。那时候写 JavaScript 是为了炫技——用原生 JS 实现一个轮播图都能让我兴奋一整晚。记得大四那年,我和室友通宵三天,用 jQuery 写了个仿微博的社交网站,虽然上线后只有五个用户(包括我们俩和三个同学),但那种“代码改变世界”的幻觉,真实得让人热血沸腾。
毕业后顺利进了本地一家互联网公司,月薪8k,在2014年的成都算不错了。后来跳槽、涨薪、学框架、搞项目,一路摸爬滚打,到现在也算个“十年老码农”了。目前在一家做 SaaS 的中型企业当前端组长,月薪22k——听起来还行?但别忘了,房租3500,娃上幼儿园每月2800,老婆工资刚过6k,还要还房贷。成都生活成本是比北上广低,可工资也低啊兄弟们!
最要命的是,我现在写代码,越来越像在“完成任务”。
前几天改一个需求,产品经理说:“这个弹窗加个动画吧,要丝滑一点。”我第一反应不是“怎么实现更优雅”,而是“能不能直接用 Ant Design 的 Modal,省点时间”。以前看到别人写的烂代码会皱眉,现在只会在心里默念:“只要能跑,就是好代码。”——这简直是对曾经那个热血青年的背叛。
二、热情真的消失了吗?
去年年底绩效面谈,老板问我:“最近状态不太对?是不是遇到瓶颈了?”
我苦笑:“可能吧,感觉写代码没以前那么有劲了。”
他说:“你是不是觉得,写了十年 JavaScript,该学的都学了,剩下的都是重复劳动?”
我愣了一下——他说中了。
确实,现在的我,Vue/React 信手拈来,Webpack/Vite 配置闭眼都能写,TypeScript 也用得溜。但问题在于:技术栈越熟练,越容易陷入“舒适区陷阱”。每天的工作变成了“需求-开发-联调-上线”的流水线,连 Git 提交信息都模板化了:“feat: add xxx”、“fix: resolve yyy bug”。
更可怕的是,我开始对新技术产生“防御心理”。
比如今年团队讨论要不要试试 Svelte,我第一反应是:“又来?React 还没搞透呢,搞啥新东西,耽误工期!”——这哪还是当年那个为了一行优雅代码能折腾一宿的我?
有一次深夜调试,我盯着控制台发呆,突然问自己:
“如果现在让我重新选一次,还会做程序员吗?”
答案居然是不确定的。
三、转折点:一场意外的“考公”决定
事情的转机,发生在今年春节。
年夜饭桌上,我妈一边给我夹菜一边叹气:“隔壁王阿姨的儿子,在税务局上班,朝九晚五,还有编制……你天天加班,头发都少了。”
我爸赶紧打圆场:“人家是搞技术的,不一样。”
但我心里咯噔一下。
其实早就有念头了。去年社区公告栏贴出“成都市属事业单位公开招聘”,我偷偷瞄了一眼岗位表——居然有“信息化岗”,要求“计算机相关专业,3年以上开发经验”。
那一刻,心跳加速。
回家和老婆商量,她第一反应是:“你疯了?放弃现在这份工作去考公?万一没考上怎么办?”
我说:“但万一考上了呢?双休、公积金按顶格交、孩子上学有保障……而且,说不定能找回点生活的节奏感。”
她沉默了一会儿,说:“那你试试吧,大不了我们勒紧裤腰带半年。”
于是,从三月开始,我开启了“白天写代码,晚上刷行测”的双线人生。
早上七点起床背常识,午休刷逻辑题,晚上九点后打开粉笔APP做申论。周末?对不起,JavaScript 暂停服务,行测真题已接管大脑。
有意思的是,当我把重心稍微移开代码,反而对编程有了新的理解。
有一次刷题时看到一道材料分析题,讲的是“数字化转型中的基层治理”。我突然意识到:我写的每一行代码,本质上都是在解决人的问题——无论是用户点击按钮的体验,还是后台数据流转的效率。而公务员做的,不也是在用制度、流程、服务去解决人的问题吗?
只是工具不同而已。
四、重新定义“代码人生”
上周团队 code review,新人提交了一段用 Proxy 实现数据响应式的代码,虽然有点过度设计,但思路很新颖。
我本想直接打回,但突然想起自己当年也是这么“折腾”的。
于是我在评论里写:“想法很棒!不过考虑到项目维护成本,建议先用 Vue 的 ref。等空了我们可以一起研究下怎么优化。”
发完这句话,我愣了几秒——原来我还在乎。
是的,我对“无意义的重复劳动”感到疲惫,但对“用技术创造价值”这件事,从未真正厌倦。
热情没有消失,只是被生活的琐碎和职场的惯性暂时遮住了。
就像 JavaScript 本身也在进化:从 callback 地狱到 Promise,再到 async/await;从混乱的全局变量到模块化、组件化。技术在变,人也在变,但内核没变——我们始终在追求更高效、更优雅地解决问题。
五、给同样迷茫的你:热情需要“主动灌溉”
如果你也和我一样,写了多年代码却感到疲惫,我想说:
热情不是永动机,它需要你主动去灌溉。
你可以:
- 尝试跳出舒适区:哪怕只是在一个小项目里用下新语法(比如最近我用 optional chaining 简化了一堆判空,爽翻了!);
- 连接技术与意义:问问自己,你写的这个功能,到底帮用户解决了什么痛点?
- 允许自己“暂停”:考公、转管理、甚至 gap 一年去旅行,都不是背叛。人生不是单行道。
对我而言,考公不是逃离编程,而是寻找一种更可持续的生活方式。即使最后没上岸,这段经历也让我看清:我不讨厌写代码,我只是讨厌被代码奴役。
六、未来:无论在哪条路上,继续写好人生的“函数”
现在,我依然每天和 JavaScript 打交道。昨天还用 fetch + async/await 重写了老项目的接口层,性能提升了30%。老婆笑着说:“你眼睛又亮了。”
或许,真正的“代码人生”,不在于你写了多少行,而在于你是否还能从其中找到乐趣与意义。
十年过去,我不再是那个以为一行 console.log('Hello World') 就能改变世界的少年。但我依然相信,每一行用心写的代码,都在悄悄塑造着这个世界的一角——无论是做一个产品,还是服务一个社区。
至于考公?笔试下个月。
不管结果如何,我都不会停止学习,也不会停止思考。
因为人生,本就是一段不断 debug、不断重构、不断 deploy 的旅程。
而我的 main 函数,才刚刚跑到一半。
P.S. 如果你也正在经历职业倦怠,不妨今晚关掉 IDE,泡杯茶,问问自己:
“我最初爱上编程的那一刻,是因为什么?”
答案,或许就是你重新点燃热情的火种。

评论 0