跳转至

第三章 · 转岗

八点五十一分,屏幕右下角弹出一条未读。

标题:组织架构调整通知(2026-07-16)。

正文第一段:即日起,原商业中台结算组并入交易中台事业部,梁栋调任技术支持中心负责人,结算组日常工作暂由纪衡直管。

第二段列了几个人的新归属。结算组六个人,四个人的名字出现在新组织架构图里,老梁的名字不在。

第三段是生效时间:今天。

谁定的,什么时候定的,通知里没写。发件人是 HR 系统,不是人。

发送时间八点四十七分。他开机是八点五十,也就是说这件事在他到之前三分钟就已经生效了。

昨天下午老梁还在停车场抽烟,说了十一年,说了七个系统,说了自己不会的东西。老梁昨天原话是"我要是知道,我现在就不是这个绩效了"。他昨天不知道。

他往下滑,想找老梁的告别邮件。没有。

没有告别邮件,没有群里的告别,没有"感谢大家十一年的支持"。老梁大概也不知道,或者知道了但不想写。

群里还没人说话。

九点零三分,有人发了一个"收到"的表情。

九点零七分,有人发了一个握手。

陈稳的输入框里光标在闪。他打了两个字:收到。

然后他删掉了。

因为"收到"这两个字看起来太像纪衡。纪衡两个字,他收到两个字,像在模仿。

他重新打了一个"收到"。

又删了。

他打了"好的"。

删了。

他打了一行:"梁哥,技术支持中心在哪栋楼"

然后删了。这太长了,而且不该在群里问。

他最后什么也没发。

他把通知窗口关掉。


十点,邮件进来。

是同组的一个人转发了一封全公司的——不是,是技术支持中心发的一封欢迎邮件。收件人是梁栋,正文是模板,五个段落,三个错别字,落款是技术支持中心 HRBP。

老梁转发了这封邮件,收件人只有结算组,正文一行:

收到很多关心,统一回复:不是离职,是换个地方干活。工位还在 A 座,四楼搬到三楼,三个楼层。有事找我就下来,或者群里喊一声。

陈稳读了三遍。

"不是离职"——所以老梁没有走。"换个地方干活"——听起来像是他自己选的。

但老梁昨天说的是"我要是知道,我现在就不是这个绩效了"。他昨天还不知道自己会被调走。

陈稳把邮件转发给自己,加了个星标。和纪衡那封"收到"放在一起。


十一点,纪衡在结算组群里发了一条消息。

下午两点,A 座 12 楼 1203 会议室,结算组全员。新季度对齐。

六个人回了"收到"。

陈稳也回了"收到"。他多打了一个句号。


中午食堂,排队的时候蒋辉在他前面隔了四个人。

蒋辉在跟一个陈稳不认识的人说话,那人工牌是蓝色的,不是技术线。蒋辉侧过身,两只手比了一个方框,说到一半笑起来。转头看见陈稳,抬了一下下巴,接着说他的。

陈稳挑了靠垃圾桶那一排的位置。菜是四块钱的番茄炒蛋加一份米饭,米饭有点硬。

他吃到一半,斜对面的椅子被拉开。是昨天茶水间那个人,易文。

"这儿有人吗。"

"没有。"

她把餐盘放下,坐到他斜对面。她吃的是沙拉,用叉子拨拉了两下,皱了皱眉。

"你们组那个梁栋,调走了?"

"嗯。你知道吗,他昨天下午约了我一个同事聊了一下午。"

陈稳停了一下筷子。"聊什么。"

"不知道,我同事没说。但一般下午约人聊,都不会是好事。"她说完,继续吃沙拉。

陈稳把筷子在盘子边上磕了一下,磕齐了。这件事他也知道一点——老梁昨天下午三点二十从工位上拿走了那个笔记本,四点半才回来,回来的时候手里多了一张打印纸,反面朝上。陈稳当时在编译,没有问。

过了大概半分钟,她说:"你那个 MR 谁在 review。"

"换了一个人。换谁了。组里一个资深工程师。"

"纪衡没过?"

"我没填他。"

"你填谁不填谁,他都看得到。"她把叉子放下,"MR 有邮件通知,默认发全组。"

这件事陈稳不知道。他以为只有 reviewer 收得到。

他把最后一口饭吃完。

"走了。"他说。

"嗯。"

回收处的铝盘碰到不锈钢台面,响了一声。食堂里人已经少了,打菜窗口的灯关了一半。窗外地面停车场晒着一排车,反光刺眼,最里侧那辆灰色的车是老梁的,昨天下午他就是坐在那辆车的引擎盖旁边抽烟。车还在。

老梁昨天说"我看了两遍"。老梁是特意去看的。今天早上那个 MR 页面,浏览记录显示有两个人点进去过。

另外那一个是谁,页面不显示。


一点五十,1203 里已经坐了一半的人。

1203 是这个楼层最大的会议室,能坐二十个人。今天来的不止结算组——他数了一下,大概十五个,有几个他没见过,工牌是别的颜色。

纪衡在长桌主位,笔记本没合,屏幕朝外,是一张 Excel,密密麻麻的小字。他不看手机,不看电脑,就是等着。

陈稳挑了靠门的位置。

他右手边那个人他不认识,三十出头,戴眼镜,正在笔记本上敲字,敲的是一份会议记录模板,第一行已经打好了标题和日期。那人抬了一下头,接着敲。

陈稳的胃紧了一下。不是疼。他喝了一口水,压下去。

两点整,纪衡把电脑合上。

"开始。今天两件事。第一,组织调整。大家应该都收到了通知。"

他停了一下。没有人说话。

"梁栋去技术支持中心,那边需要一个熟悉业务的人。结算组暂时由我直接带。不做重组,不做优化,不空降人。你们原来做什么,现在还做什么。第二,新季度。我上周来的,这周正式入职。之前我在云计算那边做了五年,互联网中台不是我的领域。所以这一个季度我的主要任务是理解你们在做什么。"

他打开了投影,投了一张图。

是一张组织架构图,不是今天通知里的那张——那张是 HR 的版本,只有汇报线。这张图上有每个系统的名字、每个系统的负责人、每个系统上个月跑了多少笔交易。

陈稳看到自己的名字出现在"结算核心链路"下面。

"这张图是我自己画的,可能不对。你们帮我改。"

图留在投影上。

"先从结算组开始。你们手里的系统,每个人讲一下,不超过三分钟。"

没有人动。

过了大概五秒,蒋辉第一个开口。

"我先来吧。"

他到投影前面去,两手空着,没拿笔记本,没拿手机。他讲了大概两分钟,讲了营销结算适配层的几个模块,讲了昨天上线的情况,讲了"0 资损"。他讲的时候一直朝着纪衡,不看 PPT,不看其他人,像一个在汇报的人只面对那一个需要面对的人。

纪衡没有打断。

蒋辉讲完,纪衡问了一个问题:"营销结算那边,每个月处理多少笔?"

"上个月统计是四十七万笔左右。平均每笔金额大部分是小额,一两百到两三千。大宗业务的单笔金额会高一些,但我们那边走的是另一条链路。"

纪衡在笔记本上打了一行字。

"下一个。"

陈稳的心跳了一下。座位顺序绕过来,他大概是第四个。

第一个讲的是蒋辉。第二个是结算组另一个做渠道对账的,讲了三分钟,讲了三个渠道的接入情况,讲了两个数据源不一致的问题。纪衡问了两个问题,那个人答了一个,另一个答不上来,说"这个我回去查一下",纪衡说"好"。

第三个是一个做资金报表的,讲了两分钟,纪衡一个问题都没问。

然后轮到陈稳。

投影上那张组织架构图还亮着。"结算核心链路"下面第一个名字是他的,字号比别人小一号,因为那一格塞了三行字。

"我负责结算核心链路。"

他停了一下。

"上个月跑了九十二万笔。平均日处理三万笔左右。峰值在月末最后三天,日处理六万到七万。"

他感觉自己的语速比平时快了一点,他压了一下。

"链路目前稳定。没有资损。延迟在正常范围内。"

他讲完了。

他大概说了不到一分钟。他说的每一句都是真的,但他说完之后他觉得自己好像什么都没说。

纪衡看着他。

"你那个 guard 拦截器,我看了。"

陈稳愣了一下。"昨天 push 的?"

"嗯。代码写得很干净。"

陈稳张了一下嘴,说了一句他自己也没想到的话。"你看了?"

"我看了。"纪衡说,"你那个 commit message 写得太长了,所以我就点进去看了一眼。"

会议室里有人笑了一声,很小声,但陈稳听到了。

"我调了你那个单元测试,跑了一遍。全都过了。十七个。你覆盖率写了吗。"

"覆盖率报告没生成。"

"生成一下,粘到 MR 描述里。"

"好。"

纪衡在笔记本上打字,字数比刚才给蒋辉打的那一行多。

"下一个。"

陈稳的手心有点汗。他把手放在膝盖上,没有擦。

刚才那句"你看了?"不该问。这是他一整个下午里唯一一句多出来的话,会议记录模板上现在应该已经有了。

右手边那个戴眼镜的人到前面去讲,讲的是架构组那边的几个共享服务,语速很慢,每一句之间有两三秒的停顿,像是在确认自己说对了才往下说。纪衡不打断他,一个问题都没问,只是听。他讲完,纪衡说了一句"好"。


散会之后,陈稳在走廊上被纪衡叫住了。

"陈稳。"

他停下来。

"你那个 MR,reviewer 是谁。"

"组里一个资深工程师。"

"谁指派的。"

"我自己。"陈稳等了两秒,补了一句:"我原来填的是老梁,但他今天调走了。填你,你太忙。我就填了组里最资深的那个人。"

"你们组最资深的人是谁。"

"……我不知道。"

纪衡点了一下头,像是得到了一个他早就知道的答案。"你查一下,然后再决定给谁。"

"好。"

纪衡拐进了另一个会议室,门上的电子牌显示:交易中台事业部 · 内部(14:30-16:00)。会议已经开始了半小时,也就是说他刚才那个全员会是在两个会中间挤出来的。

洗手间里没有人。镜子里他眼睛下面有一道印子,是刚才趴在桌上压出来的。用手背蹭了一下,没蹭掉。

MR 页面还开着。reviewer 那栏是空的,他昨天填的那个名字系统没保存——因为 MR 还没提交。

他重新填上那个人的名字,把覆盖率报告跑了,粘到描述框里。行覆盖 91.2%,分支覆盖 84.6%。

提交。


下午三点五十,通知栏弹出一条消息。

不是群消息,是那个人给他的 MR 写的回复。

他点开。

回复内容只有一行:

逻辑没问题,但配置项 settle.guard.windows 的格式没有校验——如果传了一个不合法的时间段,会直接抛空指针。建议加一个校验器。

陈稳看着这一行字。

他写配置项的时候确实没有做校验。他只是在配置类里定义了一个 List,然后直接拿去做时间解析。如果有人传了"25:00"或者"ab:cd",那个解析器会炸。

他回了两个字:收到。

然后他打开代码,开始写校验器。


六点四十,他还在改。

校验器写完了,但他发现一个问题——配置项的设计本身有缺陷。他定义的是"02:00-04:00"这种格式,但如果有人想配两个不连续的时间段,比如中午和凌晨,他现在的配置项只支持一个字符串。

他翻了三个其他项目的配置实践,确定了格式:支持多段,以逗号分隔,比如"02:00-04:00,14:00-15:00"。

他改了配置类的定义,改了校验器,改了测试用例。

十七个单测变成二十三个。

他重新跑了一遍,全绿。

他把这版 push 上去,在 MR 下面回了一条:

已加校验器,格式改为多段支持,单测补充到 23 例。

他按了发送键。

然后他发现,他今天没有想起来老梁。一整天,他一直在想那个校验器,那个配置格式,那个 MR 的回复。

他一直到这会儿才注意到,老梁的工位空了。

不是搬空的——桌面上的东西还在。搪瓷杯还在,杯口那块磕掉的瓷朝外。笔记本合着,电源线插着。桌上压着一张打印的 OKR,被杯子压住半页,露出来的那半页上,季度目标那一栏写的是"稳定运行",四个字。

只是人不在了。

监控大盘第三行第二格。成功率 99.98%,绿线,平的。

他刷新了一下。还是 99.98%。

又刷新了一下。还是。

他把窗口关了。手指在触摸板上多停了一秒。

老梁昨天说"东西不会说话"。老梁不在这里了,绿线还是同一条绿线。


八点,收拾东西。

搪瓷杯离他手边二十厘米。他拿起来,杯底有一层褐色的茶垢,沉淀了很多年,像一个地层剖面。杯口那块磕掉的瓷,边缘磨圆了,不扎手。

他放回去,位置跟原来一样。

电梯从 12 楼下来,门开,里面站着一个人。是会议室坐他右手边的那个。

"下班?"那个人说。

"嗯。"

电梯门关上。

"你那个拦截器,谁写的?"

"我自己写的。"

"我知道。我的意思是,写这个的时候,参考什么了。"

"没有。就是一个时间窗判断。"

"那你在公司待了多久。"

"十一个月。"

"十一个月,你写了一个网关拦截器。"

楼层数字往下掉,15,14,13。陈稳把工牌绳在手指上绕了一圈,又松开。

"你之前做什么的。"

"毕业就来了。"

"哪个学校。"

"……"

"你不是结算组的。"他说。

"不是。我是架构组的,今天过来旁听。"

"哦。"

"顾源。"那个人说。

电梯到 1 楼,门开。顾源出去两步,回头。

"你那个校验器,如果时间窗是跨天的,比如 22:00-02:00,你处理了吗。"

陈稳想了一下。"没有,我写的是 02:00-04:00。"

"那你改一下。"

顾源朝停车场去了,背影拐进地下车库的入口。

陈稳没有下班。

工位上,他在那个配置类里加了一行注释:

// 当前仅支持单段标准时间窗(02:00-04:00)
// TODO: 支持跨天时间窗(22:00-02:00),需修改校验器和配置类

保存。

然后他在手机备忘录里加了一行:

时间窗跨天校验。v2。

老梁的工位那边,屏保还在走,一格一格地推着公司的 logo 撞屏幕边框。电源线插着,笔记本合着,人不知道明天还回不回来。

那杯茶垢在里面还是深褐色的。


← 第二章 有人在看 · 目录 · 第四章 送别 →