从业10年,我还在敲代码,但热情去哪儿了?

开源搬砖工
2026-01-27 16:44
阅读 347

上周五晚上十一点,办公室只剩我一个人,Vim里一行 Go 代码改了又删、删了又改。隔壁工位的测试同事早就溜了,产品经理在群里发了个“辛苦啦~”,然后秒撤回。我盯着屏幕右下角的 git status 输出,突然冒出一个念头:我是不是对编程这玩意儿,已经没感觉了?

十年前,我还在实验室里焊电路板,用示波器追时序,写 C51 控制 LED 呼吸灯。那时候,能跑通一个 SPI 通信协议,高兴得能去食堂多打一份肉。现在呢?写个 RESTful API 都觉得是体力活,连 go mod tidy 都懒得敲,直接 :wq 走人。

我是从嵌入式转 Go 开发的硬件出身程序员,Vim 是我的 IDE,终端是我的战场。最近边工作边刷 LeetCode,不是因为我热爱算法,而是——想跳槽。简历上“10年经验”听起来很牛,但只有自己知道,最近两年,写代码像在完成 KPI,调试 Bug 像在还债。

所以今天不聊技术栈,不讲架构设计,就聊聊:从业十年,我对编程的热情,真的消退了吗?


热情不是没了,是被“产品”榨干了

先说句大实话:不是我不爱编程了,是我不爱“配合产品”了。

去年双11前两周,我们组接到一个“紧急需求”:要在三天内上线一个“动态配置热更新”功能,支持运营人员实时调整促销策略。产品经理画了个高保真原型,UI 动画丝滑到能当屏保,还特意强调:“这个交互要让用户有‘哇塞’的感觉!”

我看了眼需求文档,心里一凉——这玩意儿底层要改配置中心,中间层加缓存失效逻辑,前端还要搞 WebSocket 推送。而我们组三个人,两个在修线上内存泄漏,一个在对接第三方风控接口。

“能不能先做 MVP?比如只支持 JSON 手动上传?”我弱弱地问。

产品经理微微一笑:“老板说,这是核心体验,不能妥协。”

行吧。那三天,我每天凌晨三点才回家,梦里都是 panic: concurrent map read and write。最后上线那天,功能倒是跑通了,但动画卡成 PPT,因为前端为了“哇塞效果”用了 Lottie,结果在低端安卓机上帧率掉到 8fps。

更讽刺的是?双11当天,这个功能根本没人用。运营小哥说:“我们还是用 Excel 改配置,导出 CSV,你后台手动导入就行。”

那一刻,我真的想砸电脑。不是代码难写,是写出来的代码,没人 care 它的价值。


书籍堆成山,却再没翻过一页

刚入行那会儿,我书架上全是《嵌入式 Linux 应用开发完全手册》《C 和指针》《TCP/IP 详解》。出差坐高铁,包里一定塞本纸质书,哪怕只看两页也安心。

现在呢?书架上多了《Go 语言高级编程》《微服务架构设计模式》《系统性能优化实战》,但封皮都没拆。不是不想学,是学了也没用武之地

上个月,我花 299 买了某平台的“Go 并发编程精讲”课程,讲师讲得头头是道,还给了完整源码。结果回到公司,项目还是用着三年前的单体架构,数据库连接池配死,日志打印全靠 fmt.Println。想重构?PM 说:“稳定压倒一切,别动生产环境。”

于是那套课程,成了我刷题间隙的“精神安慰剂”——点开视频,听着讲师激情澎湃地讲 channel 和 context,仿佛自己也在参与高并发系统建设,实际上手里的活,还是在给老旧接口加个字段校验。

资源很多,但能用的很少。
GitHub 上开源项目遍地开花,Docker、K8s、Service Mesh 一套套玩得飞起,可我们公司的部署流程还是:运维手动 scp 文件,重启 systemd 服务,祈祷别挂。

这不是技术问题,是产品决策和团队文化的问题。当你的代码永远服务于“快速上线”而不是“长期可维护”,再好的技术热情,也会被磨成灰。


刷题、跳槽、学新东西:我在自救

意识到热情在流失后,我开始自救。

第一招:回归工具链的本质
我重新配置了 Vim,装了 coc.nvim + gopls,虽然比不上 Goland 智能,但至少不用等 IDE 启动半分钟。写代码时,关掉所有通知,只留终端和浏览器(查文档用)。减少干扰,才能找回“写代码”的纯粹感。

第二招:用兴趣驱动学习
我对前端动画和交互一直有兴趣,以前觉得“那是前端的事”,现在不这么想了。我用 Go 写了个简单的 WebAssembly 模块,配合 Canvas 实现了一个粒子动画效果。虽然性能一般,但看到小球在页面上弹跳,那种“我造出来的东西在动”的感觉,久违了。

第三招:刷题不是为了面试,是为了保持手感
LeetCode 我每天做一题,不求多,但求理解。有时候一道题能引出一堆知识点:比如做“LRU 缓存”时,顺手研究了 Go 的 sync.Map 实现;做“二叉树序列化”时,对比了 JSON 和 Protobuf 的序列化效率。刷题不是目的,保持对“问题”的敏感度才是。


热情不是消失,是转移了

有人说,程序员到了35岁,要么转管理,要么转行。我不信这套。

我见过40岁的老哥还在写 Rust,为开源项目提 PR;也见过30出头的同事放弃大厂,跑去创业做硬件+边缘计算。热情没消失,只是换了个载体。

对我而言,编程不再是“炫技”或“升职”的工具,而是解决问题的手段

  • 当我能用几行 Go 代码自动化一个重复的运维任务,省下团队两小时人工,我开心。
  • 当我用 Channel + Goroutine 实现一个优雅的并发模型,避免了锁竞争,我自豪。
  • 当我写的接口被其他团队调用,文档清晰、错误码规范,我满足。

这些微小的正反馈,就是现在的“热情”。


给同行的几点建议(自用版)

如果你也感觉“代码写麻了”,不妨试试:

  1. 远离无效需求
    学会说“不”。不是所有需求都值得做。问清楚:这个功能解决什么问题?用户是谁?数据怎么验证?如果对方答不上来,大概率是伪需求。

  2. 建立自己的“技术游乐场”
    公司项目受限?那就自己搞 side project。用 Go 写个 CLI 工具,用 WASM 做个小游戏,甚至用 ESP32 + Go 后端做个 IoT 小装置。动手,才能唤醒手感。

  3. 重读经典,但别迷信
    《代码大全》《重构》这些书依然有用,但别照搬。结合当前技术栈思考:比如“重构”在 Go 里怎么体现?函数式编程思想如何融入命令式代码?带着问题读书,才有收获。

  4. 接受“平庸”的日常
    不是每天都要写惊艳的代码。有时候,把日志格式统一、把错误处理标准化,就是最大的贡献。稳定,也是一种技术美德。


最后:热情不在代码里,在你手里

上周,我终于搞定了那个热更新配置的遗留坑。不是靠加班,而是推动团队引入了 Apollo 配置中心,写了详细的迁移方案,还做了灰度发布。虽然过程曲折,但上线后,运营真的用上了——他们调了个参数,促销 banner 自动切换,用户点击率涨了 12%。

那一刻,我坐在工位上,喝了口冷掉的咖啡,心里默默说了句:“值了。”

从业十年,我没变成架构师,也没当上 CTO,但我知道,只要还能用代码解决真实问题,我就还没“退休”。

热情或许不再像火焰般炽热,但它像嵌入式系统里的看门狗定时器——安静、稳定、持续运行,确保整个系统不会崩溃。

而我,还在写代码。
用 Vim,用 Go,用十年积累的偏执和耐心。

这就够了。

评论 0

最热最新
暂无评论
匿名用户Lv.1
0
影响力
0
文章
0
粉丝