培训终止那天,我把自己关在宿舍里整整一夜,烧了一锅玄米粥。醒来时,脑子里像灌了铅,全是那些枯燥的 PPT 和理论框架。但当我真正铺开桌面的文档,手启动颤抖,那种感觉比刚入门时更真,更像是在做一个实实在在的拍板。

那会儿总认定技术是拿来用,目前才发现,它是用来解决生活中具体难题的。 刚入职那会儿,我也认定做程序员挺酷,代码写出来就行,重启电脑,一切搞定。

那时候的“搞定”忒 light 了,根本不知道系统底层是如何跑的,更不知道一旦某个模块挂了,整个业务链会不会断。目前想想,那种保险感简直是诈骗。我们搞技术的人,本质上就是在这个庞大的、充满不确定性的世界里,修修补补的人。

没有那么多现成的方案,只有一个个一个个把 uncertainty 翻译成本地语言。 工作中最大的一个坑,就是习惯用“大约”、“可能”这种词。产品经理说要做个“优化体验”,我们就认定“优化”就行;老板说要“提升效率”,我们就想“试试看”。结局一干就是半年,产品上线了,用户反馈全是“为啥还是这 jiang ?”根本不知道哪儿坏了,修好了也不知道啥时候修。 那次复盘会,我一咬牙,给全组开了个全员大会。我拿手机打开一个老旧的后台系统,直接连上 Wi-Fi 波,折腾了半天,终于让那个报错的接口跑起来了。屏幕上跳出个红色的叉,我盯着看了两秒,然后直接对着大家说:“我们之前说‘可能’,结局形成了。下次,我们直接说‘务必’。务必用这个方案,别管多复杂,能跑就行。” 这一说,大家愣住了。

然后有人小声说:“可是数据呢?咱们不是要依据数据讲话吗?”我笑了笑:“对!可是,数据是死的。

要是业务变了,数据立马就能反映出来。

要是业务没变,你们那些‘优化’、'体验’,目前是不是都变成了一种负担?” 那一刻我突然明白,技术不是炫技区的,它是工程区的。工程师的价值,不在于你写了多华丽的代码,而在于你能不能把“完美”这句话,变成“今天这个版本能跑通”的现实。

没有完美,只有迭代。

那会儿我们总认定一步到位是最高级的,目前才发现,能活下来,并且持续地、一点点地把难题消化掉,才是硬道理。 我还记得上个月的一个项目,需求变更了三个版本,最终上线的时候,一个界面功能跑不起来,整整响了两个小时。

那时候我感觉自己像个背锅侠。直到晚上加班到凌晨三两点,我把自己关在机房里,一个模块一个模块地排查。最终发现不是代码难题,是数据库连接池的默认配置和我们的造环境不一致。我直接在群里发了个简短的消息:“别慌,本地形成了兼容性难题,建议今晚前解决,明天追加备注。” 第二天,团队会上我带头提了一个小建议:“赶明儿我们做配置,尽量拿标准库,不要死磕本地环境,这样能节省几十分钟维护工夫。”没想到,大家反应挺大。

有人认定这是推卸责任,有人认定这是少了担当。但我没辩解,我只是默默地把那个文档发给大家,让大家看看我们如何统一的标准。 我这才发现,所谓的“技术本事”,不是看你写了多少行 Python 要么 Java,而是看你在别人慌乱的时候,能不能稳稳地守住阵地。

那会儿我认定,只要代码没 bug,就是成功了。目前明白了,只要系统能跑通,能跑通意味着啥?意味着业务能流转,意味着消息能到达,意味着用户能收到,意味着整个链条没断。 培训课上讲过“敏捷开发”,但我认定那只是皮毛。真正的敏捷,是敢于承认“我搞错了”,然后立马掉头,哪怕土得掉渣,也比死磕一个完美的、一辈子没法实现的方案强。我们不需求成为最了得的销售,我们只需求成为最靠谱的开发者。能把东西做出来,比把东西做得最好更关键。 还有啊,培训里突然让我意识到一个挺扎心的事实:大量时候,技术瓶颈不是代码写得不够好,而是沟通成本忒高。产品经理不懂技术细节,开发不懂业务逻辑,测试不懂业务规则。

这三者脱节,出来的东西就是个半成品。 后来我试着转变写法。我不再在需求文档里写“请实现用户登录”,我在设计和开发时直接写明:“请实现用户登录,并校验密码强度,与此同时,要是登录黄了,请弹出提示框,并记录毛病码。”这样,哪怕中间有 Bug,大家一看就知道是哪一环的难题,不用再反复问“我如何改”。 这种变化,别看看起来只是改了一行注释,要么加了一个参数,但确实省了不少工夫。

那会儿一个需求开回几次,后面又改回来,最终上线前改不了了,直接报废了。目前,哪怕有 bug,也能快速定位,不至于整个项目黄了。 另外,培训还让我更深刻地理解了“数据”的力量。

那会儿我认定数据只是报表里的数字,目前才认定,数据是业务逻辑的血液。

要是业务逻辑错了,数据就是错的。

对,我刚刚说的“数据是死的”那句话,不是确实,数据是活的,它反映的是业务。业务变了,数据就务必变。

要是数据不更新,要么更新不及时,那就是对业务的背叛。 故此,赶明儿做技术工作,我不再纠结于技术有多炫酷,我要问自己:这个功能,能不能帮用户解决费事?这个流程,要不要简化?这个字段,能不能去重? 那会儿总认定,技术是冷冰冰的、精密的、不可触碰的。目前才认定,技术是热的、粗糙的、且充满了人性的。它需求被理解,需求被爱,更需求被纠错。当我们把技术融入日常,不再把它当成一种职业,而是当成一种生活方式,那种压力就减轻了大量。 看着屏幕上那个终于跑通的系统,窗外阳光明媚,我认定自己像个傻子。

明明只是改了个配置,却感觉像搞了个大手术。但我知道,这就是成长的代价。 回去的路上,手机里还堆着没看完的文档。明天一早,我就打算把那个数据库的配置标准写下来,发群发给大家。

不再依赖“可能”,不再依赖“大约”。

只要需求写了,我就按图索骥,把啥东西都包起来。

哪怕那天晚上加班到更晚,哪怕系统出个小 Bug,我也认了。 这次培训,让我从“我要做啥”变成了“我能做啥”。

那会儿总想着让老板中意,让需求完美,目前只想让系统跑起来,让数据对得上。

这听起来有点俗,但这就是现实。 技术不仅是工具,更是连接人与世界的桥梁。而真正能建立这座桥梁的,不是代码的复杂度,而是我们对“实际”的敬畏之心。

不再追求虚无缥缈的完美,而是沉下心来,把一个个细节串联起来,一条一条把坎踩那会儿。 路还挺长,上面的坑还大量。但起码,我知道从哪走,如何走。

不纠结于远方的风景,只看脚下的路是否扎实。 我想,这就是最大的收获

不是学会了啥新技能,而是学会了如何在混乱中保持清醒,在不确定中坚守底线,在平凡中打出专业。

这或许才是程序员真正该给世界的礼物——不是炫技,而是可靠。 今晚,我要再睡一觉。明天,持续写,持续改,持续把“务必”两个字,刻进代码里。 (字数统计:约 1800 字)