消息传出去用了不到一周。于染是在茶水间听别人说的,两个同事端着杯子站在窗边闲聊,其中一个说:“赵氏那个地产转技术的项目黄了,合作方那边忽然换了一家,赵氏那边挂出来的负责人名字也换了一个。”
另一个说:“赵铭?那个太子爷?”前一个说:“是他,听说在宴会上对人家家属动手动脚,被那边的人堵回去了,圈子里传出来之后合作方就撤了。”
两个人笑了一声说“活该”,端着杯子走了。
于染站在茶水间的角落里接水,水流灌进杯子的声音把最后几句对话盖住了。他端着满杯走出来回到自己工位上坐下来,低头喝了一口水,温的。
他没有回头看对面办公室的门,但知道程烬在里面。他也没有问程烬这件事是不是他做的,因为答案他已经知道了。
周五下午于染把模块最后一段代码跑通了。
这个项目他接手之后从头到尾重新搭了一遍架构,前后花了快一个月,中间改过三轮方案,压测跑过六次。这次的结果比预期还要好,响应时间降了将近一半,日志干净得像刚擦过的玻璃。
他把测试报告截了图发到项目群里,群里安静了十几秒,然后主管回了一句“牛逼”,后面跟了一串大拇指。
同事挨个冒出来发了表情,有人问他“哪天上线”,他说“下周”。主管私聊他说:“于染,这个模块你主导的,上线之后算你项目负责人。”于染回了一个“好”,锁了屏。
他靠在椅背上呼了一口气,阳光从百叶窗的缝隙里漏进来在桌面上画出一道一道平行的暖线,照在猫耳杯边缘和那盆多肉的叶片上。
他伸手碰了碰虎皮兰挺直的叶尖,指尖被弹了一下又收回来。然后他站起来走到对面办公室门口,门开着半扇,程烬坐在里面看电脑。
于染在门框上叩了一下说:“项目过了。”
程烬抬起头说:“哪个?”
于染说:“就我之前跟你提过的那个,重构那套老接口。”
“跑通了?”
“跑通了,结果比预期好,主管说上线后算我项目负责人。”
程烬靠在椅背上看着他,目光在他脸上停了两秒,然后说:“哦。”于染说:“你哦什么?”程烬说:“我就知道你能跑通。”
于染靠在门框上,说:“那你怎么不提前说?”
“提前说了你以为我哄你,等你跑完再说你才会信。”
“那我跑没跑通你都有一套说辞。”
“那你跑通了高兴吗?”
“还行。”
“那就行了。”
他站起来走到门口,在于染面前站定。于染后腰抵着门框,程烬的手抬起来碰了一下他的耳垂,说:“晚上想吃什么,庆祝。”
“你又找理由做菜。”
“这算正经理由,不是理由。”
于染想了想说:“火锅。”程烬说:“那去买菜,回去做。”于染说:“在家做火锅你又要切一下午。”程烬说:“切一下午怎么了。”于染说:“那你别嫌累。”程烬说:“给你做饭不累。”
下班的时候两个人一前一后往电梯走,于染走前面,程烬落后半步。电梯门合上之后于染背对着程烬看着门缝里楼层数字一格一格地跳下去,感觉到程烬的呼吸从他后颈上方落下来,温温的。
他没有回头,但嘴角在轿厢门面的金属反光里弯了一下,他自己看见了。
菜市场的人比下班高峰时少了一些,但不算冷清。程烬走在前面挑菜,于染跟在旁边拎着袋子。
程烬弯腰挑金针菇的时候于染站在他侧后方等他,目光落在程烬低下去的后颈和微弯的背脊线上,想到五年前那个坐在教室窗边的自己。
如果那时候有人告诉他,有一天他会站在菜市场的过道里等着一个人给他挑金针菇,那个人会把他的项目报告看一遍然后说“我就知道你能跑通”,那个人会在宴会上替他挡掉一只手、查一件事、用“几句话”让整件事收场——他大概会觉得这跟做梦差不多。
但现在这件事就发生在他面前。菜市场顶灯的白光打在塑料棚顶上,在湿漉漉的地面上反出粼粼的亮,程烬直起身的时候手里多了一盒金针菇,他转过来递给于染说:“拿一下,再去买点豆腐。”
于染接过来放进袋子里说:“还要什么?”程烬想了想说:“牛肉卷,你上次说那个好吃的那家。”
“你知道我说的是哪家?”
“南边第三个摊位,卷切得薄,带一点脂肪边。”
“你连这个都记得。”
“跟你一起吃过的都记得,走吧。”
到家之后程烬进了厨房开始准备汤底,于染把菜和肉分门别类装进盘子里。猫蹲在料理台边上看他们两个来来回回地走动,尾巴慢慢摇着。
水开了之后程烬把锅端到餐桌上,电磁炉嗡嗡地响起来,白汽从锅沿升腾上去在顶灯下变成一团模糊的雾。于染坐下来往锅里放了几片牛肉,肉片在滚汤里变色卷曲,几秒就熟了。
他夹起来蘸了蘸料放进嘴里,烫得他吸了一口气又嚼了两下咽下去,说:“是那家的。”
程烬坐在对面也往锅里下了几片肉,两人隔着白汽看着对方。窗外的天已经彻底暗了,路灯的光透过梧桐叶的缝隙在窗帘上投出细碎的影子。
猫在桌腿旁边蹲着仰头看他们,偶尔凑近闻一闻锅沿冒出来的气味又退回去。于染又夹了一片牛肉涮好了放进程烬的碗里说:“这个熟了。”
程烬低头吃了,说:“还行。”于染说:“你每次都说还行。”程烬说:“那你说要我说什么?”于染说:“你可以说‘好吃’或者‘宝贝涮得刚好’。”程烬筷子顿了一下抬起头看他。
于染面不改色地又往锅里下了一筷子豆腐,说:“你看看,我涮的时间是不是刚好。”程烬笑了一声,很轻,从鼻子里出来的,但他低头去夹豆腐的时候嘴角的弧度没有收回去。
吃到一半于染把手机翻出来拍了一张锅里的照片,发到他们两个人的私聊里。程烬手机亮了一下他低头看了一眼,说:“你拍我锅底干什么?”
于染说:“纪念一下,我第一个项目跑通的晚上。”程烬说:“那你应该拍你自己。”于染说:“下次拍。”程烬说:“不要下次,现在拍。”于染说:“我嘴里还嚼着东西。”程烬说:“嚼着也行。”于染说:“你手机给我。”
程烬递过去,于染举起来对着程烬拍了一张。程烬坐在白汽后面,筷子夹着一片牛肉,嘴角还有一个没收干净的弧度。于染把手机还给他,说:“这张算你今晚的照片。”程烬低头看了一眼,没有删,锁了屏放在手边。
晚饭吃了很久。白汽从锅沿升腾起来在两个人之间飘散又聚拢,窗外的风把梧桐叶吹得沙沙响。
于染把最后几片菜叶捞出来吃完,放下筷子靠在椅背上说:“吃撑了。”程烬说:“那你坐着别动,我来收。”他站起来把锅端走,碗筷叠在一起拿进厨房,水声哗哗地响起来。
于染坐在原位没有动,猫跳上他的膝盖蹲下来打了个哈欠。他看着程烬在厨房里背对着他洗碗的背影,顶灯把程烬的肩膀轮廓勾成一道暖色的边。
他低头摸了摸猫的耳朵,猫的呼噜声在安静下来的客厅里显得很响。他说:“又又,你知道我们以前的事吗。”
猫当然没理他,把下巴搁在他膝盖上合上了眼。于染也没有继续说下去,他把手搭在猫背上顺着摸下去,听着厨房的水声和窗外梧桐叶的沙沙声,觉得整间屋子像一杯刚好倒满的水,水面贴着杯沿,再差一滴就会溢出来,但现在刚好停在那里。
他坐着没动,猫趴在他膝盖上打着呼噜,厨房的水声停了,他听见程烬擦干手走过来的脚步声,由远及近,在餐桌对面停住,然后坐下来。
程烬说:“你吃撑了还不能动。”于染说:“猫压着我了。”程烬说:“是猫压你你不舍得动还是你不想动?”于染说:“都有。”程烬站起来绕到于染旁边把猫抱起来放到地上,然后自己坐下来,肩膀挨着于染的肩膀。
两个人并排坐着,窗外路灯的光把梧桐叶的影子投在地板上晃来晃去。于染偏头靠在程烬的肩膀上说:“程烬。”程烬说:“嗯。”于染说:“我今天跑通代码的时候第一个想告诉的人是你。”程烬说:“我知道,你当时站起来就往我这边走了。”于染说:“你怎么知道的?”程烬说:“我看你表情就知道了,你跑通的时候嘴角会先翘再抿。”
于染没有说话,把额头往程烬的肩膀里埋深了一点点。程烬的手抬起来搁在他后脑上,指尖穿进他的发丝里停住,没有动。猫在两个人脚边转了一圈蹲下来,尾巴搭在两个膝盖的缝隙之间。
窗外的梧桐叶被夜风吹得沙沙响,声音隔着一层玻璃传进来变得又轻又远。于染闭着眼想,五年前他缩在教室窗边的时候从来没想过会有这样一个晚上——有一锅刚吃完的火锅、一只蹲在脚边的猫、一个坐在旁边的人、和一个跑通之后第一个想告诉的人就在触手可及的位置。
他把肩膀往程烬那边又挪了半寸,程烬的手臂顺着他的后背滑下去搭在他腰上,掌心贴着腰侧的布料,温度隔着一层棉布传过来。
两个人并排坐着没有动,猫在脚边翻了个身把肚皮露出来。窗外的叶子还在响,路灯的光在天花板上晃了一下又稳住了。