第十二章 · 背C¶
八月二十八日,星期五,下午四点零二分。纪衡的邮件标题是六个字:绩效沟通时间确认。
正文一行:陈稳,下周一上午十点,三楼小会议室,半小时。落款:纪衡。
半小时。陈稳查过日历,纪衡上半年跟他单独开过两次会,一次十分钟,一次七分钟。这一次是半小时。
他回了一个字:好。
记事本上,「问易文,今晚能不能打个电话」那行还在。汇报是今天上午的事,中间隔了六个小时,易文一个字都没有回。
他把那行删了,重新写了两行:
"纪衡说没有重点。怎么改。" "需要把数据之间的关系讲清楚。"
第二行是他自己替易文写的答案。他没有发出去。
配置变更检测的代码十五行,逻辑正确,没有 bug。他从上线那天起读了十九遍,每一遍都没有找出问题,因为它确实没有问题。
星期六他睡到九点。一碗粥,一个鸡蛋,喝完胃没有反应。手机上没有新消息。阳台外面是白天,对面楼所有的窗都是亮的,看不出哪一扇原来是黑的。
十点十一分,他给何晚发了一条消息:今天有空吗。
何晚没有回复。
厨房的水是凉的,胃缩了一下,他没停,一口气喝完。
他给配置变更检测加了一行注释,删掉,换了一句措辞不同的,又删掉,恢复原样。commit 没有产生。
下午三点,何晚回了:在改试卷。明天?
陈稳回了一个字:好。
星期日。何晚住浦西,老小区,六楼,没有电梯。他在门口站了大概二十秒才敲门。
何晚开门,白色短袖,头发扎起来,戴着眼镜,右手还捏着一支红笔。
"还有试卷没改完。"
客厅茶几上堆着一摞卷子,三十多份,每份上都有红笔的痕迹。何晚在沙发上继续改,红笔在纸上划,沙沙的。
"你们学校什么时候考试。"
"前天就考完了。"她没抬头,在一份卷子上划了一道,写了个分数,"但过完周末就要讲,改不完。"
一道选择题她只花一眼,填空题两秒,解答题十几秒。改完一份放到左手边。左边那一摞比右边高得快。
"你上次说,你们那个汇报,怎么样了。"
"讲完了。"
"然后呢。"
"他说没有重点。"
红笔在纸上停了一下,划下去的那道比前面几道长。
"你那个公司,最近怎么样。"
"还行。"
"还行是什么意思。"
"就是还行的意思。"
何晚放下红笔,把眼镜往上推了一下,又拿起笔。
"你上次说,你那个同事,老梁,他走了。"
"走了。"
"走了之后呢。"
"来了三个新人。"
"能干活吗。"
"还在学。"
这句话不完整。三个新人来的第二周,有一个叫小张的来问过他值班告警怎么看,陈稳说了一句"你看 alert 表第三百二十行的逻辑,自己跑一遍"。小张跑了两天,没跑通,后来去问了蒋辉。蒋辉给他画了一张图。
这件事陈稳知道。他没有告诉何晚,也不打算告诉纪衡。
红笔的声音停了。最后一份卷子放到左边那摞上,何晚摘下眼镜,揉眼睛。
"改完了。"
"嗯。"
"你吃饭了吗。"
"还没。"
"我做点面,你吃吗。"
"好。"
厨房里水响,水开,水沸,关火。两碗面端出来,一碗辣椒多一点,一碗辣椒少一点。陈稳那碗没有葱。何晚记得。
面有点硬。咸的,热的。
"好吃。"
"嗯。"
碗收进厨房,水龙头开了又关。何晚回到沙发上,拿起手机看了一会儿,放下。
"你周一要上班吧。"
"嗯。"
"那早点回去。"
"好。"
他在门口穿鞋。何晚站在旁边。
"你那个公司,要是太累了,就别干了。"
陈稳明天上午十点有一场半小时的会。这件事他没有说,因为说了她就会问是什么会,而他不知道该怎么把"绩效沟通"这四个字解释成一件不重要的事。
他系好鞋带,说了一声"走了",推门出去。门锁咔哒响了一声。楼梯间里只有他的脚步声,一层一层往下。
星期一,八月三十一日,上午九点五十五分。
三楼小会议室的空调开着,桌上两瓶水,一个笔记本,一支笔。窗外是隔壁那栋楼的灰墙,墙上一排空调外机,嗡嗡响。
九点五十九分,纪衡进来,手里一个蓝色文件夹,封面印着恒澜科技的 logo,四个字,蓝色,跟陈稳工牌上的颜色一样。
"陈稳。"
"嗯。"
"你来了恒澜多久了。"
"十一个月。"
"十一个月。"纪衡把文件夹翻开,手指压住其中一页,"你上半年的绩效,按照你当时的 OKR 和实际产出,综合评估,结果是 C。"
去年入职那天,HR 给他讲过评级分布:A 占百分之十,B 占百分之七十,C 占百分之二十。这两个数他到今天才想起来。
"C 的意思,你明白吗。"
"明白。"
"你今年的调薪和奖金,都没有了。半年内如果绩效没有提升,触发 PIP。"
"嗯。"
纪衡等了大概四秒。桌上那支笔没有动过。
"你需要知道,为什么是 C。"纪衡的手指移到下一行,"你上半年做了三件事。第一件,settle.guard 拦截器,这东西不错,但它不是你的 OKR,它是你临时加的。你做了,做得好,但这个不在你的绩效目标里。"
"第二件,规则引擎调度接入,你在做,但效果没有数据支撑,只说了一个调度成功率百分之百,但这个数字没有意义,因为调度量本来就小。"
调度量一天平均一百二十六笔。这个数陈稳记了三十四天。纪衡说得对,一百二十六笔的百分之百,证明不了任何东西。
"第三件,价值量化,你写了三版,方向对了,但最终版本还是不够——你讲的是技术指标,不是业务价值。"
"你上半年的 OKR 是三条:结算系统稳定性提升、事故响应时间缩短、新人培养。第一条你做了,但数据只有三十天,不够。第二条你做了,但你没有在汇报里讲清楚。第三条……你没有做,因为三个新人来了之后,他们直接去找蒋辉了,没有来找你。"
小张来问过。第三百二十行。跑了两天没跑通。
蒋辉的工位在他斜对角第三排,中间隔着一根承重柱。三个新人去问蒋辉的时候要绕过那根柱子,从他背后走过去。八月里这件事发生过十一次,他每次都听见了脚步声,没有回头。
这三句话陈稳可以说出来。说出来之后纪衡会问:"你为什么让一个刚来两周的人自己去看第三百二十行。"这个问题他答不上来,因为答案是"当年老梁就是这么教他的",而老梁已经离职了,用一个离职的人当理由,在这张桌子上不成立。
他把那三句话留在嘴里。
"我不是在说你做得不好。你做了很多,但你的产出,没有被人看到,也没有被记录到你的绩效目标里。"
纪衡停了一下。文件夹还开着,那一页上有一半是空白的。
"你有问题吗。"
他有。他想问的是:拦截器拦下来的四千二百一十七次,为什么算不进任何一栏。他把这句话在嘴里过了一遍,长度是十七个字。
四千二百一十七次里,有三百零六次是同一个商户的重复提交。那三百零六次如果没拦住,按平均单笔金额算,是十一万四千块。这个数他算过,写在记事本第二页,没有给任何人看过。
十七个字说出去,纪衡会给出一个答案,而那个答案他其实已经知道了——因为它不在 OKR 里。他不想听第二遍。
"没有。"
纪衡合上文件夹。
"下周一之前,把下半年的 OKR 重新写一下,发给我。"
"好。"
门关上的时候咔哒了一声,跟前天晚上何晚家的门是同一种声音。
空调的冷风吹在他手背上。桌上那瓶水一直没有动,瓶身上凝的水珠滑下来,在桌面上留了一道细水痕,从瓶底往外,四五厘米长。
他拧开水喝了一口,凉的,胃缩了一下。
记事本上多了两行:
"纪衡说绩效 C,没有调薪,没有奖金,半年内触发 PIP。" "下周一前交下半年的 OKR。"
配置变更检测的告警阈值原来是三十分钟。他改成二十分钟。
commit 8f3a1e2
Author: Chen Wen
Date: 2026-08-31 10:32
feat: 配置变更检测告警阈值从 30 分钟调整为 20 分钟
纪衡在绩效沟通中说产出不够。这个改动无关绩效。
推送成功。CI 绿灯,四十七秒。
茶水间的水是凉的,胃缩了一下,他没停,喝完,杯子放进水槽,没洗。对面那栋楼,三楼五楼七楼八楼九楼都亮着。他看了十一个月的那扇窗,还是黑的。
易文的消息发在十点四十一分,比他的 commit 早五十一分钟。
"怎么样。"
陈稳打了几个字,删掉,又打,又删掉,最后发了三个字。
"结果 C。"
易文没有回复。
记事本上又多了一行:
"纪衡说:'你的产出,没有被人看到,也没有被记录到你的绩效目标里。'"
引号里的字他抄了两遍,第一遍漏了"也没有被记录到"这半句,他删掉重抄。
下午他写下半年的 OKR。纪衡的模板是三个空框,每个框下面一行小字:关键结果需可量化。
目标一:结算系统稳定性提升。关键结果:拦截器全量运行持续六个月,零事故。基线:当前已运行三十天。目标持续到明年二月。
目标二:新人培养。关键结果:两个新人可以独立处理值班告警,一个新人可以独立完成结算对账模块的日常维护。基线:当前三人均不能独立处理。时间:十二月前。
目标三:结算系统对账模块重构。关键结果:完成对账模块的技术方案评审和核心链路重构,对账错误率下降百分之五十。基线:当前未测量。时间:明年三月前。
第二条他写了四遍。第一遍写的是"完成三名新人的技术带教",删掉,因为不可量化。第二遍写的是"新人独立值班比例达到百分之六十六",删掉,因为三个人的百分之六十六是两个人,写成百分比像是在遮什么。第三遍写成两个人,加了"独立处理值班告警"。第四遍加上了后半句。
他保存,没有发出去。今天是星期一,纪衡给的期限是下周一。
记事本最后一行:
"周三前把 OKR 发给纪衡。"
晚上七点四十分的地铁很挤。他抓着扶手,隧道是黑的,站台的灯扫进来,亮一下,暗一下,规律的。
到家没有开灯。冰箱里一盒牛奶,两个鸡蛋,一把青菜,一瓶老干妈。牛奶后天过期,他倒了一杯,凉的,胃没有反应。杯子洗了,放回架子上。
手机放在茶几上,屏幕朝上。他翻到通讯录,何晚的名字,点进去,对话框最后一条是昨天下午的"好"。他退出来,把手机放回茶几。
窗外的光从亮变暗,从暗变黑。对面楼的灯一格一格亮起来,像是有人在按开关。
十一个月,一千个夜晚不到,那一扇一直是黑的。
八点五十分他打开电脑。配置变更检测告警的时候,只告诉你"配置不一致",不告诉你不一致的是哪一版。他加了一行日志,把当前配置文件的哈希值打出来。
commit message 的第二行他写过一句"这样下次就知道是谁改的",删了。哈希值只能告诉你改成了什么,不能告诉你是谁改的。索引那件事到现在也只有一条 root@localhost,没有 Git 提交记录。
床上,天花板上那道裂缝还在,从角落斜到中间。物业说,不影响结构。
星期二,九月一日,上午八点四十分。连接池使用率百分之六十七,比昨天低了一个点。
九点二十三分,他把 OKR 发了出去。收件人:纪衡。主题:2026下半年OKR——陈稳。三条目标,一条一段,每段里有数字、时间、基线。
发送成功。距离纪衡给的期限还有六天。
配置变更检测现在是十六行。拦截器数据表今天多了一行,拦截次数没变,通过率百分之百。
结算对账模块的核心方法四百多行,他每一行都看过,每一行都知道在做什么。第一百八十七行到第二百四十行是逐笔比对的循环,T+1 跑一次,每次要跑四十分钟。
四十分钟是从凌晨两点跑到两点四十。这四十分钟里,前一天的账是不准的。如果商户在这个窗口里查账,看到的数字对不上。
三百多天里没有商户在这个时间查过账。这不代表以后不会。日终任务的失败概率是万分之三,他自己算过一遍,没有跟任何人说。
他在循环上面加了一行注释:
commit b0a9c8d
Author: Chen Wen
Date: 2026-09-01 09:23
chore: 对账模块添加重构 TODO 注释
下一个版本计划做 T+0 实时对账,需要重构核心比对逻辑。
九点五十一分,纪衡回复了。两个字:收到。
记事本上多了两行:
"OKR 已发给纪衡,回复:收到。" "对账模块开始看,加了一个 TODO 注释。"
窗外那排空调外机还在嗡嗡响,声音从窗缝里挤进来,低沉,连续。他听了十一个月,不觉得吵。
十点零七分,日历弹出一个新邀请。
主题:营销结算对账系统解耦——跨部门项目会。时间:明天下午两点。发起人:纪衡。必选参加人两个:陈稳、蒋辉。
抄送名单里有一个他不认识的名字,营销技术部,周其正。
← 第十一章 第一次汇报 · 目录 · 第十三章 易文 →