周日早上,林昭觉是被手机震醒的。不是闹钟,是赵副总的电话。他看了一眼屏幕上的时间——七点十三分。周六加班,周日七点打电话,这不像赵副总的风格。他接起来,声音还有点哑。“赵总?”
“小林,你今天有事吗?”
“没有。怎么了?”
“那你来公司一趟。远洋那边出了点状况。”
林昭觉坐起来,睡意全消。“什么状况?”
“电话里说不清楚。你来了再说。”
“好。我一个小时到。”
他挂了电话,开始穿衣服。沈雨薇从厨房探出头来,手里拿着一个勺子,围裙上沾着番茄汁。“怎么了?”
“公司有事。远洋的项目出了点状况。”
“严重吗?”
“不知道。去了才知道。”
“那你快去。早饭在路上买点吃。不许空腹。”
“好。”
他穿好衣服,洗了把脸,抓起背包就往外走。走到门口的时候,沈雨薇追上来,塞给他一个保鲜袋,里面装着两个三明治。“第九代。番茄牛腩三明治。路上吃。”
“你什么时候做的?”
“七点。想着你今天可能会饿,就做了。没想到你真的要出门。”她帮他理了理领子,那撮翘起来的头发被她压下去了,又弹起来了。“算了,天线就天线吧。快去吧。路上小心。”
“好。”
他出了门,走进电梯。保鲜袋里的三明治还是温热的,面包是全麦的,夹着番茄牛腩和生菜,用保鲜膜包得严严实实,切成两半,方便拿着吃。他咬了一口,面包酥脆,牛腩软烂,番茄酱渗进了面包的缝隙里,生菜增加了清爽的口感。第九代,成功。
他一边吃一边走向地铁站。周末早上的地铁人不多,车厢里空荡荡的,几个赶早班的人各自窝在角落里打瞌睡。他找了个位置坐下来,把三明治吃完,然后掏出手机看消息。赵副总只说了“远洋出了点状况”,没有说具体是什么。陈景行没有消息,方旭也没有。一切看起来很正常,但赵副总在周日早上七点打电话这件事本身,就不正常。
到了公司,大楼里很安静。周末的电梯不用刷卡,他按了十六楼,门开了,走廊里的灯只开了几盏,昏黄的光照在灰色的地毯上,像一条通往未知的路。赵副总的办公室门开着,灯亮着。他走进去,看到赵副总坐在办公桌后面,面前摊着一堆文件,表情严肃得像在拆炸弹。
“赵总。”
“坐。”赵副总指了指对面的椅子,“远洋那边刚才来电话,说他们的技术团队对方案里的数据接口提出了新的要求。周一就要开会,我们只有今天一天的时间来调整。”
“什么要求?”
“他们想把数据接口的标准从RESTful改成GraphQL。说是内部技术架构调整,需要统一接口协议。”
林昭觉皱了一下眉头。“这个改动不小。涉及到数据层的重新设计,还有安全策略的调整。”
“我知道。所以我才叫你过来。”赵副总把一份文件推到他面前,“这是他们的技术文档。你先看一下,看看一天之内能不能改完。”
林昭觉翻开文件,快速浏览了一遍。GraphQL确实比RESTful更灵活,但改动量比他预想的要大。如果只是接口层的调整,一天勉强够。但如果涉及到数据层的重构——他翻到最后一页,看到了一个熟悉的名字。技术审核人:方旭。
他的手指停了一下。方旭。这个改动是方旭提出的。为什么?周一的对接会他也会参加,为什么要在开会前一天突然提出这么大的改动?林昭觉看着那个名字,脑子里闪过很多可能性。可能是组织的调虎离山,可能是方旭在制造接触的机会,也可能只是正常的业务需求。他不能确定,但他需要确定。
“赵总,我回去研究一下。中午之前给您答复。”
“好。抓紧时间。”
林昭觉拿着文件走出办公室,回到自己的工位。他坐下来,把文件翻到方旭签名的那一页,看了很久。然后掏出加密手机,给方旭发了一条消息:“接口改动的真正原因是什么?”
回复来得很快:“技术原因。但也是机会。周一的对接会,我需要一个单独跟你说话的理由。接口改动是最好的借口。”
林昭觉看着屏幕,沉默了几秒。然后打字:“需要我做什么?”
“正常应对。提出你的方案,表现出你的专业能力。让所有人都觉得这是一个正常的技术讨论。然后在会议结束后,留下来。我有个东西要给你。”
“什么东西?”
“组织的核心实验数据。完整版。”
林昭觉的手指在屏幕上停住了。完整版。方旭之前给的资料已经很详细了,但他说过还有一部分核心数据他没有权限访问。现在他有了。
“你确定?”
“确定。周明远的备用方案下个月启动。我们没有时间了。周一对接会之后,我会把数据交给你。然后你决定下一步怎么走。”
“好。周一见。”
“周一见。”
林昭觉把加密手机收起来,拿起赵副总给的技术文档,开始认真地看。不管方旭的真实目的是什么,接口改动本身是真实的需求。他需要拿出一个可行的方案,让所有人都觉得这是一个正常的技术讨论。不能让任何人怀疑。
他在电脑上打开开发工具,开始模拟数据层的改动方案。GraphQL的优点是客户端可以自定义返回字段,减少数据传输量。缺点是需要重新设计数据模型,增加服务器端的复杂度。远洋的系统有几百个数据表,如果全部改一遍,至少要一周。但如果是渐进式改造,先改核心业务模块,其他的慢慢迁移——他敲了几行代码,跑了一个测试,结果比预期的好。核心模块的改动可以在一天内完成,其他的可以分批上线。
他写了三页的方案文档,把技术细节、实施步骤、风险评估都列得清清楚楚。然后给赵副总发了一封邮件,附上方案,标题写的是“远洋数据接口调整方案——初步评估”。
赵副总的回复在十分钟后来了:“可行。周一你负责技术部分的讲解。让方旭总看到我们的专业能力。”
“好。”
林昭觉靠在椅背上,看着窗外的天空。阳光从云层后面露出来,照在对面的写字楼上,玻璃幕墙反射着金色的光。周日早上的城市很安静,没有车流声,没有工地噪音,只有远处偶尔传来的鸟叫声。他闭上眼睛,让大脑放空了几分钟。然后睁开眼睛,继续工作。
下午两点,方案文档写完了。他又检查了两遍,确认没有遗漏,然后保存、备份、加密。加密的那份放进了方旭给的U盘里,普通的那份留在电脑桌面上。他关掉电脑,收拾好东西,准备走。路过赵副总办公室的时候,灯还亮着,门开着。赵副总坐在里面,面前摊着那堆文件,表情已经不像早上那么严肃了,但也不算轻松。
“赵总,我先走了。”
“嗯。”赵副总抬起头,“方案我看了,不错。周一就按这个讲。”
“好。”
“还有——”赵副总犹豫了一下,“小林,你觉得方旭这个人怎么样?”
林昭觉愣了一下。“什么意思?”
“就是随便问问。你觉得他这个人,可信吗?”
林昭觉沉默了一下。“技术能力很强,对项目也很负责。其他的,不太了解。”
赵副总点了点头,没有再问。心声飘过来:“方旭这个人,总觉得有点看不透。技术是好技术,人也客气,但就是——说不出来的感觉。可能是我想多了。远洋的项目最重要,其他的都不重要。”
林昭觉没有说破。“赵总,周一见。”
“周一见。”
他走出办公室,走向电梯。走廊里的灯还是只开了几盏,昏黄的光照在灰色的地毯上,他的影子被拉得很长,像一个在黄昏中行走的人。他按了电梯按钮,门开了,走进去。门关上的瞬间,他看到自己在金属门板上的倒影——头发翘着,嘴角也翘着。他想起沈雨薇说的话——“天线就天线吧。”那就天线吧。
走出大楼的时候,阳光正好。不刺眼,暖洋洋的,像有人在天上开了一盏巨大的暖光灯。他深深地吸了一口气,空气里有桂花的味道——真的最后一波了,淡得像一个快要醒的梦。他走向地铁站,步伐比来的时候慢了很多。不赶时间了,方案写完了,周一的对接会准备好了,方旭的计划也在推进了。现在他只需要做一件事——回家吃饭。
手机震了一下。沈雨薇的消息:“结束了吗?”
“结束了。在回来的路上。”
“远洋那边没事吧?”
“没事。小问题,已经解决了。”
“那就好。晚上想吃什么?”
“番茄牛腩。”
“又是番茄牛腩?你不腻吗?”
“不腻。”
“那行。第九代半。我研发了新配方。”
“第九代半和第九代有什么区别?”
“第九代是三明治。第九代半是盖饭+三明治的结合体。叫番茄牛腩三明治盖饭。”
“这名字听起来不太好吃。”
“名字不重要!重要的是味道!你快回来尝!”
“好。马上。”
他加快脚步,走向地铁站。阳光照在他身上,暖洋洋的,背包里的U盘沉甸甸的,口袋里还有沈雨薇早上塞给他的那个保鲜袋,里面装过第九代番茄牛腩三明治,现在空了,但还留着番茄和面包的味道。他把保鲜袋拿出来,叠好,放进口袋里。不是因为它有用,是因为它是今天早上一个人七点钟起床为他做的。
回到家的时候,厨房里已经飘出了番茄牛腩的味道。沈雨薇系着围裙,站在灶台前面,手里拿着一个勺子,正在尝咸淡。听见门响,她探出头来。
“回来了?快来尝咸淡!”
林昭觉走进去,低头喝了勺子里的汤。番茄的酸甜和牛腩的咸鲜在舌尖上化开,温度刚好。
“怎么样?”
“第九代半,成功。”
“真的?”
“真的。”
她笑了,笑得眼睛弯成了月牙。“那就好。去收拾桌子。马上开饭。”
“好。”
他走出厨房,开始收拾餐桌。把电脑放回书架,把文件摞好,把笔插回笔筒。桌子擦了两遍,椅子摆正,筷子放好。窗外的阳光已经变成了橘红色,在天花板上投下最后一道光斑。他站在窗前,看着远处的天际线。城市的轮廓在夕阳中变得柔和,写字楼的玻璃幕墙反射着金色的光,像一座座正在缓慢熄灭的灯塔。
“好了!吃饭了!”沈雨薇端着两碗盖饭走出来。
白色的圆盘子,上面有蓝色的小花。盘子里一半是米饭,一半是番茄牛腩。米饭压得很实,表面光滑。番茄牛腩浇在旁边,汤汁红亮,牛腩块大而整齐。上面撒着葱花和芝麻,旁边放了两片烤过的全麦面包,切成三角形,插在米饭和牛腩之间,像两面小旗子。
“这就是三明治盖饭?”
“对。可以分开吃,也可以把牛腩夹在面包里吃。一菜两吃。第九代半的核心创新。”
“你什么时候想到的?”
“你出门之后。我想着三明治方便外带,盖饭方便在家吃。那为什么不能合在一起呢?想吃盖饭就吃盖饭,想夹面包就夹面包。多好。”
“所以你用了一天时间,就为了研究这个?”
“对。”她理直气壮地说,“快尝一下面包。烤过的,应该还是脆的。”
林昭觉拿起一片面包,夹了一块牛腩和一点生菜,咬了一口。面包酥脆,牛腩软烂,番茄酱渗进了面包的缝隙里,生菜解了腻。跟早上的三明治差不多,但多了一种仪式感——因为它是放在盘子里的,旁边还有米饭,看起来像一道正经的菜,而不是路上随便吃的快餐。
“好吃吗?”
“好吃。”
“比早上的呢?”
“差不多。但好看一些。”
“那就对了!第九代半的核心不是味道,是呈现方式!这是境界的提升!”她夹了一块牛腩放在米饭上,拌了拌,吃了一大口,露出满足的表情。
林昭觉看着她,忽然觉得,也许方旭说得对——有些东西,需要等。番茄牛腩从第一代到第九代半,她等了三个月。方旭等那个机会,等了八年。陈景行等一个真相,等了十五年。而他等什么?他在等一个结果。不管那个结果是百分之三十七还是百分之六十三,他都在等。但他不是一个人等。有一个人在厨房里等他回来尝咸淡,有一个人在餐桌上等他吃完再问“好吃吗”,有一个人在沙发上等他忙完了再一起看电影。这碗盖饭,就是他在等的那个结果的一部分。
“雨薇,”他说,“周一我要去远洋开对接会。可能会晚点回来。”
“多晚?”
“不知道。可能六七点。”
“那我等你吃饭。”
“不用等。你先吃。”
“不。我等你。”她夹了一块牛腩放进他碗里,“不管多晚,我都等你。”
林昭觉看着她,看着她被蒸汽熏红的脸颊,看着她亮亮的眼睛,看着她嘴角沾着的一粒米饭。他伸出手,把那粒米饭拿掉。她的脸更红了。
“你干嘛?”
“脸上有饭。”
“哦。”她低下头,继续吃饭,耳朵红得像番茄。
----------------------------------------