跳转至

第四章 · 送别

第二天,周五,陈稳到工位的时候,看到老梁的搪瓷杯还在。但桌上多了张纸,手写的,压在键盘下面。

他走过去,拿起来看。

今晚七点,单位对面那家湘菜馆,包间在二楼,叫“竹溪”。结算组都来,我请。

是老梁的字。笔画很重,第二行写歪了,最后三个字挤在纸边上。

陈稳把纸折好,放回键盘下面。他坐下来,打开电脑,看了一眼邮箱。新的邮件,主题是规则引擎的调度服务升级通告,抄送他,发件人他不认识。

他点开,读了一遍,关掉。

他打开 IDEA,昨天的 MR 还在。他看了一下那个 TODO 注释——跨天时间窗,二十二点到凌晨两点。顾源说要在校验器里处理。但校验器已经提交了,拦截器也跑通了,那个 TODO 只是注释,不是代码。

他想了想,把光标放在 TODO 那行,敲了几行。

他写了一个新的时间解析器,支持跨天段。然后他发了一条消息给 MR 的那个 reviewer:

时间窗配置类增加了跨天支持。单测新增 3 例。要不要合进来,还是单独提一个 MR。

那个人回得很快:单独提,合进来了就不好回了。

他回了一个“好”,然后新建了一个分支,把跨天支持移过去,提交。空的 MR,先放着。

他看时间,十点十五分。

他打开监控大盘,第三行第二格,绿线,平的。刷新了一下,平的。

他把窗口缩小,开始看规则引擎那封邮件的附件。附件是一份技术方案,PDF,二十页。他翻到第三页,看到了一张架构图。他盯着那张图看了五秒钟,确认了一个事情——这个调度服务和结算系统的定时任务用的是同一个资源池。

他关掉 PDF。

下午三点,群里有消息。

是结算组做渠道对账的那个人发的:“老梁说七点,对面湘菜馆,包间竹溪,收到扣 1。”

陈稳打了“1”,发了。

然后他看到蒋辉回了一个:“收到,今晚最后一个到的人买单。”

后面跟了三个表情,一个笑,一个抱拳,一个啤酒。

陈稳没有回复。

他看了一眼手机,何晚下午两点发了一条消息:“周六有什么安排?”

他回了一个:“今晚部门聚餐,老梁请客。”

他等了一会儿,没有回复。

他把手机翻过来,屏幕朝下。

六点四十,他站起来,收拾东西。他把电脑锁了,屏幕灭掉,工位上的东西没有动。他站起来的时候看了一眼老梁的工位——搪瓷杯还在,手写的那张纸还在,键盘的位置没有变过。

他走到电梯口。电梯从 12 楼下来,门打开,里面没有人。

他进去,按了 1 楼。

电梯门关上的时候,他看了一眼楼层按钮面板上的倒影。

他走出大楼,往对面走。湘菜馆在马路对面,要走一条斑马线。他等红灯的时候,看到马路对面已经有两个人站在湘菜馆门口。一个是他不认识的人,另一个是蒋辉。

蒋辉也看见了他,朝他招了招手。

灯变了,陈稳走过去。

“你今天走挺早。”蒋辉说。

“嗯。”

“老梁还没到,先进去坐。”

他们上了二楼,进了包间。包间不小,一张大圆桌,能坐十二个人。桌上已经摆了一盘花生米和一盘凉拌黄瓜。空调开得很低,冷气从头顶的出风口往下吹,陈稳的肩膀凉了一下。

他选了一个靠墙的位置坐下。蒋辉坐在他旁边,对面是圆桌的另一边,现在还空着。

陆陆续续有人来。结算组六个人,加上做渠道对账的那个,做资金报表的那个,还有一个做营销结算的——陈稳不认识他,但蒋辉认识,他们聊了两句,陈稳才知道他是营销结算那边的,刚调过来,跟他们组有对接。

七点零三分,老梁来了。

他推门进来的时候,手里拎着一个塑料袋,里面装着两瓶白酒。他穿着一件短袖的格子衬衫,领口有一块洗不掉的印子,头发比平时乱了一点,像是刚睡醒。

“抱歉,来晚了。”他把酒放在桌上,“楼下超市买了点东西。”

有人起哄:“老梁你今天请客还迟到,自罚三杯。”

老梁笑了一下,没接话。他坐下来,位置是圆桌的主位,正对着门。他坐下之后,看了一眼桌上的人,点了一下头,像在数人头。

“都来了。”他说。“那就点菜。”

菜单传了一圈。陈稳接过菜单的时候,翻了两页,点了一个蒜蓉空心菜,然后把菜单递给旁边的人。

老梁说:“加个剁椒鱼头,再来个辣椒炒肉。他们家的招牌。”

菜上得很快。剁椒鱼头端上来的时候,热气散开,辣椒的味道冲了一下陈稳的鼻子。他吸了一下,没打喷嚏。

老梁给自己倒了一杯酒,站起来。

“来,先喝一杯。”

所有人站起来,杯子碰了一下。陈稳杯子里是茶,他没喝酒。老梁看到了,没说什么。

“第一杯,感谢大家这十一年。”老梁说,“不对,是感谢大家在我的十一年里。”

他仰头喝了一半。

有人笑:“老梁你今天说话怎么这么文绉绉的。”

“我本来就文绉绉的,你们不知道而已。”

大家又笑。陈稳没笑,他喝了一口茶,茶的苦味从舌尖蔓延到舌根。他把杯子放下。

老梁坐下来,夹了一筷子鱼头,吃了一口,说:“还行,没变味。”

陈稳坐在自己的位置上,没有说话。他夹了一块辣椒炒肉,吃了一口,辣味在后脑勺顶了一下。他喝了一口水。

上菜之前,所有人都在聊天。聊的内容从最近的系统升级,到技术支持中心到底在哪栋楼,到老梁新带的团队有几个人。老梁边吃边答,说技术支持中心在 A 座三楼,他现在带六个人,比结算组还多一个,但大部分是新人,要重新带。

“那不就是重新带一拨人。”做渠道对账的那个人说。

“差不多。”老梁说,“但那边的东西不复杂,接入层的东西,逻辑比结算简单。”

蒋辉说:“那也不一定,接入层的坑多,数据量大了之后,什么幺蛾子都有。”

“那倒是。”老梁点头。

陈稳低头吃菜。他注意到老梁说话的时候,左手一直在摸杯沿,拇指沿着杯口转了一圈,又转了一圈。他以前没见过老梁做这个动作。

饭吃到一半,有人提了一个话题:老梁在恒澜十一年,最难忘的是什么。

老梁想了想,说:“最难忘?没想过。应该是某一次上线吧,三四年前,凌晨三点上线,上了四个小时,上完天都亮了。我下楼买包子,包子铺刚开门,第一笼包子还没蒸好,我等了十五分钟。那天的包子特别好吃。”

没有人说话。大概过了两秒,蒋辉说:“老梁,你这说了跟没说一样。”

“事实就是这样。”老梁说,“难忘的事情就是一些很小的事情,大的事情你记不住。”

陈稳把这句话记了一下,没有说出来。

又过了一会儿,老梁的酒喝完了第一杯,他给自己倒了第二杯。

陈稳注意到旁边的蒋辉站起来,举杯走到老梁旁边,说:“老梁,我敬你一杯。”

老梁站起来,两个人碰了一下杯。

蒋辉喝完,说:“老梁,我跟你说的那个事,你考虑一下。”

“什么事。”

“那个。”

蒋辉笑了一下,没说下去。老梁也没有追问,把酒喝完,坐下来。

陈稳不知道他们在说什么。他看了一眼蒋辉,蒋辉的表情跟刚才一样,笑着,看不出什么。

他继续吃菜。剁椒鱼头已经吃了一半,鱼骨头露出来,白森森的。辣椒油在盘底凝住了,因为空调太冷。

八点四十,有人开始看手机。做渠道对账的那个人说家里小孩发烧,要先走。老梁说:“赶紧走,别耽误。”那个人站起来,说了几句客套话,走了。

又过了二十分钟,做资金报表的那个人也走了,说周末要回老家。

剩下六个人。老梁,陈稳,蒋辉,营销结算那个新人,还有两个陈稳叫不出名字的——一个是结算组做测试的,一个是另一个组过来串门的,陈稳不知道他为什么在。

陈稳看了一眼墙上的钟。九点零五分。

他杯里的茶添了三次,已经淡了,颜色跟白水差不多。

老梁喝完了第二杯酒,脸有一点红,但说话还是很清楚。他靠在椅背上,点了一根烟。老板说包间可以抽烟,他把烟灰缸拉到自己面前。

烟雾在空调的风里被拉成一条线,然后散开。

陈稳闻到烟味,没有躲。他不抽烟,但老梁抽烟的时候他从来不躲。

隔壁包间有人在划拳,声音隔着墙传过来,闷闷的。

老梁抽了几口烟,把烟按灭在烟灰缸里。他站起来,拿起酒瓶,看了一眼——空了。他把酒瓶放回桌上,瓶底碰了一下桌面,发出一声闷响。

“差不多了。”他说。

没有人反对。

老梁站起来,去前台结账。陈稳听到前台说了一个数字,他没听清,只听到老梁说“行”,然后是一声扫码的提示音。

陈稳站起来,把椅子推回桌下。

他走到门口的时候,老梁从前台走回来,在走廊里碰到他。

“陈稳。”

他停下来。

“你等一下。”

陈稳站在原地。走廊里只有他们两个人,头顶的灯管有一根在闪,频率很慢,像心跳。

老梁看了他一眼,说:“支援中心那边,我这边有个位置,你做不做。”

陈稳没有马上回答。

“什么位置。”

“技术岗。主要做接入层的问题排查和工具开发。不复杂,但稳定。”老梁停了停,“比结算组轻松。”

陈稳站在走廊里,走廊尽头的窗户开着一条缝,外面是城市的夜色,路灯的光从窗户的缝隙里挤进来,在地上拉出一道窄窄的亮线。

“你什么时候走。”陈稳问。

“下周一正式过去。”老梁说,“但位置一直在,你什么时候想过来,跟我说一声就行。”

陈稳没有回答。

老梁看了他几秒,然后说:“不急。你想想。”

他拍了一下陈稳的肩膀,往楼梯口走了。

陈稳站在走廊里,那根灯管还在闪。

他听到老梁下楼的脚步声,一声一声,逐渐变小。然后是一个开门的声音,然后没有了。

他站了大概十秒钟,然后往楼梯口走。

他下楼的时候,在拐角处看到蒋辉站在门口,正在看手机。蒋辉看到他,说:“走了?”

“嗯。”

“你怎么回去。”

“地铁。”

“我也是。那一起。”

他们没有一起走。蒋辉接了一个电话,走在前面,声音压得很低,陈稳听不清他在说什么。他跟在后面,走到地铁站口的时候,蒋辉挂了电话,回头看了他一眼,说:“那我先走了,十号线。”

“好。”

蒋辉转身走了。他背着双肩包,走路的节奏很快,没有回头。

陈稳站在地铁站口,看着蒋辉的背影消失在楼梯下面。

他没有马上进站。他站了一会儿,拿出手机,看到何晚七点发了一条消息:“好的,别喝太多。”

他回了一个:“结束了。”

他等了几秒,没有回复。他把手机放回口袋,进了地铁站。

他刷卡进站,站台上等车的人不多。他站在靠墙的位置,看着轨道另一侧的广告牌,是一个房地产广告,上面写着“首付三十万,安家上海”。广告牌上的房子是效果图,窗台上放了花,阳台上坐着一个人,在看书。

列车进站,刹车声尖锐,刺了一下他的耳膜。他上了车,找到一个靠门的位置站着,没有坐下。

车厢里有一个小孩在哭,声音很大,母亲在旁边哄,说“到了到了,快到了”。陈稳看了一眼那个小孩,小孩大概三四岁,脸上全是眼泪,鼻涕挂在嘴唇上面。母亲用纸巾给他擦,小孩扭了一下,哭声更大。

陈稳移开视线,看着车窗外的隧道。车窗玻璃上反射出车厢里的样子,那个小孩,那个女人,他自己。他的脸在玻璃上有些模糊,因为隧道里的灯光一直在变,一会儿亮,一会儿暗。

他想起老梁说的那个位置——接入层问题排查和工具开发,不复杂,但稳定。比结算组轻松。

他想起老梁说的“别学我”。那是昨天的事,但今天老梁就在问他过不过去。

他想起老梁的十一年,七个系统,最高绩效 B+ 一次。

他想起老梁今天伸手摸杯沿的那个动作。

车厢里播报声响起:下一站,到站请准备下车。

他坐了四站,下车,换乘,再坐两站。

他出站的时候,手机震动了一下。他拿出来看,是何晚的回复:“到家了?”

他打了一个“刚到”,然后删了,重新打了一个“快了”,发送。

他走回小区,门口的保安坐在岗亭里看手机,屏幕的光照在他脸上,亮了一下暗一下。陈稳从保安面前走过,保安没有抬头。

他上楼,用钥匙开门,屋里灯是黑的。

他没有开灯。他换了鞋,走到客厅,在沙发上坐下来。窗外的路灯透过窗帘的缝隙,在天花板上投出一道细长的光。

他在沙发上坐了一会儿。

然后他站起来,走到厨房,打开冰箱,拿出一瓶水。冰的,瓶身上凝了一层水珠。他拧开瓶盖,喝了一口,水的凉度从喉咙一直往下走。

他关上冰箱门,走回客厅,把水放在茶几上,没再喝。

他打开手机,备忘录里有一条待办:“时间窗跨天校验。v2。”他看了那条待办几秒钟,没有划掉,也没有改。

他打开通讯录,找到老梁的号码,点进去,看了一眼,然后退出来。

他把手机放在茶几上,屏幕朝上。

窗外的路灯照在屏幕上,屏幕反射出一小块光,像一枚硬币。

他坐在沙发上,看着那枚硬币一样的光,坐了很久。

然后他站起来,去了书房。

他打开电脑,打开 IDEA,那个跨天时间窗的 MR 还在空的状态。他打开了那个分支,改了校验器的逻辑,加了对跨天段的支持,改了配置类的注释,跑了单测,全绿。

他提交了 MR。

他写的 commit message 只有一行:

feat: 窗口配置支持跨天时间窗(22:00-02:00)

他按了推送。

键盘的声音在房间里响了两秒,然后安静下来。

他靠在椅背上,屏幕的光照在他脸上。他看了一眼电脑右下角的时间——二十三点四十七分。

他站起来,走到窗边,拉开窗帘。对面那栋楼大部分窗户都是黑的。只有一扇窗还亮着灯,黄色的,窗帘半拉着,看不清里面是什么。那扇窗,他看了十一个月了。

他拉了拉窗帘,把缝隙拉大了一点。

对面那扇窗的灯,灭了。

他站在窗前,看着对面那扇变得漆黑的窗户,站了一会儿。

然后他拉上窗帘,转身,走回卧室。


← 第三章 转岗 · 目录 · 第五章 新规矩 →