评审会结束之后,程司白在工位上坐了半个小时,把联合压力测试的计划表排了出来。三天,七十二小时,覆盖十二个核心场景,每一个场景的测试参数她都写得很详细,精确到小数点后两位。她把计划表发给裴衍之的时候附了一行注释:“如果没有意见,明天上午九点开始。”
发送之后她关掉邮件,靠在椅背上。办公区里很安静,大部分人还在会议室里没有回来。窗外的阳光照在百叶窗上,在地上投下一条一条的光影。她看著那些光影,觉得它们像一段被分割的数据流——每一段都是完整的,但拼在一起才是全部的真相。
唐嘉树出现在办公区门口的时候,她没有注意到。直到他走到她面前,把一杯茶放在她桌上,她才抬起头。
“有空吗?”唐嘉树拉了一把椅子坐下,语气和往常一样随意,像在问一个技术问题。
程司白点了点头。唐嘉树是她在这家公司最尊敬的人,不是因为他的职位,是因为他看问题的方式——他总是能在技术问题背后看到人的问题,而且他从来不说废话。
“今天的评审会,你觉得怎么样?”唐嘉树喝了一口茶。
“正常。两种方案各有优劣,需要更多测试数据来支撑决策。”
“我不是问方案。”唐嘉树放下茶杯,看著她,“我是问你和裴衍之。”
程司白的手指在键盘上停了一下。“我们合作正常。”
“正常。”唐嘉树重复了这个词,嘴角动了一下,像是在笑又不像,“你知道吗,我做了二十年技术管理,见过很多技术合伙人吵架。有的吵完就散了,有的吵完反而更好了。你和裴衍之属于哪一种?”
程司白没有回答。
“你们今天的评审会,我注意到一件事。”唐嘉树的语速很慢,像在调试一段复杂的代码,每一行都要看清楚,“裴衍之在会上帮你的方案说话。他说Raft在高并发场景下表现更好,还给出了数据支持。你注意到了吗?”
“注意到了。”
“你觉得他为什么这么做?”
“因为数据支持那个结论。”
“数据也支持他的方案在边缘网络下更好。”唐嘉树说,“他完全可以不提你的优势,只强调自己的。但他没有。他选择了把两种方案的优劣都摆在台面上,让业务方自己做决定。这是一个非常公正的技术判断。”
程司白没有接话。她知道唐嘉树要说什么了。
“但我不觉得他只是在做技术判断。”唐嘉树的声音放低了一些,低到只有他们两个人能听见,“程司白,你知道他为什么坚持用Paxos吗?”
程司白的手指从键盘上收回来,放在膝盖上。她的手指很凉,凉到她自己都感觉到了。
“因为他不想让你的架构背负不必要的风险。”唐嘉树说这话的时候语气很平静,平静得像在解释一个技术概念,“Paxos是成熟方案,出问题的概率低。他知道你的Raft方案性能更好,但他更担心的是——如果Raft上线后出了问题,你是架构组的负责人,你要承担责任。”
程司白觉得自己的胸口被什么东西撞了一下。不是很重,但很准,准到正好撞在那个她一直在保护的地方。
“他选Paxos,不是因为他觉得自己的方案更好。”唐嘉树站起来,把茶杯端在手里,“是因为他不想让你冒险。”
程司白坐在椅子上,没有动。办公区里的光影随著太阳的角度移动了一点,原来在她桌上的那条光斑现在移到了地上。她看著那条光斑,觉得它像一个被移动了的指针——指向的还是同一个方向,但位置变了。
“我可能错了。”她说。
声音很轻,轻到她自己都不确定有没有说出口。但唐嘉树听到了。他站在那里,低头看著她,没有说话,只是点了点头,然后转身走了。
程司白一个人坐在办公区里,周围没有人。她的电脑萤幕暗了,键盘上的灯也灭了,只有窗外的阳光照进来,照在她桌上那个白色的马克杯上。杯子里没有水,空空的,干干净净的,像一个被清空了的容器。
她想起评审会上裴衍之说的那句话:“你什么时候学会共同承担了?”
她没有学会。她从来没有学过。她学到的都是相反的——靠自己,不要麻烦别人,不要让任何人为你承担任何东西。这是母亲教她的,也是生活教她的。她以为这是对的。她以为这是最安全的生存策略。
但现在她发现,这个策略有一个漏洞。
它保护了她不受到伤害,但也让她无法靠近任何人。她把所有的入口都封死了,外面的进不来,里面的出不去。她一个人住在一个密封的容器里,安全,稳定,但也很孤独。
裴衍之在过去的两周里,每天给她带咖啡。美式的,拿铁的,加了两份浓缩的。每一杯她都喝了,每一杯她都没有说谢谢。他还在杯壁上写字——“别用工作逃避”“不用现在回答我”。每一行字她都看了,每一行字她都记住了,但她一个字都没有回。
他为什么还要继续?
她不明白。
如果一个人给你发消息你不回,给你带咖啡你不说谢谢,在走廊上跟你说话你转身就走——正常人早就放弃了。三年前他放弃了,因为她说了“不打扰了”,他就真的不打扰了。她以为那就是答案——他不够坚持,他不够想要,他不够喜欢。
但现在她知道了。那不是不够。那是尊重。她说了不要,他就不要了。他没有纠缠,没有追问,没有在她家楼下等一整夜——因为他觉得那是她想要的。
她当时觉得那就是答案。现在她觉得那不是答案,那是一个误解。
一个持续了三年的误解。
裴衍之回到工位的时候,发现唐嘉树坐在他的位置上。
“唐总。”他站在旁边,没有坐下。
唐嘉树站起来,把位置让给他,自己拉了一把椅子坐在旁边。两个人沉默了一会儿,办公区里有其他同事在走动,有人叫了外卖,空气里有饭菜的味道。
“今天的评审会,你的表现不错。”唐嘉树说。
裴衍之没有接话。他知道唐嘉树不是来夸他的。
“你知道程司白为什么非要选Raft吗?”唐嘉树问。
裴衍之的手指在键盘边缘敲了一下。“因为性能好。”
“性能只是表面。”唐嘉树靠在椅背上,双手交叉放在腹部,“她想证明自己这三年没有白过。她想证明她离开你是对的。她想证明她一个人可以做得更好。”
裴衍之没有说话。这些话他不是没有想过,只是从来没有说出口。说出来就太像在为自己找理由了——她不是不喜欢你,她只是需要证明自己。这种话听起来像借口。
“她需要你的认可。”唐嘉树说这句话的时候,语气和说“今天天气不错”一样平淡,“她不会承认,她自己可能都没有意识到。但她选择Raft,有一部分原因是她想让你看见——你看,我做到了。”
裴衍之靠在椅背上,看著天花板。那盏旧灯管还在,光线不均匀,中间亮两边暗。他盯著那盏灯,脑子里反反复复转著一个念头。
她想让我看见。
他一直以为她想让他看不见。看不见她加班到凌晨,看不见她把外套叠好放回他的椅子上,看不见她在巷子里打电话的时候眼眶红了。她一直在躲,一直在藏,一直在说“不需要”。
但她想让我看见。
她选Raft,是因为她想让我看见她的成长。她在评审会上展示八千次测试数据,是因为她想让我看见她的专业。她喝了我买的拿铁,是因为她想让我看见——她愿意试一下。
她一直都在让我看见。
只是我没有看懂。
“唐总。”裴衍之坐直身体,“你为什么跟我们说这些?”
唐嘉树站起来,端著茶杯走到窗边。窗外的阳光很亮,照在他的后背上,把他的影子投在地上,长长的,瘦瘦的。
“因为我年纪大了,看不得年轻人浪费时间。”他转过身,背对著窗户,脸在逆光中看不清楚,“你们两个人,一个用工作逃避感情,一个用理性压制感情。你们以为这是成熟,其实这是胆小。”
裴衍之没有反驳。
“你知道分布式系统里最难解决的问题是什么吗?”唐嘉树问。
“共识。”
“不对。”唐嘉树摇了摇头,“共识有算法可以解决。最难解决的问题是——节点之间愿不愿意交换信息。算法只能保证交换信息之后能达成共识,但不能让节点愿意交换信息。如果两个节点互相不信任,不愿意交换自己的状态,再好的共识算法也没用。”
他把茶杯放在桌上,发出轻轻的一声响。
“你们两个人,就是两个不愿意交换信息的节点。程司白不愿意告诉你她在想什么,你不愿意告诉她你在怕什么。你们各自跑在自己的时钟里,永远对不上时间戳。”
裴衍之坐在椅子上,手指放在键盘上,没有敲。萤幕上是程司白刚才发过来的联合压力测试计划表,七十二小时,十二个场景,每一个参数都写得很详细。她在注释里写了“如果没有意见,明天上午九点开始”。
他看著这行字,想起她在走廊上说的那句话:“我只是不想你在上线后出问题。”
她不想我出问题。
不是因为我是业务中台的负责人。
是因为我是裴衍之。
他终于确定了。
唐嘉树走了之后,裴衍之在工位上坐了很久。他没有写程式码,没有看测试报告,只是坐著,看著萤幕上那封邮件。窗外的光线从白色变成橘黄色,办公区里的人陆续走了,灯一盏一盏地灭了。他没有注意到。
他在想一个问题。
三年前她提出分手的时候,他说“好,不打扰了”。他以为那是正确的选择——她想要什么,他就给她什么。她想要自由,他给自由。她想要安静,他给安静。他以为这就是爱一个人的方式——尊重她的选择,不打扰她的生活。
但现在他觉得,也许那不是她想要的。
她想要的可能不是不打扰。她想要的是——被打扰了也不会走的人。
一个不管她说多少次“不需要”,都会继续站在那里的人。
一个在她说“我们不合适”的时候,会说“我觉得挺合适的”的人。
一个在她关机三天的时候,不会发“好,不打扰了”,而是会站在她家楼下,等到她开门为止的人。
他没有做到这些。他选择了体面,选择了理性,选择了成年人该有的克制。他以为那是对的。但现在他觉得,那不是对的,那是胆小。
他怕被拒绝。怕她说了不要,他还在,显得很可笑。怕她觉得他纠缠不清,觉得他不够理性,觉得他还是三年前那个太感性的人。
所以他选择了安全的方式——不打扰。安全,体面,不会被拒绝。但也不会被接受。
他拿出手机,打开跟程司白的对话框。对话框里还是一条消息都没有——他发的那条“不是要证明自己”还在那里,她没有回。这条消息已经发了十几天了,像一个没有收到确认的请求,超时了,但他没有重发。
他打了一行字:“程司白,我可能选错了。”
看了很久,删掉了。
又打了一行字:“我不是不想打扰你,是怕你觉得我烦。”
删掉了。
又打了一行字:“明天见。”
没有删。但也没有发送。
他把手机放回口袋,站起来,走出办公区。走廊上的感应灯亮了,光线白得刺眼。他走到电梯前,按了下楼键。
电梯门打开的时候,他看到里面站著一个人。
程司白。
她站在电梯的角落里,手里拎著公事包,外套的拉链拉到最高。她看到他的时候眼神闪了一下——很快,快到几乎看不出来,但他看到了。
“你还没走?”她问。
“刚忙完。”他走进电梯,站在另一边。
电梯门关上,开始下降。两个人都没有说话,电梯里只有机械运转的声音,低沉的,均匀的,像一段没有感情的白噪音。
楼层数字从十五跳到十四,十三,十二。
“程司白。”他开口了。
“嗯。”
“你发的测试计划表我看了。没问题,明天上午九点开始。”