实习的日子像是一场没有剧本的即兴演出,有时候我坐在工位上看着满屏的数据发呆,认定日子过得有点慢,有时候又突然盯着屏幕上的报错堆出火眼金睛,恨不得把整个服务器拆了重装。
说实话,刚启动那两周,我认定自己像个被丢进大厂零件库的螺丝钉,既没说明书,也没干活的技巧,脑袋里总装着各种报错代码,心脏却快跳出嗓子眼。但我后来发现,这种“卡壳”恰恰是出于我想把底层逻辑看透了,才不得不诚实地面对自己的不足。 最让我印象深刻的不是哪个项目对接成功了,而是上周那个突发状况。为了赶工夫跑业务,我直接打开了后台的调试工具,发现了一个明明能修复但迟迟不存有的变量难题。按照那会儿我的习惯,这归于低级毛病,肯定是我没对齐上下文害得。但我目前回想起来,那时候我根本不懂得去审视代码的逻辑闭环,只认定是运气不好。直到我在群里给导师发了一大段“我卡住了”的消息,才真正意识到自己除了写代码,心里还缺啥。
那次经历让我明白,所谓的职业成长,往往就藏在那些“我不想出错”的侥幸里,只有在彻底推翻重来之前,才能把那些侥幸变成肌肉记忆。 说到具体的业务数据,那段工夫最让我头疼的是用户增长率的预测模型。
那会儿我对这个模型的理解只是停留在“系数”和“偏度”上,认定只要参数调好了就能自动上线。可实际情况是,模型输出结局时沾了忒多“玄学”,比如在某些突发流量下,系数直接归零,彻底不符合直觉。为了搞清楚这笔账,我拉取了那会儿三个月的后台日志,就连自己在那个不起眼的 Python 脚本里手写了一个简易的归一化函数。做完这些折腾后,我发现数据本身是有规律的,只是出于我的模型忒“死板”,没抓到那个动态变化的规律。
后来我把那些散落的日志段重新整理成了工夫序列,手动比对了历史波动,最终在半天内把预测精度从 68% 拉到了 92%。
那一刻我突然懂了,代码不是让人偷懒的工具,而是用来理清混乱信息的罗盘。 自然,工作中也有大量坑。有一次在对接竞品分析报告时,我发现竞争对手的某个核心策略在三个月前就失效了,但我手里的结论却还写着“增长空间庞大”。鬼使神差地,我临时改了一行正则表达式,把旧案例的标签给漏掉了。项目做完后,导师直接拿放大镜看了我的代码,还在那上面敲了整整三个小时,直到那个 Bug 修复并且逻辑自洽为止。
那一刻我后怕极了,就连质疑自己是不是确实啥都学不会。但转念一想,这哪是错,这分明是让我把“业务逻辑”当成了“代码逻辑”来写。
后来我每次写代码前,都会先花五分钟读一遍业务文档,直到把那些政策条款变成我的系统变量。目前回头看,那次耻辱柱上的名字,实际上是我给职业生涯敲下的第一块最沉甸甸的砖。 最让我难忘的,还不是代码,而是某个深夜的会议室。项目评审时,客户带着强烈的质疑态度,非要让我证明某个功能模块的稳定性。为了回应他的疑虑,我整整熬了三个通宵,把核心链路用 U 图、压测脚本就连手绘草图补全。凌晨两点的时候,我看着屏幕上跳动的绿色感叹号,感觉自己比哪位都快。
第三天早上,客户笑得像个孩子,说要给这个新功能颁个“最佳设计奖”。
事后我查了报告,发现其中有个被我们漏标的细小边界条件,差点就是封杀我的机会。
那一刻我特别清醒,知道自己那会儿忒浮躁,忒好办被成就感冲昏头脑,忘了啥才是最关键的。真正的专业,不是把难题全体搞定,而是对每一个不确定性保持敬畏。 自然,说多了也是矫情。我也承认,自己有时候忒自我了,认定只要自己写得对就行,极少主动问别人意见。
这种“独断专行”在实验室里行得通,但在团队协作的职场里,就是致命的毒药。
后来我在复盘材料里专门加了一个小模块,叫“沟通迭代法”,记录下每次出于信息不对称害得的返工次数,就连估算了一下,要是能把沟通效率提升 30%,项目总周期能缩短一个月。别看这个方式还没彻底量化,但光是这个念头,就让我认定自己从那个只会敲键盘的实习生,启动往真正的工程师身上靠。 实习這三年,最宝贵的不是某个 big project 的上线,而是那些在深夜里反复验证的算法,是在会议桌上争得面红耳赤的复盘,是在代码报错时那种“又是哪位搞错了”的尴尬与释然之间的拉扯。
那会儿认定自己只是个执行者,目前才算是真正理解了“执行”的重量。我不再追求完美的代码,出于完美是别人的追求;我追求的是在混乱中建立秩序,在不确定性中寻找确定性。 路还长,未来的路肯定不会像目前这样铺满鲜花,也会遇到更多让你质疑人生的难题。但我会带着这份“毛病文档”持续走下去,把那些曾经引当作傲的“低级毛病”,慢慢变成我职业生涯中最坚实的“护城河”。
毕竟,真正能让一个人死的,不是那些光鲜亮丽的数据指标,而是那些让你深夜反复修改的Bug,和那些让你在凌晨两点才恍然大悟的顿悟时刻。