2025 年 5 月从待了快四年的公司出来,到现在半年。写这篇是因为发现自己高估了「换个环境就好了」这件事——技术问题还是那些技术问题,变的是得重新建立信任、重新摸清哪些坑是别人踩过的。也记了一些具体的收获,比如第一次从头参与一个系统的设计,而不是接手别人的。

一、走的时候,我给自己列了一张清单

离开前一家待了快四年的公司时,我其实挺有信心的。2019 年入行,前三年基本都在写 C# 和 SQL Server;2023 年开始因为组里缺人,又接了 Vue 的活儿,公司两套内部系统前后端都经我的手。我以为带着这些经验换到新环境,上手怎么也得比新人快一截。临走前我还认认真真列过一张清单,写的是"到了新公司要补的短板":更规范的代码评审流程、更完整的自动化测试、还有微服务那一套。现在回头看,这张清单里没有一条真正帮到了我,倒是一堆我完全没想到的东西占了大头。

后来我想明白一件事:我列的那些"短板",全是从技术视角看的,而换工作最难的部分根本不在技术。清单上一个字没提的,是怎么在陌生团队里让人放心把活交给你、怎么在没有上下文的情况下判断一个老系统为什么是现在这个样子。这些没法写进清单,只能靠时间。

二、我当初想错的两个地方

第一个想错的是"新环境技术债应该更少"。我当初以为新公司规模更大、流程更正规,代码质量怎么也得比老东家高。结果进去后发现,技术债跟公司大小真没什么关系,更多是跟"这摊活儿是谁在什么时候接手的"有关。我接手的第一套系统,最早一版是外包写的,后来换了两拨人,注释几乎没有,有个存储过程里还留着一句注释写着「这里要改」,看提交记录是 2021 年的。跟我老东家那套比,破绽不相上下。后来我发现,与其期待环境干净,不如早点接受"每个系统都有自己的一地鸡毛",把摸清现状当成入职第一周的正经事,比抱着幻想等"干净代码"出现要实在。

第二个想错的是"同事更资深,我能偷不少懒"。新团队确实有两个资深的,但"资深"的意思不是替你兜底,而是"你有问题他们能给你指个方向"。我第一周把一个本该问清楚的接口字段自己猜着写了,结果联调时返工了两天。我当初想错了,以为把活儿干完就行;后来发现,主动把不确定的地方摊开问,比闷头硬写省时间得多,而且没人觉得你水平差——他们更烦的是你闷头写完了才发现方向错了,白搭进去两天。

三、比想象中好的地方

也有超出预期的部分。最明显的是我第一次从头参与了一个系统的设计,而不是接手别人做了一半的东西。新公司那套内部工具要从零搭,我参与了数据库表结构的讨论、接口字段的定,甚至吵过几次"这个状态机到底该放前端还是后端"。这种从空白开始的经历,老东家给不了我——那边系统都跑了三四年,我能做的多是缝缝补补。这点确实是换环境才换来的,也是我写这篇时最想记下来的收获。

还有一点,新环境里我被迫把 Vue 那半吊子水平补齐了。在老东家前端只是兼职,页面能跑就行;这里前端是日常工作的将近一半,逼着我去看组合式 API 那些以前跳过的细节,比如响应式到底什么时候触发、watchcomputed 该怎么选。半年下来,写一个完整页面不再依赖后端同事兜底,自己能从头到尾交一个功能。

四、新旧环境的具体对比

把两边具体摆一摆,免得以后记混:

上手速度:老东家那套系统是我自己搭的,闭眼都熟;新环境第一周基本在翻文档和问人,光搞清楚"这个配置项是谁加的"就花了一下午。

技术决策:以前我说了算,但没人帮我把关,错了也得自己扛;现在要跟人讨论,但方向有人兜底,不至于一个人钻进死胡同。

前端占比:老东家偶尔碰,大约两成;新环境是日常,差不多五成,写页面从"帮忙"变成了"主业之一"。

踩坑来源:以前是自己当年埋的,心里有数;现在得去翻别人多少年前留的,很多时候连当事人都离职了。

说实话,这表里没有哪一行是"新环境完胜"。换工作不是升级,更像把熟悉的坑换成一批还没踩过的坑。我能做的只是让踩新坑的过程短一点。

五、半年下来,我记下的几件事

第一,信任是慢慢建立的,不是靠简历。我在老东家能拍板,是因为大家看了我四年怎么做事;新环境里同样一句话,得先被验证两次别人才放心。我当初想错了,以为换个地方"水平"会自动被认可,其实认可要自己一点点挣。

第二,技术问题的难度没变,变的是上下文。排一个慢查询,看执行计划那套东西两边一样;但"这张表为什么有这个索引"的答案,新环境得靠翻聊天记录和问人,老环境我脑子里就有。后来我发现,排查能力的一半其实是"知道去哪问"。

第三,别急着证明自己。我前两个月总想搞个大动作,后来发现稳稳把分配的任务做完、不返工,比抢着做亮眼的事更让人放心。这个教训我当初不信,是被安排了一个不起眼的小需求、按时交付之后对方才松了口气的。

(写于 2025 年 11 月,刚好满半年。有些感受可能再过半年又会变,但现在的想法就这样,先记下来。过阵子如果想法变了,我会在文末补一句,不偷偷改前面的结论。)