跳转至

第二十八章 · 十五分钟

十月二十九日,星期四,上午九点零三分。纪衡的邮件进来。

「下周一,十一月二日,上午十点,三楼会议室。双月会。你讲十五分钟。数据、成果、问题、计划,按这个顺序。」

陈稳把这行字看了两遍。十五分钟。上次双月会他讲了七分钟,纪衡说「没有重点」。上上次四分十二秒,纪衡说「讲得不错」。这次是十五分钟。

他打开记事本,翻到十月二十八日写的那一行:结算错误率从百分之十一点七降至百分之一点八七,降幅百分之八十四。

一个数字能讲三分钟。剩下的十二分钟,他需要说清楚一件事:他是怎么做到的,以及接下来要做什么。

他建了一个新文档,标题写:双月会汇报——结算系统对账模块重构。

写完他删了,改成何晚教他的那个:结算错误率下降百分之八十四。

然后他在下面列了四行:

一、成果。五分钟。 二、数据。五分钟。 三、问题。三分钟。 四、计划。两分钟。

加起来十五分钟。

九点四十,他打开监控大盘,截了六张图。结算成功率趋势图——从七月到十月,四次抖动,一次比一次小。异常率趋势图——十月二十八日断崖式下降。对账服务响应时间分布图——P99 从一百二十毫秒降到四十毫秒。消息服务消费延迟图——最大延迟一点七秒,平均零点三秒。字段映射加载时间图——启动时零点三秒,之后平线。连接池使用率图——从百分之九十七降到百分之六十一。

六张图,每张图下面写一行结论。六行结论里出现五个「下降」和一个「稳定」。他删了三个「下降」,改成一个表格。三列:指标、上线前、上线后。

他想起易文说的:不约数字。

他又加了一列:变化幅度。

结算成功率:99.98% → 99.99%,变化幅度 +0.01%。 异常率:11.7% → 1.87%,变化幅度 -84%。 对账服务 P99 响应时间:120ms → 40ms,变化幅度 -67%。 消息服务最大消费延迟:未统计 → 1.7s,新增指标。 连接池使用率:97% → 61%,变化幅度 -37%。

他看了一遍,觉得这些数字已经不用解释了。数字自己会说话。

十点半,蒋辉端着杯子过来。

「你那个工单,查得怎么样了。」

「处理中。」

「赵岩那边怎么说。」

「他说八月一日那天有三个账号登录过,具体操作人需要等日志分析结果。」

蒋辉把杯子搁在桌沿。

「你打算在双月会上讲这个吗。」

「不讲。」

「纪衡会问吗。」

「不知道。」

「他如果问,你怎么说。」

「就说还在查。」

「那他不问,你就不说了?」

陈稳把键盘往前推了一点。

「不问就不说。时机不对。」

蒋辉看了他两秒。

「你变了。你以前不会想时机对不对。你以前只会想对不对。」

「对就是对,错就是错。但什么时候说,比说什么重要。」

蒋辉把这句重复了一遍。

「你从哪学的。」

「易文。」

「不是。」蒋辉说,「你学会了,但这不是易文教的。这是你自己想的。」

星期五,陈稳在公司待了一整天。方案从头到尾改了四版。第一版结构太碎,从六张图展开讲了六件事,每件事讲两分半,十五分钟刚好。但六件事之间没有逻辑线。数据治理、对账重构、消息服务、字段映射、连接池优化、误报排查——并列的,没有主次。

第二版删了两件事,只讲数据治理、对账重构、误报排查。三件事,每件五分钟。逻辑线是:先有数据治理,再有对账重构,误报排查是过程中的一个插曲。读完之后他发现,误报排查占了五分钟,但这件事在纪衡看来已经结束了——顾源一句话就解决了,不需要讲五分钟。

第三版只讲一件事:结算错误率下降百分之八十四。从数据治理开始,到对账重构上线结束,中间所有技术细节只用一句话带过:「这个过程中遇到了一个问题,用了四天解决。解决方法来自架构组顾源的一句话。」

十五分钟,一件事,一个数字,一个故事。

他读了一遍,觉得可以。

第三版打印出来,对着墙讲了一遍。四分五十秒。太短。他加了两段:一段讲数据治理的底层逻辑——为什么字段对齐是必要的,不是因为技术原因,是因为三个表由三个人建的,没有统一规范。一段讲连接池调优的教训——从一百五调到两百再调回来,中间经历了什么。

第二遍,八分二十秒。第三遍,十一分四十秒。第四遍,他加了开头三十秒——一句话讲清楚为什么这个项目值得做:「结算系统在恒澜运行了六年,对账流程一直采用 T+1 模式。异常发现时间平均滞后二十四小时。现在这个数字是零。」

第五遍,十四分五十秒。他停了一下,又加了一句结尾:「以上是本次双月会汇报内容。谢谢。」

十四分五十八秒。

他坐在工位上,把这行字看了很久。没有通知任何人。关掉文档,收拾东西,回家。

星期六。何晚在客厅改试卷,红笔划得很快。

「你下周汇报?」

「嗯。」

「准备好了?」

「准备好了。」

「你以前说准备好了,实际上还没准备好。你现在说准备好了,我是信还是不信。」

陈稳去厨房倒了杯水。

「你可以信。」

何晚把红笔放下。

「你昨天什么时候回来的。」

「七点。」

「你早上什么时候走的。」

「八点。」

「你加班了三天。」何晚说,「你以前加班是因为做不完。你现在加班是因为想做得更好。」

「有区别吗。」

「有。前者是被动的。后者是主动的。」

陈稳端着水杯,靠在厨房门框上。

「你以前会说我变了。你现在不说了。」

「因为我说了太多次了。」何晚把一张试卷翻过来,「再说就没意思了。你变没变,你自己知道。」

陈稳喝完水,把杯子放在水槽边。

何晚把红笔拿起来,在试卷上划了一道。

「你周一汇报的时候,紧张吗。」

「有一点。」

「你以前会说不紧张。你说不紧张的时候,其实很紧张。你现在说有一点紧张,那可能是真的有一点。」

「你什么时候学会看人的。」

「我是老师。」何晚没有抬头,「我看学生看了五年了。你比学生好懂。」

星期天,陈稳没有出门。上午他把方案又读了五遍,每一遍都计时,稳定在十四分五十五秒到十五分零三秒之间。超出三秒的时候他剪掉了一句废话——「以上就是本次双月会汇报的全部内容」改成「汇报完毕」。省了三秒。

下午他打开记事本,翻到 10.14.1.88 那一页。工单状态:处理中。他刷新了一次,还是处理中。关掉记事本。

晚上他给何晚做了一顿饭。番茄炒蛋,青椒肉丝,一碗紫菜汤。

何晚吃了一口。

「咸了吗。」

「不咸。」

「上次你说咸了。」

「上次你放盐的时候在想明天的问题。今天你没想。」

陈稳夹了一口菜。确实不咸。

十一月二日,星期一,上午九点五十。

三楼会议室。纪衡坐在靠窗的位置,面前是一台笔记本。技术 VP 坐在纪衡对面,灰色衬衫,桌上放了一杯水,没有喝。蒋辉坐在技术 VP 旁边,面前摊着一本笔记本,没有打开。资深工程师坐在门口的位置,旁边是一个陈稳不认识的年轻人——可能是新来的。

陈稳坐在蒋辉旁边。

「你第几个。」蒋辉问。

「第一个。」

「好。」

纪衡把笔记本合上,看了一眼时间。

「十点。开始吧。陈稳先讲,十五分钟。」

陈稳走到投影幕布前。他把 U 盘插进电脑,打开文档。第一页,标题:结算错误率下降百分之八十四。

他看了全场一眼。纪衡在看屏幕。技术 VP 在看屏幕。蒋辉在看屏幕。没有人看他。

他开口。

「结算系统在恒澜运行了六年。对账流程一直采用 T+1 模式——当天产生的结算数据,第二天才能与商户数据完成比对。异常发现时间平均滞后二十四小时。」

他停了一下。

「十月二十八日,对账模块全量上线。实时对账切换完成后,异常发现时间从二十四小时降至零。结算错误率从百分之十一点七降至百分之一点八七,降幅百分之八十四。」

第一页翻过去,第二页是表格。

三列:指标、上线前、上线后。

结算成功率:99.98% → 99.99%。 异常率:11.7% → 1.87%。 对账服务 P99 响应时间:120ms → 40ms。 连接池使用率:97% → 61%。

他按顺序讲完,每行二十秒。两分钟。

第三页:数据治理。他讲为什么三个表字段不一致,为什么需要做底层对齐,六十八行 SQL 做了什么。三分钟。

第四页:对账重构。他讲从 T+1 到 T+0 的切换逻辑,事件驱动加增量比对的实现方式。三分钟。

第五页:误报排查。他讲灰度上线后遇到的误报问题,从三百七十条到十二条到一条到零条的过程。他提到顾源的名字,只说了两句话:「架构组顾源指出了根因。字段映射是静态配置,不需要运行时缓存。」

第六页:连接池调优。他讲从一百五到两百再调回一百五的过程,以及为什么调回来是必要的。两分钟。

第七页:问题与计划。他列了三行:误报率需持续观察至十一月中旬;字段映射配置变更需重启生效,正在评估热加载方案;对账模块下一步计划接入营销技术部剩余两条业务线。

他翻到最后一页。

「汇报完毕。谢谢。」

他看了一眼时间。十四分五十七秒。

纪衡没有翻笔记本,也没有拿起笔。他靠在椅背上,看着陈稳。

「你讲完了?」

「讲完了。」

「你讲了十四分五十七秒。你上次七分钟,上上次四分十二秒。这次你讲了十五分钟,没有超时,没有卡顿,没有废话。」

纪衡把这句话说得很慢,像在确认一件事。

「我问你三个问题。」

陈稳把手从鼠标上拿开。

「第一个。你刚才讲数据治理,三个表,六十八行 SQL,字段对齐。你做了多久。」

「一个周末。加上后续清洗,大概两周。」

「你一个人。」

「一个人。」

「第二个。你讲误报排查,顾源说了一句话,你删了一百八十九行代码。你自己查了多久。」

「四天。」

「你查了四天。他看了一句话。你学到了什么。」

陈稳想了一下。

「不是学到了什么。是想到了什么。」

「想到了什么。」

「不改的东西,不叫缓存。叫常量。这句话不只用在代码上。」

纪衡的眼神停了一下。

「第三个问题。你查了两个月的事,查到了吗。」

会议室里安静了一秒。

陈稳知道纪衡在说什么。10.14.1.88。工单。张毅。黄山的照片。

「没有。」

「那你打算怎么办。」

「等工单结果。如果工单查不到,找运维部直接问。如果运维部也查不到,查其他数据库的登录日志,看同一个人是否在其他地方有过类似操作。」

纪衡看着他。

「你在做这件事的时候,有没有影响你上线。」

「没有。」

「有没有影响你的正常开发。」

「没有。」

「所以你用了下班时间。」

「是。」

纪衡把笔记本打开,翻了一页,又合上。

「可以。」

一个字。

陈稳把 U 盘拔下来,放进口袋,回座位。

蒋辉在他旁边,没有看他,但陈稳听到他轻轻吸了一口气,然后慢慢呼出来。

十点四十五分,蒋辉开始讲。他的方案汇报了十二分钟,比预计少三分钟。纪衡没有问问题,技术 VP 问了一个数据源的问题,蒋辉答了。纪衡说「方案可以,按计划执行。」

陈稳坐在椅子上,听着蒋辉的声音,但脑子里在回放刚才的十五分钟。他记得自己说了什么,但不太记得自己是怎么说的。他记得纪衡说「可以」的时候,他听到自己的心跳,然后心跳慢慢落回正常。

十一点,纪衡合上笔记本。

「今天到这里。下半月计划周四前提交。陈稳的方案作为模板,发给组里所有人。」

陈稳愣了一下。

纪衡走出会议室。

技术 VP 走到门口,停了一下,回头看了陈稳一眼,没有说话,走了。

会议室里剩下几个人。资深工程师收好笔记本,看了陈稳一眼,点了一下头。

蒋辉坐在椅子上,没有动。

「模板。」

「嗯。」

「纪衡从来没有拿谁的东西当过模板。」

陈稳把 U 盘拔出来,放进口袋,出会议室。

十一点二十,陈稳回到工位。他打开记事本,写了两行:

十一月二日。双月会。十五分钟,没有超时,没有卡顿,没有废话。 纪衡说「可以」。方案作为模板发给组里所有人。

写完他看了一遍,觉得这两行字看起来不像真的。但他没有删。

他打开 OA 系统,查了一下工单状态。DB-20261028-0047。处理中。

他刷新了两次,还是处理中。他关掉 OA,打开监控大盘。结算成功率百分之九十九点九九。异常率百分之一点八七。一切正常。

十一点四十,手机震了一下。易文的消息。

「听说了。」

陈稳看着这两个字。他想起自己从准备到汇报完,没有给易文发过一条消息。没有问方案,没有问结构,没有问「你看一下吗」。

「没有让你看。」他回复。

「我知道。」

「你怎么知道的。」

「纪衡在全量方案上线的邮件上抄送了我的老板。我老板转给我了。他说,你带的人现在可以自己出方案了。」

陈稳把手机放在桌上。屏幕亮着,又暗了。

「你学会了吗。」易文又发了一条。

「学会了。」

「学会什么了。」

「学会自己写方案了。」

「这不是我教你的。你本来就会写方案。你只是不习惯在写完之后发出去。」

陈稳把手机拿起来,又放下。

「你什么时候学会的。」易文问。

「你什么时候教我的,我就是什么时候学会的。」

「我没教你。你学会的那天,是你自己决定不找我的那天。」

陈稳把手机翻过来,屏幕朝下,放在桌上。

下午两点,茶水间。他站在窗前,看着对面那栋楼。窗户密密麻麻,亮着灯。他想起十一个月前,他刚到恒澜的时候,每天下班都会站在这里看对面的窗。那时候他觉得对面那扇亮着的窗,是别人的生活。现在他还站在这里,但不再觉得那是别人的生活了。

他想起纪衡说的那句话:你学的东西,最后是你自己的,不是她的。

他想起易文说的那句话:你学会的那天,是你自己决定不找我的那天。

他想起何晚说的那句话:你变了,而且你知道。

他喝了一口水,把杯子放在水槽边,没有洗,走了。

下午三点,他回到工位。OA 系统弹出一条消息。

工单 DB-20261028-0047:日志已导出,共 1,847 条记录,正在分析中。预计完成时间:十一月三日 18:00。

他看了一眼,关掉。

还有二十六个小时。

他打开 IDE,找到对账模块的代码,翻到字段映射加载那一行。四十二条规则,启动时加载,零点三秒。他加了一行注释:-- 字段映射为静态配置,上线后无变更。如需修改,重启服务生效。

提交。commit message:chore: 字段映射加载加注释说明——静态配置,重启生效。

提交完,把 IDE 最小化,打开监控大盘。结算成功率百分之九十九点九九。异常率百分之一点八七。一切正常。

他打开记事本,在十月二十八日写的那一行下面加了一行:

十一月二日。工单日志已导出,1,847 条,分析中。预计明天出结果。

他往后靠了一下,椅背嘎了一声,和以前一样。

晚上七点,他到家。何晚在厨房,锅里在响。

「汇报完了?」

「完了。」

「怎么样。」

「纪衡说可以。」

何晚把火关小,转过身来。

「就这两个字?」

「方案作为模板,发给组里所有人。」

何晚把火关掉,把菜盛出来,端到桌上。

「你以前坐在那里,什么都不说。」她把筷子放在碗上,「后来你开始说了。现在你说完了,别人拿你的东西当模板。」

陈稳坐下,夹了一口菜。

「你变了。」何晚说,「但你已经知道了。」

陈稳把菜咽下去。

「我知道。」

「你什么时候知道的。」

「你上次说'你变了而且你知道'的时候,我还不确定。今天我知道了。」

「因为纪衡说可以?」

「不是。」

「那是什么。」

「因为我今天在会议室里,讲了十五分钟。我没有想过要找你。也没有想过要找易文。」

何晚端起碗,吃了一口。

「你以前需要一个人帮你。你现在不需要了。」

「可能还是需要的。只是不确定需要谁了。」

何晚把碗放在桌上,看着他。

「你这句话,是你自己想出来的。」

「是。」

「那你确实不需要了。」

晚上九点,陈稳坐在沙发上,手机亮了。蒋辉的消息。

「你那个工单,明天出结果?」

「嗯。」

「如果查出来了,你打算怎么办。」

陈稳看着这条消息。

「还没想好。」

「如果查出来是那个人,你打算怎么做。」

「先确认是不是他。」

「然后呢。」

「然后再说。」

蒋辉的回复很快。

「你上次说,什么时候说比说什么重要。你记住这句话。」

陈稳把手机放下。

天花板上那道裂缝还在。物业说「不影响结构」。裂缝比他来的时候宽了一点,但物业还是说「不影响结构」。

他想起自己刚到恒澜的时候,躺在这张沙发上,看着这道裂缝,觉得自己和这道裂缝一样——不影响结构,所以没人管。

现在裂缝还在,但他不在了。

他不知道自己去了哪里,但知道自己不在原来的位置了。

他把手机拿起来,打开记事本,在最后一行写:

十一月二日。双月会。十五分钟。纪衡说可以。方案作为模板。 工单 1,847 条日志,分析中。 何晚说:你变了,而且你知道。 蒋辉说:你记住那句话——什么时候说,比说什么重要。

窗外的路灯亮着,光从窗帘缝隙里照进来,落在地板上,一道淡黄色的线。

天花板上的裂缝,还是在那里。


← 第二十七章 84% · 目录 · 第二十九章 B+ →