从改 Bug 到带团队:一个北漂码农的硬核升级记

代码写到发光
2025-12-26 22:36
阅读 2428

早上七点半,闹钟还没响,房贷还款提醒先弹出来了。我揉了揉眼,一边刷牙一边盘算:这个月还完贷,泡面得吃一周。三年前,我揣着梦想和租房合同来到北京,如今终于有了自己的小窝——当然,是背着30年房贷的那种。

今天写这篇文章,不是为了凡尔赛,而是想和还在一线“搬砖”的兄弟们聊聊:我是怎么从那个连 Spring Boot 启动报错都看不懂的菜鸟,一步步混成团队 Leader 的。顺便说一句,我现在每天八点开工,不是卷,是怕迟到扣钱——毕竟,房子不会自己还贷。


刚入职那会儿,我对“后端”俩字的理解还停留在“能跑就行”。第一次参与公司核心项目,组长让我改个接口,我吭哧吭哧写了三天,提交代码后被 Code Review 轰得体无完肤:“你这事务没加吧?”“缓存穿透考虑了吗?”“日志埋点呢?”

我当时内心 OS:我只是想改个名字字段啊!结果上线前夜,因为没处理好幂等性,用户重复下单,财务小姐姐差点提刀来砍我。那晚我蹲在工位上啃冷包子,盯着满屏红色报错,心想:这行真不是人干的。

但转机出现在去年双11。系统崩了三次,运维在群里@所有人:“前端先别动,后端赶紧查!” 我鼓起勇气翻日志,发现是某个 Spring Boot 微服务线程池打满了。虽然最后是架构师救的场,但他随口一句:“小伙子,日志看得挺细啊”,让我心里一热——原来认真看日志也算本事?

从那以后,我开始死磕后端底层逻辑。白天写业务,晚上啃《Spring Boot 编程思想》,周末泡在掘金、知乎看别人踩坑。有一次为了搞懂 Redis 分布式锁,我在家搭了个 Docker 集群,结果把笔记本干到蓝屏,老婆(哦不,是合租室友)怒吼:“你再折腾,下个月水电费你全出!”


真正让我“起飞”的,是一次被迫换岗。

当时团队缺人,领导拍我肩膀:“你前端动画做得不错,要不要试试全栈?顺便带两个新人。” 我表面淡定:“行啊”,内心慌得一批——我连 Maven 多模块都没整明白,就要当 Leader 了?

但箭在弦上,不得不发。我给自己定了三条铁律:

  1. 不懂就问,但问之前先 Google 三遍
  2. 代码可以烂,但文档必须清
  3. 绝不让新人踩我踩过的坑

于是,我搞了个“新人避坑手册”,里面全是血泪史:

  • “不要在凌晨两点 merge 到 main 分支”
  • “产品经理说‘很简单’=至少三天工作量”
  • “测试说‘没问题’=你还没测出问题”

最搞笑的是,有次一个实习生照着我的旧代码抄,结果用 synchronized 锁整个方法,导致接口 QPS 直接掉到个位数。我哭笑不得,连夜重写了那段,还加了注释:“此处曾葬送一个双11,慎入。”


说到技术成长,Spring Boot 真是我的“贵人”。

早期我把它当黑盒用,@RestController + @Autowired 就完事。后来线上出现内存泄漏,dump 出来一看,Bean 工厂里塞了几万个代理对象。这才逼我深入理解自动配置、条件装配、启动流程。

我甚至画了一张 Spring Boot 启动时序图贴在显示器边上,每次写新模块前都看一眼。同事笑我:“你这是修仙呢?” 我回:“修仙好啊,修好了房贷少还十年。”

下面是我总结的几个关键认知跃迁点:

阶段 技术认知 心态变化
菜鸟期 Spring Boot = 快速搭 API “能跑就行,明天再说”
成长期 关注 Starter 原理、Actuator 监控 “线上挂了我睡不着”
Leader 期 设计可扩展架构、规范开发流程 “团队稳了我才敢请假”

对了,千万别信“全靠天赋”这种鬼话。我数学高考才98分,但现在能手撕红黑树(开玩笑的,其实是抄模板)。真正的秘诀就俩字:复盘

每次线上事故后,我们团队必开“不甩锅复盘会”。有次因为 Nacos 配置没灰度,导致全站 500,我带头检讨:“是我没写清楚发布 checklist。” 结果产品经理居然说:“其实需求文档我也改错了……” 全场沉默三秒,然后爆笑——那一刻,我觉得这团队还能处。


现在带人,我最看重的不是算法多牛,而是代码有没有“人味”

什么叫人味?就是你的代码,三个月后的你能看懂,实习生也能接手。我见过太多“天才代码”:变量名全是 a、b、c,注释写“这里很 tricky”,结果半年后他自己都懵了。

所以我强制推行几条“土规矩”:

  • 方法不超过 30 行
  • 异常必须打上下文日志
  • 所有魔法值必须定义成常量

有次一个新人问我:“哥,为啥非得这样?性能又不差多少。” 我反问:“如果半夜三点报警,是你去处理还是我?” 他秒懂。


回头看这段路,其实没有惊天动地的转折,全是琐碎日常堆出来的。

从改 Bug 到定方案,从被催进度到帮别人排期,从怕开会到主持 stand-up meeting——每一步都踩在生活的压力线上。房贷、房租、35岁危机……这些词听着焦虑,但也逼着我不断进化。

最近我在准备跳槽。不是对公司不满,而是想看看更大的世界。毕竟,背着房贷的人,不敢躺平太久。面试官问我:“为什么想做管理?” 我说:“因为我发现,一个人写代码再快,也扛不住整个系统的复杂度。而带好一个团队,能让每个人少加点班,早点回家。”

这话可能有点理想主义,但至少,我现在敢在周五晚上六点准时关电脑了——当然,前提是 Jenkins 构建成功。


最后分享点实在建议,给还在路上的你:

  • 别等“准备好”再行动:我当 Leader 时,K8s 都没玩明白,边干边学才是常态。
  • 建立自己的知识体系:用 Notion 或语雀整理踩坑记录,比收藏 100 篇博客有用。
  • 保护好身体:颈椎病治不好,房贷还得还。我现在每天午休做八段锦,程序员版。
  • 保持对代码的热爱:哪怕只是调一个 CSS 动画丝滑一点,那种“搞定”的快感,是支撑我们走下去的燃料。

代码人生,从来不是一条直线。它更像我们写的递归函数——有时候深陷栈溢出,但只要 base case 正确,终会 return 出想要的结果。

对了,上周五晚上,我又加班到九点。但这次不是修 Bug,是在帮新人 review 代码。走出写字楼,北京的夜风有点凉,但抬头看见国贸三期亮着的灯,突然觉得:这城市,好像也没那么冷漠。

毕竟,每一盏灯下,都有一个正在和房贷、bug、deadline 死磕的普通人。

而我们,终将在代码与生活之间,找到自己的节奏。

评论 0

最热最新
暂无评论
代码写到发光Lv.1
0
影响力
0
文章
0
粉丝