楔子
酒杯举到第三轮的时候,我右手的拇指开始发麻。
香槟杯壁外侧凝着水珠,顺着指缝往下滑。宴会厅的灯光打在水晶吊灯上,碎成一片一片落在白色桌布上。有人在鼓掌,掌声从第一排蔓延到后排,密集又整齐,像排练过。
我盯着台上赵宏远那张脸,他把话筒换到左手,右手搭在苏晴肩上。
“上市这件事,最大的功臣——”他顿了顿,环顾全场,“是苏晴。”
拇指的麻痹感从指尖攀到手腕。
我垂下眼睛,松开酒杯,从西装内侧摸出那张对折了两道的A4纸。
纸张还带着体温,折痕已经磨出了毛边。
第一章
冷焰
宴会厅在二十七楼。
我坐的位置靠窗,能看见下面整片科技园区的灯火。那些四四方方的写字楼到了晚上就变成棋盘格,一格亮、一格暗,像电路板上的焊点。以前通宵加班到后半夜,我常站在公司茶水间往外看,看久了会觉得整个园区是一块巨大的主板,我们是上面发热的芯片。
今天不用看。
今天我们在楼上,在最亮的那盏吊灯底下。
赵宏远包了半层宴会厅,十二张圆桌,每张桌上都摆着定制的上市纪念品——一个水晶底座,上面刻着公司logo和今天的日期。底座里的LED灯珠发出冷白光,从底部打上来,把每个人的下巴照得发蓝。
我的座位被安排在第六桌。
不算差的位置。能看见主桌,但不在主桌上。主桌坐了赵宏远一家、联交所代表、两个投行的人,还有苏晴。
苏晴穿一件香槟色的裙子,头发盘起来,露出耳垂上两颗珍珠。她正在和投行的人碰杯,杯沿碰得很轻,角度控制在十五度以内。我注意过这个细节——她碰杯从来不让自己的杯口高于对方,永远是低半寸。不是刻意练的,就是天生会。
“寻哥,你尝尝这个。”旁边周铮把一碟冷菜推过来,筷子头磕了磕盘子边,“鲥鱼,说是野生的。”
周铮是结构组的,二十七岁,去年才结婚。他老婆预产期在下个月,今晚本来不想来,是赵宏远让行政群发了邮件——全员必须到场,无故缺席按旷工处理。
“牙疼。”我说。
“又牙疼?”他放下筷子,侧过头看我,“你上个礼拜不是去看了吗?”
“没时间。”
“拔个牙能要多久——”
“根管治疗,要去三次。”我把手从桌上放下来,右手拇指还在发麻,“每次一个小时,我排不出时间。”
周铮没接话。他端起杯子喝了一口橙汁,喉结滚了一下。
台上在放上市宣传片。片子是外包公司做的,剪得很浮夸。先是无人机航拍的园区全景,然后是公司前台那面玻璃幕墙,镜头推进去,穿过开放式办公区,定格在一排显示器上。显示器上是我们研发组的代码界面,一闪而过,不到两秒。
接下来是赵宏远的专访片段。他坐在办公室的真皮转椅上,面对镜头,身后的书架摆满了管理类书籍,有几本塑封都没拆。他说创业十年,最感谢的就是团队。
“团队”这个词从音箱里传出来的时候,带着一点混响。
我旁边的高磊把叉子放下来。
高磊是我们组资历最老的,三十五了。他从头到尾没有吃东西,手指一直在转桌上那个纪念水晶底座。转过来,转过去,LED灯珠闪一下,停住,再转。
“老高。”我说。
他看我一眼。
“底座别转了,灯珠烧了就没了。”
他愣了愣,把手收回去。水晶底座停在桌布上,logo那面朝下。
赵宏远上台的时候,主持人把背景音乐压下去。他今天穿了一身深蓝西装,领带是酒红色的,胸口别着联交所送的纪念徽章。他走路的步子比平时慢半拍,每一步都踩在背景音乐的鼓点上。
他接过话筒,先和主桌的投行代表交换了一个眼神,然后清了清嗓子。
“各位,今天是好日子。”
音响有一声短促的反馈啸叫。有人捂了捂耳朵。
“我们上市了。从今天起,晟创科技就是一家公众公司了。”他停顿了一下,等掌声。掌声来了,从主桌先响起来,然后往外扩散,到第五六桌的时候已经稀疏了。
赵宏远没注意。他接着说上市前的艰辛,说资本市场的认可,说公司未来三年的战略规划。他说话的时候右手一直在做手势,食指和中指并拢,每讲一个重点就往下压一下,像在敲回车键。
他提到了很多人。
提到了投行团队,说他们通宵做材料。提到了法务,说他们把招股书翻了十几遍。提到了财务,说他们做了三年账目梳理。甚至提到了行政,说她们筹备今天的晚宴忙了整整两周。
他没提研发。
不是一笔带过,是没提。
周铮的叉子停在半空。高磊把水晶底座翻了个面,logo朝上,然后又翻回去。
我拇指的麻痹感已经从指尖蔓延到手腕,现在到了小臂内侧。那种感觉不像疼,像是有人把一根细钢丝埋进皮肤下面,一寸一寸往上推。
“上市这件事,最大的功臣——”
赵宏远把话筒换到左手。
苏晴已经站起来了。她站起来的时间点掐得很准,比赵宏远的手势早了不到一秒。像是排练过,又像是天生就知道什么时候该起身。
她走到台中央,赵宏远的手搭在她肩上。那只手很白,保养得很好,指甲修得整整齐齐。苏晴的肩膀微微下沉,承受着那只手的重量。
“是苏晴。”
音箱把这两个字送到宴会厅的每一个角落。最后一排天花板上有一个射灯,正好在这时候跳了一下,发出一声轻微的电流声。
我盯着台上看了三秒。
苏晴在笑。笑得很得体,嘴角的弧度控制在刚好露出八颗牙齿的程度。她微微弯腰,双手合十,朝台下鞠了一躬。耳垂上的珍珠在灯光下晃了一下。
然后掌声又响了。
主桌的掌声最密。联交所代表在鼓掌,投行的人在鼓掌,财务总监在鼓掌。外围的桌子稀稀落落有人跟着拍手,有人回头看了看我们这边,然后又转回去。
周铮把叉子搁在盘子边上,叉齿磕在瓷盘上发出一声脆响。高磊不再转水晶底座了,他把两只手都放在膝盖上,十指交叉,指节发白。
我没看他们。
我在看赵宏远的嘴。他还在说话,说苏晴如何协调上市全程工作,如何对接各方资源,如何在最关键的时候顶住压力。每一个字都压得很重,像是要刻进宴会厅的墙壁里。
我知道这些话大半是真的。苏晴确实干了这些活。她安排会议、整理纪要、催促进度、汇总材料、对接外部机构。她干得很细致,很周全,很会来事。
但我知道那些代码是谁写的。
那些凌晨三点的编译错误是谁改的。那些服务器宕机时是谁穿着拖鞋从出租屋跑回公司。那些资方临时改需求时是谁在会议室白板上画了又擦、擦了又画。那些让这家公司值钱的、能上市的、被投行写在招股书里的核心技术,是谁一行一行敲出来的。
我也知道苏晴不知道这些。
她不知道我们底层架构用了什么协议,不知道核心算法的时间复杂度是多少,不知道那次差点搞垮整个系统的内存泄漏是怎么被找出来的。她不需要知道。她只需要知道项目进度到了百分之几,然后在周报里写成“已完成90%”。
赵宏远也不需要知道。
他甚至不知道我是哪年进的公司。
我松开酒杯,右手伸进西装内侧口袋。
那张A4纸对折了两道,熨帖地贴着胸口的位置。我放进去的时候是前天早上,出门前对着玄关镜子叠的。折第一道的时候在想,可能用不上。折第二道的时候在想,万一用得上呢。
纸张摸起来有点潮。胸口出汗,浸透了最外面那层纤维。
我用拇指和食指捏住辞呈的一角,没有立刻抽出来。
台上在继续说话。苏晴接过了话筒,说感谢赵总的信任,说上市只是一个新的起点,说会继续努力不辜负大家的期望。她的声音从音响里传出来,经过压缩和放大的处理,带一点电子感。
高磊侧过头,用只有我能听到的音量说了四个字。
“她写过一行代码吗?”
我没回答。
我把辞呈从口袋里抽出来。
第二章
锈味
我没有立刻站起来。
辞呈在我手里,对折的A4纸被体温熨得温热。我用指腹摩挲着纸张的折痕,那道毛边在拇指指腹上蹭出一种细微的粗糙感。
台上苏晴还在说话。她说上市筹备期间每天只睡四个小时,说手机二十四小时开机,说有一次为了赶材料在办公室待到凌晨三点。
她说到“凌晨三点”的时候,高磊发出一声很轻的笑。
不是冷笑,不是嗤笑。就是那种你听到一个不太好笑的笑话时,出于礼貌从鼻子里挤出来的那种笑。很短,气息还没到喉咙就散了。
凌晨三点。
我记得的凌晨三点和她记得的,大概不是同一个。
我记得的是去年十一月的最后一个周末。那天下雨,园区供暖坏了,办公室里的温度计显示十三度。我穿着羽绒服写代码,键盘旁边放着一杯速溶咖啡,热气冒出来就散了。
那天我们在修一个支付模块的并发bug。问题出在线程锁的粒度上,表象是用户支付时偶尔会出现重复扣款。概率很低,千分之三左右,但金融系统容不得千分之三。测试组递了bug单,优先级标了P0——不解决不能上线,上线时间定在周一。
那是周五晚上十点。
周铮本来已经在回家的路上了。他老婆打了三个电话,说肚子有点不舒服。他在出租车上接到我的消息,让司机调头。回到公司的时候外套肩膀上全是雨水。
高磊那天本来就不在公司。他请了年假,带着女儿去儿童医院看咳嗽。看到我在群里发的bug描述,把女儿安顿在输液室,抱着笔记本电脑坐在走廊的长椅上远程调试。医院WiFi不好,他用手机开热点,流量超了四十多个G。
徐远川是数据库的老手,三十二岁,是我们组里最不爱说话的。那天他一声不吭把整个交易记录表扫了一遍,从凌晨一点扫到凌晨四点,眼睛盯着屏幕一眨不眨,最后在两千三百万条记录里找到一个索引碎片化导致的锁升级。
冯玥是前端,也是我们组唯一的姑娘。那天她不用来,bug在后端。但她没走。她说她留下来写单元测试,其实是怕我们忙起来忘记吃东西,每隔一个小时就用微波炉热一次楼下便利店买的饭团。饭团热到第三遍的时候米粒已经硬了,咬下去像橡皮。
凌晨四点十七分,bug修完。
我们在测试环境跑了四轮回归测试,全部通过。高磊在医院走廊里发了个表情包,是一张熊猫瘫倒在地上的动图。
没有人发朋友圈,没有人写周报邀功。
周一上线之后,赵宏远在全员群里@了苏晴,说辛苦了,说上线很顺利,说客户反馈很好。
苏晴回了一个“谢谢赵总,都是应该做的”。
那个bug不是她修的,她甚至不知道那个bug存在过。但她确实做了很多事——她在周日下午给赵宏远发了一份上线进度汇总,把测试组的报告和运维组的部署计划整理成了一个三页的PDF,排版工整,重点用黄色高亮标出来。
赵宏远喜欢这种工整。
苏晴清楚赵宏远喜欢什么。她入职两年,从行政前台做到总助,靠的不是运气。她知道赵宏远看邮件只看前两段,所以她把最重要的信息放在开头。她知道赵宏远开会不喜欢听技术细节,所以她汇报永远只说进度百分比和风险等级。她知道赵宏远喜欢被夸,所以在每一次汇报结尾都会加一句“在赵总的指导下”。
这些都是本事。
但这些本事写不出一行代码。
我抬起眼睛看台上的苏晴。
她在分享上市那天的心情。说那天早上五点半就醒了,把招股书又看了一遍。说开盘钟敲响的时候,她在办公室里对着屏幕流泪。
她说“流泪”这个词的时候声音恰到好处地颤抖了一下。不夸张,不会让人觉得做作,但足够让人注意到。
赵宏远在旁边点头。他看苏晴的眼神带着一种长辈看晚辈的慈爱。那种慈爱很微妙,像是欣赏,又像是满意。满意自己选对了人,满意自己的眼光没错。
我不知道苏晴那天早上是不是真的流泪了。
但我知道开盘钟敲响的时候,我在干嘛。
我在机房里。
不是上市当天有什么技术问题需要处理,是赵宏远要求技术部门全员待命,以防万一。我带着研发组五个人,坐在没有窗户的机房里,盯着满墙的监控大屏。空调出风口对着我后脑勺吹,冷气顺着领口灌进去。高磊坐在我左边,腿上摊着一本技术手册,但他没看,他一直在搓手。机房温度低,他的手指关节有点发僵。
周铮的手机亮了一下,是他老婆发来的消息。他看了一眼,把手机翻过去扣在膝盖上。屏幕那面朝下,还在震动了两次。
开盘钟敲响的时候,机房里没有人说话。
我们只是盯着屏幕上跳出来的第一笔成交价,看它从发行价上浮了百分之十二,然后稳定在百分之八左右。
冯玥把椅子转过去,看着天花板发了一会儿呆。
徐远川从口袋里掏出一颗薄荷糖,剥开糖纸,含进嘴里。糖纸被他叠成了一个小小的正方形,塞进键盘底下。
五分钟以后,苏晴在全员群里发了一条消息。
“上市了!!感恩赵总!!感恩所有伙伴们!!”
后面跟了三个烟花emoji。
周铮看到那条消息的时候,拇指在屏幕上停了两秒。他把手机拿起来,锁屏,放回口袋,站起来,走到墙角饮水机旁边。接了一杯水,喝了一半,把剩下的一半倒进了垃圾桶旁边的绿萝盆里。
那盆绿萝是冯玥养的。她说机房太干了,放盆绿萝养养眼。养了一年半,从三片叶子养到垂下来半米长。
苏晴大概不知道机房里有一盆绿萝。
她来公司的两年里,进过机房一次。是陪赵宏远视察,穿着高跟鞋站在防静电地板上面,怕弄脏地板还踮着脚尖。她环顾了一圈嗡嗡作响的服务器机柜,问了一个问题。
“这些机器为什么一直闪灯?”
高磊回答她说那是硬盘读写指示灯。她点了点头,说原来如此,然后在视察纪要里写了“参观了核心机房,了解了公司技术基础设施”。
苏晴在台上鞠了第二个躬。
她的发言快结束了。她说要感谢的人太多,说每一个晟创人都是上市的英雄。
我没有听清楚后面的话。音响的低频有点过载,赵宏远站的位置正好挡住了一盏射灯,台上的光线暗了一截。
我低头看了一眼手里的辞呈。
纸张的折痕在灯光下变成一道很淡的阴影。我前天晚上在书房写这份辞呈的时候,写到一半停了笔。不是犹豫,是不知道该写什么理由。辞职信要写理由。写“个人发展原因”太假,写“薪资待遇问题”太轻,写“对公司用人理念不认同”又太绕。
最后我只写了一句话。
“因个人原因申请离职。”
七个字,每个字都落在格子外面。
打印机吐出来的时候墨有点淡,是硒鼓快用完了。我没有换硒鼓。那份辞呈就这样带着不够黑的字迹躺在我西装内袋里,从前天晚上到今天下午,从今天下午到刚才。
苏晴终于说完了。
她往后退了两步,站回赵宏远身边。赵宏远拍了拍她的肩膀,又拿起了话筒。
“我再强调一下,”他的声音比刚才更洪亮,像是一杯酒下肚之后的余勇,“苏晴是这次上市最大的功臣。没有她的统筹协调,就没有今天。”
掌声第三次响起来。
这一次比前两次都响。因为赵宏远在台上率先鼓掌,手腕翻得很高,手掌拍得又响又密。主桌的人跟上,然后是其他桌。不管你认不认同,老板在鼓掌的时候,你很难不跟着拍。
但也不是所有人都拍了。
周铮没有。
高磊没有。
冯玥坐在第七桌,我看得见她。她把两只手平放在膝盖上,低着头看面前的盘子。盘子里的鲥鱼已经冷了,表面凝了一层薄薄的油脂。
徐远川坐在第八桌,他在看手机。屏幕的光照在他脸上,看不出表情。
我也没有鼓掌。
我的右手放在桌面上,五指自然张开,掌心贴着冰凉的桌布。左手还握着那张辞呈。
赵宏远开始挨桌敬酒。从主桌开始,一桌一桌往外面走。他端着红酒杯,和每个人碰杯。苏晴跟在他身后,手里也端着一杯酒,偶尔浅抿一口,偶尔只是沾一下嘴唇。
他们离我坐的第六桌还有一段距离。
我站起来。
椅子腿在花岗岩地面上刮出一声低沉的摩擦。周铮抬头看我。我按了按他的肩膀,没说话,越过他,沿着圆桌之间的空隙往外走。
我走得不快。不是刻意放慢的,就是自然地走。香槟色的地毯很厚,踩上去没有声音。
经过第七桌的时候,冯玥抬眼看我。我用眼神示意她不要说话。她点了点头,把嘴唇抿成一条线。
经过第八桌的时候,徐远川锁了手机屏幕。他没有站起来,但他把椅子往后推了半寸,像是随时准备起身。
赵宏远正在第三桌敬酒。他背对着我。
苏晴先看到我。
她站在赵宏远身后半步的位置,手里端着那杯只沾了嘴唇的香槟。她看到我从桌子中间穿过来,看到我往台前走,看到我手里的那张纸。
她的笑容僵了不到半秒。
很快就恢复了。她是个聪明人,聪明人不会在不确定的时候露出破绽。她只是把手里的酒杯从左手换到右手,又换回来。
赵宏远还在第三桌说话。他端着酒杯,和一个合作方的人在聊上市当天的涨幅。他的笑声很响亮,从第三桌传到我耳边,中间隔着七八米的距离和十几个人。
我走到台下站定。
赵宏远终于转过身来。
他看到我站在他身后,先是愣了一下,然后笑了。那种笑是一个老板面对老员工时的条件反射,大度、亲切、带着一点自上而下的包容。
“陆寻,”他把酒杯往我这边举了举,“来得正好。等下你们研发组也来一桌,我得好好敬你们——”
我把辞呈递过去。
动作不快。抬手,平递,悬在他面前十五公分的位置。
赵宏远看着那张A4纸,没有接。
他的笑容还在脸上,但眼睛里的东西变了。不是愤怒,不是惊讶,是一种更深的东西。像是你走在一条熟悉的路上,突然发现脚下的地砖有一块裂了。裂缝很小,但你知道下面空了。
“这是什么?”他问。
他的声音不大,但话筒还开着。音响把“这是什么”四个字送到宴会厅的每一排。
音乐没停,但说话的声音全停了。
第三章
辞呈
赵宏远没有立刻接。
他看着那张对折过的A4纸,像是在辨认上面的字迹。其实他看不见字,纸张是对折的,朝外的那一面空白。但他还是看了很久。
话筒还握在他左手里,垂在身侧,没有关。
宴会厅里的人声一层一层落下去,像潮水退潮。先是最近几桌的人停止了交谈,然后是外围的桌子,然后是角落里的服务员。有个端着托盘的侍应生走到一半停了下来,不知道自己该不该继续往前走。
酒杯碰在托盘边缘的声音,清脆,突兀,只响了一下。
苏晴往后退了半步。
很小半步,小到几乎看不出来。她的高跟鞋后跟只是轻轻挪了一下重心,在地毯上留下一个很浅的凹陷。但她脸上的笑容还在——不是自然的笑,是忘了收回去的笑。嘴角维持着弧度,眼睛却没有跟着笑。
她端着香槟的右手微微收紧,食指在杯壁上擦出一道很轻的指纹印。
“你什么意思?”
赵宏远终于开口。他把话筒换到右手,左手空出来,没有接辞呈,也没有推开。他的嘴角还带着刚才敬酒时留下的弧度,但眼神已经从错愕变成了审视。
那种审视我很熟悉。
他每次听汇报时就是这个表情。低着头,眼睛从眉毛下面看人,像是在打量,又像是在掂量。掂量你的分量,掂量你说的话值不值得他认真听。
“辞呈。”我说。
声音不大,但话筒离得不远。音响把这两个字收进去,经过零点几秒的延迟,送到宴会厅的每一个角落。最后一个音节在墙壁上弹了一下,落在水晶吊灯的阴影里。
第六桌传来一声很轻的声响——是周铮把叉子搁在盘子上的声音。叉齿磕在瓷盘边缘,只响了半声,后半声被他用手掌压住了。
赵宏远接过辞呈,但没有打开。
他用拇指和食指捏着纸张的边角,像是捏着一件他不确定要不要的东西。折痕被他的手指压平了一些,那道磨出毛边的痕迹在灯光下变得不那么明显了。
“陆寻,你这是闹哪一出?”
他压低声音,手顺势把话筒往身后挪了挪。但这个动作太晚了,前两句已经通过音响传出去了。
“没闹。”我看着他,“申请离职。”
“现在?”
“现在。”
赵宏远盯着我的眼睛看了三秒。他比我矮半个头,看我的时候需要微微仰起下巴。三秒之后他把辞呈往旁边一递,苏晴下意识接了过去。她接的时候手指碰到纸张边缘,缩了一下,像是被烫到。
“这事回头再说。”赵宏远转过去,重新端起酒杯,对着话筒调整了一下语气,准备继续敬酒流程,“大家继续,别停——”
“赵总。”
我站在原地没动。
“还有一件事。”
他转过身来。
宴会厅的灯光从吊顶上打下来,照在他脸上。他颧骨上有一小块红斑,是刚才喝酒时上脸留下的。他的眉头压得很低,嘴角的弧度彻底消失了。
“说。”
我环顾了一圈宴会厅。
从主桌到十二桌,从第一排到最后一排。每一张桌子上都放着定制的水晶底座,LED灯珠还在不知疲倦地发着冷白光。赵宏远还在等着我说什么。后排有人在交头接耳,窃窃的声音混在一起,像收音机没调到台的沙沙声。
十二桌靠墙的位置,冯玥站了起来。
她没有走过来,就只是站起来。椅子往后推,她双手扶着桌沿,站得很直。
赵宏远的目光扫过去,顿了一下,又回到我身上。
“我所在的整个核心研发小组——”
我停顿了一下。
不是刻意的停顿。是话到嘴边的时候,身体先一步做了反应。胸腔里有什么东西在往下坠,但喉咙又很干,干到发紧。我咽了一口唾沫,感觉到喉结上下滚了一下。
“从今天起,不会再有人留在公司。”
这句话说得不快。每个字之间都有空隙,像是一颗一颗棋子按在棋盘上,落子无声,但每一颗都压在它该在的位置。
宴会厅彻底安静了。
不是那种礼貌的安静,不是那种众人在等待某人发言的安静,是一种更重的东西——像是有人把整个房间的空气抽走了三分之一。剩下的空气不够用,每个人的呼吸都变浅了。
赵宏远的表情变了。
不是从笑变成怒。是从一种笃定变成另一种东西。像是在走一条闭着眼都能走的路,走了十年,每一步都踩在自己知道的地方,然后突然一脚踩空了。不是掉下去,只是踩空了。脚底没有预想中的支撑力,悬在半空中。
他的嘴唇动了一下。没有声音出来。
然后他回过神。他回过神的速度比我想象的快,快到让我确认了一件事——他到这个地步还在以为这是可以控制的事。
“陆寻,”他把话筒彻底关掉,声音压到只有我和身边几个人能听见的程度,“你知道你在说什么吗?”
“知道。”
“你手下五个人,你说带走就带走?”
“是六个人。”我说,“包括我。”
赵宏远的下颌收紧了。他咬肌的位置鼓起来一块,又消下去。他伸出一根手指——食指,指节绷直,对准我的胸口,没有碰到,距离三公分。
“公司待你不薄。你入职六年,从普通开发做到研发负责人,薪水翻了三倍,项目奖金一次没少过你的。你今天来这一出,合适吗?”
“合适。”
我回答的速度让他愣了一下。
不是那种争辩式的对答,是根本不需要思考。答案就在嘴边,嘴一张就出来了。
“上市庆功宴,”我说,“全公司都在这儿。你感谢了投行,感谢了法务,感谢了财务,感谢了行政。你感谢了一个没有写过一行代码的人,说她是你上市的最大功臣。”
我的语气很平。不是质问,不是控诉,就是在陈述事实。像念一份会议纪要,不加任何修饰词。
“研发组一年半。十七个月。五百多个工作日。通宵六十七次。线上事故处理四十三起。核心代码二十七万行。”
我停了半秒。
“你一个字没提。”
话筒虽然关了,但我的声音在安静的宴会厅里还是传得很远。没有音响加持,但每个字都落在一个针掉在地上都能听见的寂静里。
身后有人倒吸了一口凉气。是主桌的方向,不是投行的人就是财务的人。
赵宏远把那根手指收了回去。
他的肩膀往下降了半寸,是那种说话之前先调整姿势的动作。他把两只脚分开,重心下沉,摆出一个掌控全场的姿态。
“功劳大小,不是按加班时长算的。”他的声音恢复了洪亮,像是要把刚才那几秒钟的失态全部抹掉,“苏晴协调的是全局。统筹、对接、资源整合,这些你们看不到,不代表不重要。你们做的是技术落地,是执行层的事。功劳有大小,层级有高低。公司讲究的是全局观。”
“全局观”三个字他咬得很重。
苏晴站在他身后,把辞呈放在桌上,双手交叠在身前。她的站姿又恢复了那种得体的端庄,但是交叠的十指绞得有点紧,指节上有一小片皮肤被自己掐白了。
赵宏远往我这边迈了半步。距离被拉近到一个不太舒适的程度。
“我再给你一次机会,把这东西收回去。”他的下巴朝桌上那张辞呈点了点,“今天是好日子。我不跟你计较。你回去坐着,带着你的人好好把今晚过完。等明天酒醒了,我们再谈。你想谈什么,都可以谈。”
最后五个字他加了重音。每一个字都像是从牙缝里挤出来的,裹着一层薄薄的施舍意味。
高磊在第五桌站了起来。
不是猛的一下站起来的。他先把手里的餐巾对折了一下,方方正正,摆在盘子旁边。然后他双手撑着桌沿,慢慢站起来。起来之后拉了拉西装下摆,把褶皱抚平。
他朝我这边走过来。
赵宏远看着他走过来,眉头皱了一下。高磊走到我身后半步的地方站定,没有说话。
然后是周铮。他从第六桌起身,椅子往后滑了半米,轮子在花岗岩地面上发出一声尖锐的摩擦。他没有绕路,直接穿过两张桌子之间的空隙走过来。
然后是徐远川。他从第八桌起身的时候还在嚼那颗薄荷糖。糖已经被他咬碎了,碎渣在他牙齿之间发出很细微的咔咔声。他走到一半停下来,回头看了一眼第七桌的冯玥。
冯玥点头。
点得很轻,下巴只往下压了一次。她也站起来。
他们走到我身后。
不是排成一排那种刻意的站法,就是自然地聚过来。高磊在左,周铮在右,徐远川和冯玥站在侧后方。没有人说话,没有人叠着手臂,没有人摆出一副要干架的姿态。就只是站着,像在机房加班时的某个凌晨一样,围在一台出bug的服务器前面。
赵宏远看着他们。
从左到右,一个一个看过去。
“你们什么意思?”他的声音升高了半度,“一个个都想走?”
没有人回答。
高磊看着他,眼神很平静。周铮把手插进裤兜里,低着头看着自己面前那块地毯。徐远川还在嚼那颗糖,嚼完了,喉结上下滚了一下。冯玥把一缕头发别到耳后,手指在耳垂上停留了一秒。
苏晴的手从身前放下来了。她的右手攥着左手的手腕,攥得有点紧。手腕上那块皮肤凹下去一圈。
赵宏远往前迈了一步。这一步比我刚才想象的要重,落在地毯上,震得旁边桌上的酒杯晃了一下。
“你们今天谁离开这个门,”他抬起手指,指着宴会厅的大门,“就别想再回来。项目上的交接不做完,离职证明也别想拿。我说话算话。”
主桌上有人站了起来,是投行的代表。他看了一眼这边的场面,把手里的酒杯放在桌上,低声和旁边的人说了句什么,拿起公文包往门口走。
然后是联交所的人。她犹豫了一下,也跟着起身。
赵宏远没看他们。他的眼睛钉在我脸上。
我从桌上拿起那张辞呈。
苏晴把它放在桌上的时候,压住了水晶底座的一角。我拿起来的时候纸张被带了一下,折痕从一道变成了两道,多了一道斜的。
我把辞呈展开。
七个字,墨迹不够黑,但看得清楚。
“因个人原因申请离职。”
我拿起旁边桌上的一支签字笔,在“个人原因”后面加了一行字,手写的,字迹有点歪,但每一笔都写得很慢很稳。
“研发组全员确认同步离职。”
我把辞呈重新递过去。
这次递得很近。纸张边缘几乎碰到赵宏远的胸口。他没有接。
“赵总,”我说,“不是明天再谈。是现在。”
签名栏还空着。我把笔放在辞呈上面,笔身滚了一下,停在纸张中央。
宴会厅里所有的灯都亮着。水晶吊灯,射灯,桌面LED底座,二十七楼的落地窗外还有对面写字楼的灯光。光线从四面八方打过来,把每个人的影子都压得很短很短。
我的拇指终于不再发麻了。
第四章
凉透的茶
第二天早上八点半,我手机响了。
不是电话,是微信。赵宏远的头像跳在锁屏上,一条未读消息,三个字:「来公司。」
没有问号,没有商量,甚至没有假装客气。他发完这条消息之后又补了一条:「九点前到我办公室。」
我从工位上拿起杯子喝了口水。水是昨天接的,在杯子里放了一整夜,凉得发涩。窗外的科技园区已经亮透了,二十七楼看下去,那些方方正正的写字楼在日光下褪去了昨晚的璀璨,露出灰白色的外墙和密密麻麻的空调外机。
昨晚宴会散场之后我送周铮回的家。在出租车上他接了他老婆的电话,电话那头的声音隔着听筒都能听出焦急。预产期在下个月,但刚才有点见红。周铮挂了电话之后用拳头抵着车窗玻璃,指节顶得发白。我让司机先去医院,他摆手,说先回家,明天还有交接。
「你确定?」我在后座问他。
「确定。」他把手从车窗上放下来,十指交叉搁在膝盖上,「今晚不走,以后更走不了。」
高磊在医院群里发了条消息。他说他女儿咳嗽好多了,明天可以按时来公司办手续。冯玥回了个「收到」,后面没加表情包。徐远川没有回,但他凌晨三点在群里分享了新公司的技术架构文档,文件名是一串看不出内容的英文字母。我知道他已经签约了。
九点差十分,我站在赵宏远办公室门口。
门没关严,露出一条两指宽的缝。里面有人在说话,是苏晴的声音。
「——交接清单我昨晚整理好了,研发组所有在途项目的进度都列在里面。不过核心技术部分他们标注得比较简略,可能需要他们补充细节。」
「补充细节?」赵宏远的声音隔着门板传出来,闷闷的,像是被什么东西压着,「他们是离职,不是请假。你现在去跟他们说补充细节?」
苏晴没接话。过了一会儿我听见椅子轮子滚动的声音,是她从办公桌前站起来。
我敲了门。
两下,指关节磕在门板上,声音在空旷的走廊里回荡了一下。
里面的交谈声戛然而止。三秒之后赵宏远说:「进。」
推开门的时候我闻到一股烟味。赵宏远不抽烟,至少我在公司六年没见他抽过。但今天他桌上放着一个烟灰缸,里面躺着一根碾了一半的烟头,滤嘴附近被咬出了牙印。烟是细支的,女士烟。我猜是苏晴的。
苏晴站在办公桌左侧,手里抱着一个文件夹。她今天换了一身深灰色的套装,头发扎起来,比昨晚少了三分风情,多了七分公事公办。她看到我进来,微微点了下头,不是打招呼,是确认。像是在确认名单上的第一个人已经到场。
赵宏远坐在办公桌后面,转椅上,背往后靠,两只手放在扶手上。他穿了一件白衬衫,领口解开了两颗扣子,袖口挽到小臂中段。露出来的手腕上戴着一块表,表盘反光,看不清牌子。
「坐。」他说。
不是邀请,是指令。
我在他对面的椅子上坐下。椅子是真皮的,坐上去往下陷了一点,发出很轻的泄气声。
赵宏远没马上说话。他先端起桌上的茶杯喝了一口,放下来,又拿起来,又放下来。杯底磕在桌面上,两次都磕在同一个位置,发出沉闷的一声闷响。
「昨晚睡得怎么样?」他问。
「还行。」
「还行。」他重复了一遍这两个字,像是把它们放在嘴里嚼了嚼,品出了什么味道。他把茶杯推开,十指交叉搁在桌上,上半身微微前倾。
「陆寻,你跟了我六年。」
他停顿了一下。不是在等我回应,是在等我意识到这六年意味着什么。
「你入职的时候公司刚A轮,整个研发部就你和高磊两个人。服务器是租的,工位是临时隔出来的,空调夏天漏水,冬天不制热。你说你要做架构升级,我给你批了。你说你要扩招,我给你批了。你说你要换技术栈,我给你批了。你交上来的预算我从来没砍过,你招进来的人我一个没拒过。」
他每说一个「你」字,食指就在桌面上点一下。点到最后,指尖压着一份文件。
我低头看了一眼。是我昨晚放在宴会桌上的辞呈,展开过,又折回去了。折痕从两道变成了三道,多了一道斜的。纸张右下角有一小块咖啡渍,已经干了,边缘泛黄。
「你说我对研发组不够重视。」他把辞呈往我这边推了半寸,「我现在重视。你留下,今天下午我开全员会,当众重新评估上市贡献。研发组的功劳我一个字一个字给你念出来。」
他停了半拍,像是给我时间消化这句话。
「条件你开。」
身后传来一声很轻的纸张摩擦声。苏晴把怀里的文件夹翻了一页。
我看着赵宏远的眼睛。他眼白的部分有些血丝,不是没睡好,是昨晚喝酒喝到很晚。衬衫领口内侧有一小块粉底的痕迹,颜色比他的肤色浅一号。他把领口解开了两颗扣子,但那块痕迹还是遮不住。
「赵总,」我说,「我辞职不是谈条件。」
「那你是在干什么?」他把身体往后靠,靠回椅背,两只手重新放回扶手上。他的右手开始转那块表,拇指和食指捏着表盘,左右各转半圈,转了三次。「泄愤?让我在全公司面前难堪?」
「不是。」
「那是什么?」
「走。」
这个字落地之后,办公室里安静了大概五秒钟。空调的出风口在头顶上方发出很低的嗡嗡声。烟灰缸里那根被碾断的烟头还残留着一缕几乎看不见的青烟,弯弯绕绕地升起来,被空调风一吹就散了。
赵宏远从扶手椅上站起来。
他绕过办公桌,走到窗边。窗外是科技园区的正门,一辆货车正在倒车入库,倒车雷达发出滴滴滴的警报声,隔着玻璃听起来很微弱,像是什么东西在很远的地方破碎之前发出的最后警告。
「你觉得你们走了,公司会垮。」他背对着我说。
「我没这么说过。」
「你没这么说,但你是这么想的。」他转过身来,逆光站在窗前,脸部的轮廓被日光削掉了一层,表情模糊。「陆寻,你太把自己当回事了。晟创科技不是靠六个人撑起来的。六百人的公司,离了谁都能转。项目可以交接,代码可以重写,架构可以重构。技术是死的,人是活的。你以为你带走了核心技术,我就找不到人顶上了?」
他从西装裤兜里掏出手机,屏幕亮了。他用拇指在屏幕上划了几下,然后把手机翻转过来,屏幕朝我。
「你看看。」
屏幕上是猎头的聊天记录。我视力不错,隔着两米看清了最上面那条消息。猎头发过来的是一个候选人推荐列表,岗位是「研发负责人」,备注一栏写着「可立即到岗」。
「你看清楚了,」他把手机收了回去,「市场上不缺人才。你们走了,我三天之内就能找到替代的人。你们去的那些公司,竞品也好,大厂也好,能干的项目和这边不一样。你们在晟创的积累,出去了未必值钱。」
他把「未必值钱」四个字咬得很清楚。每个字都像一个棋子,落在棋盘上。
我没说话。
我的沉默被他理解成了犹豫。
「陆寻,」他的语气放软了一些,像是硬的不管用,换一层软的试试,「你还是太年轻。职场上有些事情不是非黑即白的。昨晚我确实没提研发组,这是我的疏忽。但不是我不认可你们,是上市这种大场面,我压力也很大。有些事情想得不周全,你知道我做事情一向讲究轻重缓急——」
「赵总。」我打断他。
他停了。
「你说完了吗?」
他没回答。
我站起来。站起来之后我和他差不多高,他站在窗前,我站在办公桌前,中间隔着一片灰色的地毯和一张胡桃木的办公桌。
「你说市场上不缺人才。」我拿起他桌上的烟灰缸看了一眼,放回去,烟灰缸边缘烫了一小圈焦痕。「对,市场上不缺人才。但市场上不缺的不是能写代码的人。市场上不缺的是能被你半夜一个电话叫起来、穿着拖鞋从出租屋跑回公司、在十三度的办公室里修八个小时bug、修完了不吭一声的人。这些人你不缺,那你三天之内找来给我看看。」
我把辞呈从桌上拿起来,翻到背面。背面有一段我用铅笔写的项目交接清单,字迹很淡,但能看清楚。
「这是研发组所有在途项目的核心模块交接。每个模块的负责人、技术难点、迭代进度、遗留风险,全部列清楚了。写在公司配的电脑上,没有拷贝出去,没有传到外网。今天下班之前会提交到你指定的人手里。如果有任何一项交接不清楚,我们补。」
我把辞呈翻回来,正面朝上,放回他面前。
「离职是我们的决定。交接是我们的本分。你不要把这两件事混在一起谈。混在一起,对你不好。」
赵宏远盯着那张辞呈,没有拿起来。他的右手还攥着手机,指节发白。
门口传来一阵脚步声,很急,是高跟鞋踩在走廊地板上的声音。苏晴走过去拉开门,门外站着行政部的主管余姐。余姐手里拿着一个文件夹,额头上浮着一层薄汗,她的视线越过苏晴的肩膀,直接落在赵宏远身上。
「赵总,联交所那边来电话了。」她声音压低,但房间太小,压低也听得清,「问昨晚的事。说投行的人回去之后跟投行内部做了汇报,联交所想让我们出一个正式的情况说明。他们特别问到了——核心技术团队的稳定性。」
最后三个字她读得特别慢,像是这三个字她从电话里记下来的时候就觉得沉。
赵宏远没有说话。他站在窗前,窗外的阳光从他身后打过来,在地毯上投下一个拉长的影子。影子的一端落在办公桌脚下,另一端被地毯边缘截断了。
苏晴先开口。她把文件夹翻到某一页,用指甲在上面划了一道。
「技术团队的稳定性是招股书里披露过的风险因素。联交所的意思是,如果核心技术人员发生重大变动,需要履行信息披露义务。如果影响重大,可能要启动——」
「我知道。」赵宏远把话截断。
「什么时候需要回复?」
「他们给了两天。」
「够了。」赵宏远把烟灰缸往旁边推开,双手撑在办公桌上,掌心压着桌面,上半身前倾。他就着这个姿势盯着我看了整整五秒。他眼角有一条细纹在微微跳动,频率很快,像是什么东西在皮肤下面挣扎。
「陆寻,你现在收回去,还来得及。」
我没有回答他。
我转过身,朝门口走。走到门口的时候苏晴往旁边让了半步,她的文件夹还摊开在手里,那一页被她指甲划过的地方留下了一道很浅的白色划痕。她的嘴唇动了一下,但最终什么也没说。
我经过她身边的时候闻到一种味道。不是香水,是速溶咖啡。三合一的,很甜的那种。这种甜腻的气味让我想起机房里那些凌晨,冯玥用微波炉反复加热的饭团,米粒硬了又软,软了又硬,咬下去像橡皮。
我在门口停了一步。
「赵总,两天够不够,是你自己的事。我们的交接,今天做完。」
走廊很宽。行政部的人正把昨晚宴会剩下的物料一箱一箱往储物间搬。余姐抱着文件夹跟在搬东西的人后面,路过茶水间的时候冲里面喊了一声:「咖啡豆没了,谁去库房领两袋?」
没有人回答。
第五章
白板
研发部的办公区在三楼。
不是什么好楼层。一楼是前台和大会议室,二楼是高管办公区,四楼是销售和运营。三楼夹在中间,窗户朝北,常年晒不到太阳。天花板上的日光灯管有一根接触不良,每隔几分钟就闪一下,闪得人眼皮跳。
我们组的工位在办公区最里面,靠墙一排。墙上有块白板,上面密密麻麻写满了东西——架构图、接口定义、迭代计划、风险标注。不同颜色的马克笔,黑的是逻辑梳理,红的是bug标记,蓝的是待定方案,绿的是已完成。这块白板我们用了两年,马克笔写过又擦,擦过又写,板面上留下了一层灰蒙蒙的残影,怎么擦也擦不干净。
我把离职申请表从打印机里抽出来的时候,纸张还是热的。
一共六份。高磊、周铮、徐远川、冯玥,还有测试组的许晏。加上我。
昨晚从宴会厅出来之后,我们在楼下的便利店里坐了一会儿。许晏是后半夜赶来的,她本来那天休息,在家带孩子,看到群消息之后把小孩哄睡了,打车过来。来的时候还穿着家居服,外面裹了一件羽绒服,拉链拉歪了。她走进便利店的时候所有人都没说话。高磊把自己面前那杯没喝的热牛奶往她那边推了推。
许晏坐下来之后问了一句:「写代码的人全走了,测试还留下干嘛?」
没有人回答。高磊站起来,跟店员多要了一个杯子。
现在这六份离职申请表摊在我桌上,纸张边缘被打印机加热过,微微卷曲。高磊拿起一份,从头到尾看了一遍,从笔筒里抽出一支黑色签字笔,在签名栏写下自己的名字。笔画很慢,每一横每一竖都压得很实。写到最后一个字的时候,笔尖在纸上停了片刻,然后抬起来。
他把笔搁在桌上,笔身滚到键盘旁边停住。
「六年。」他说。
就两个字,没有前因后果。
周铮签得更快。他甚至没有细看表格内容,直接翻到最后一页,签完合上,把笔夹在封面里。签完之后他拿起手机走到窗边,给他老婆打了个电话。他说话的声音压得很低,但办公区太安静了,有几个字飘过来——「签了」「下午去医院」「别担心」。
徐远川签字之前把表格从头到尾看了一遍。每个条款、每个时间节点、每个空白栏,他都用手指点着一行一行读下去。读到最后一页的时候他停了很久,然后从兜里掏出那颗还没吃完的薄荷糖,剥开糖纸,含进嘴里。糖纸被他叠成一个小小的正方形,压在键盘底下。那个键盘底下已经攒了一排这样的小正方形,有十来个。
「你这些糖纸,」冯玥指了指键盘,「走的时候要带吗?」
徐远川想了想,把糖纸一个一个捡出来,装进外套口袋里。
冯玥最后一个签。她把申请表摊开,从自己笔筒里拿出一支笔。那支笔是粉色的,笔帽上挂了一个很小的兔子挂件。她签完之后把笔帽盖回去,兔子挂件晃了一下。
「我桌上的绿萝,能带走吗?」她问。
「能。」高磊说。
「机房里那盆也带走。」
「行。」
交接工作在下午两点正式开始。
赵宏远安排了人来接手。来的人叫彭旭,是新招的技术经理,入职不到三周。他以前在一家外包公司做项目管理,简历上写得很漂亮,实际坐到白板前面的时候,眼神是飘的。
我拿着马克笔站在白板前,把架构图上的每一个模块指给他看。从最底层的数据层开始——数据库选型、分库分表策略、索引优化方案、备份容灾机制。然后是中间的业务逻辑层——微服务拆分、接口协议、消息队列、缓存策略。再往上到应用层——前端框架选型、组件库维护、打包部署流程。最上面是监控和运维——日志采集、报警规则、性能调优参数。
我每讲一个模块,就在旁边用蓝色马克笔写一个时间节点。不是计划时间,是实际发生过的——哪次大促前做了扩容,哪次被攻击时做了限流,哪次版本回滚是因为兼容性测试没到位。这些事写不进周报,但白板记得。
彭旭拿着笔记本在记。他的字写得很快,快到有些地方他自己回过头来看都认不出来。他问了一些问题——「这个接口的调用频次上限是多少」「这个缓存穿透你们用的什么方案」「这个SQL优化是基于哪个版本的执行计划」。
都是好问题。
但好问题救不了一个人没经历过那六十七个通宵的事实。
高磊带着彭旭的人看测试环境。测试环境搭在三台旧服务器上,机器是公司三年前淘汰下来的,硬盘转过两次,电源换过一次。高磊把部署脚本的目录结构拉出来,一行一行解释。说到一半的时候,测试环境的登录页面突然报了个504错误。
彭旭的人皱起眉头。
高磊没皱。他蹲下来,拉开服务器机柜最下面的抽屉,从里面翻出一个用胶带缠了两圈的电源适配器。适配器的插头有点松,他用拇指按住插头和线的连接处,保持了三秒,页面恢复了。
「冬天的时候温度低,插头热胀冷缩。」他把适配器放回抽屉,站起来拍了拍膝盖上的灰,「夏天就好了。」
彭旭的人在本子上写了一个字,又划掉了。大概他也不知道这个信息应该归档在哪里。
下午四点,苏晴下来了。
她带了一份交接确认书,打印好了,格式工整,用回形针别着。她走进研发办公区的时候高跟鞋踩在防静电地板上,发出一种很轻的、有规律的哒哒声。她环顾了一圈正在收拾东西的工位,视线在墙上的白板上停了几秒。
「交接都顺利吗?」她问彭旭。
彭旭合上笔记本,斟酌了一下用词:「框架层面的东西基本清楚了。但一些具体的——具体的历史遗留问题和极端场景的应对经验,可能还需要一些时间消化。」
「多久?」
彭旭没立刻回答。他看了看白板上密密麻麻的架构图,又看了看正在收拾个人物品的研发组,嘴唇动了一下,给出了一个他自己都不太确定的答案。
「可能——两周?」
苏晴点了点头,表情没有任何波动。她的眼睛扫过冯玥桌上那盆绿萝,扫过徐远川键盘底下一排还没来得及收的薄荷糖纸,扫过高磊椅背上搭着的那件洗得发白的工装外套。这些细节她都看到了,但没有在任何一处停留超过一秒。
她走到我面前。我已经开始清理工位了。桌上的东西不多——一个茶杯,一个名片夹,一叠便利贴,还有一个相框。相框里是我大学毕业那年的照片,穿学士服,站在图书馆前面。那时候比现在瘦,头发也多一些。苏晴把交接确认书放在我桌上,回形针磕在桌面上,发出一声细微的金属声。
「陆寻,」她朝白板扬了扬下巴,「那个,需要拍照归档吗?」
「不用。」
「为什么?」
「归档了也没人看。」
她停顿了一下。然后她从文件夹里抽出一张空白的确认单,放在交接材料旁边。
「研发组六个人的离职流程,我这边统一跟进。社保转出、离职证明、竞业协议解除,法务那边需要三个工作日。离职证明开出来之后我会通知你们来取。」她把笔递过来,「这张是办公用品归还确认单,签一下。」
我接过笔,没有立刻签。我看着她的眼睛。她的眼妆画得很精致,眼线收得很干净,睫毛膏刷得恰到好处。但我注意到她左眼眼角有一小块红血丝,藏在眼线下面,不仔细看看不出来。
「苏晴,」我说,「昨晚赵总说的那些话,你信吗?」
她的笔停在半空。
「哪些话?」
「你是最大功臣。」
笔尖在纸张上方悬了不到一秒,然后落下去。她在另一份文件上签了自己的名字,字迹和平时一样工整。
「赵总想怎么说,是赵总的事。我做好我分内的工作就好。」她把签好的文件收进文件夹,合上,抱在胸前。「交接辛苦了。」
她转身朝楼梯口走。走到一半的时候高跟鞋的声音忽然停了。她站在冯玥的工位旁边,低头看着桌上那盆绿萝。绿萝的叶子垂下来,最长的那根藤蔓已经拖到了桌沿。她伸出手,用指尖碰了一下最上面的那片叶子。叶片轻轻晃了一下。
然后她收回手,继续往前走。
高跟鞋的声音在楼梯间里越来越远,最后被三楼防火门关上的声音截断了。
晚上七点,工位清空了。
高磊把马克笔全部装进一个透明的笔袋里,拉上拉链,放在白板下方的凹槽里。红黑蓝绿,四种颜色,每一支都用得只剩半截墨。周铮把测试组的bug跟踪表整理了一份电子版,发给了彭旭,邮件的最后一行写的是「如有疑问请随时联系」,后面留了自己的手机号。徐远川把数据库的运维文档重新排版了一遍,字体从宋体改成了思源黑体,标题加粗,目录加了超链接。许晏把所有自动化测试脚本的注释从简写改成了完整说明,每一个assert语句后面都补了预期结果的描述。冯玥把机房那盆绿萝抱了下来,和桌上的那盆放在一起。两盆绿萝挨着放在纸箱里,叶子交叠在一起,分不清哪片是哪盆的。
白板上的字我们没有擦。
赵宏远在七点半的时候又打了一个电话过来。不是打给我,是打给高磊。高磊看到来电显示的时候正在搬纸箱,他把纸箱放在椅子上,走到窗边接通。他说话的声音很低,听不清内容,但语气从头到尾没有起伏。最后他说了一句「我已经决定了」,挂掉电话,把手机静音,放进口袋。
回到办公桌前,他从抽屉最里面翻出一个工牌。那是他入职第一年用的,塑料膜已经翘边了,照片上的他比现在瘦很多,头发也黑。他把工牌翻过来,背面贴着一张便利贴,便利贴上写了四个字,笔迹很淡:高磊,研发部。
便利贴是六年前赵宏远亲手写的。那时候公司刚二十几个人,每个人入职赵宏远都会手写一张便利贴贴在工牌后面。后来人多了,这个习惯就断了。
高磊把便利贴撕下来。
撕得很慢,从右到左,一点一点揭开。便利贴背后的胶早就干了,没用太大力气就揭下来了,没有残留,工牌背面只留下一块比周围颜色略浅的方形痕迹。他把便利贴对折,再对折,放进工装外套的口袋里。和徐远川的薄荷糖纸放在一起。
「走吗?」他问我。
「走。」
我最后看了一眼那块白板。日光灯管又闪了一下,在白板上投下一道短暂的阴影。架构图上的红色标记在阴影里暗了一瞬,然后又亮起来。那些标记是我们花了十七个月留下的——每次线上事故的复盘,每次性能瓶颈的突破,每次被推翻重来的方案,每次在凌晨三点敲下的最后一行代码。
我伸手把白板旁边的总开关按掉。
日光灯管发出一声微弱的电流声,灭了。办公区陷入一片灰蓝色的黄昏。窗外的科技园区亮起了路灯,橘黄色的光穿过朝北的窗户照进来,落在那块写满了字的白板上,像一场漫长的落日。
冯玥抱着她的两盆绿萝等在电梯口。徐远川背着一个双肩包,里面装着他的机械键盘和那排薄荷糖纸。周铮把手机调成了勿扰模式,屏幕上只留了家里人的快捷拨号。许晏把羽绒服的拉链重新拉好,这次拉正了。
电梯来了。
门打开的时候里面站着一个送快递的小哥,怀里抱着一个纸箱,纸箱上印着晟创科技的logo。他看看我们,又看看我们手里的纸箱。
「下班了?」他问。
高磊看了他一眼,跨进电梯。
「不是下班,」他说,「是下班了。」
电梯门缓缓合上,把三楼的办公区、白板和那些没擦的字迹全部关在身后。
第六章
暗线
离职手续走得比预期的快。
法务那边第三天就出了离职证明。六份,用印统一,骑缝章盖得规规矩矩。我拿到手的时候注意到落款日期写的是我们递交申请的当天,不是今天。公司法务显然不想在这个问题上留下任何把柄。
竞业协议的事情也解决了。我们签过竞业,期限两年,范围涵盖了市面上几乎所有有点规模的科技公司。但这份协议有个漏洞——触发条件是公司支付竞业补偿金。法务找赵宏远确认的时候,赵宏远在邮件里回了两个字:「不付。」
法务把邮件转给我看,我看了之后没有表情。
竞业补偿金按我们六个人的薪资算,两年下来大概两百万出头。赵宏远觉得花两百万锁六个已经离职的人不划算。他觉得市场上不缺人才,他觉得三天就能找到替代的人。
那天是离职后的第五天,周五。
高磊在群里发了一条消息,说新公司的offer全部落地了。六个人,分了两家公司,都是之前在对接的时候就已经谈好的。一家是晟创的直接竞品,做同样的赛道,产品形态高度重合。另一家是头部大厂下面的一个独立业务线,正好在搭建和晟创同类型的产品架构。
待遇没有赵宏远最后开出的价码高。但合同里写了技术自主权,写了团队独立预算,写了核心决策我们说了算。
高磊说这叫「技术合伙人级别」,我说这叫不用再给任何人做嫁衣。
周六下午我们在科技园旁边的一家茶馆聚了一次。不是庆功,不是复盘,就是单纯想找个地方坐坐。离职之后各自都在忙入职体检、背调、搬家这些琐事,五天没见面,群里的消息倒是没断过。
茶馆是冯玥挑的,她说这家的茉莉花茶不错。我们到的时候她已经坐在包间里了,面前摆着一壶茶,六个杯子,每只杯子下面都垫了一片薄荷叶。不知道是不是故意的——因为徐远川。
「你什么意思?」徐远川看着薄荷叶。
「没意思。」冯玥端起自己的杯子抿了一口,眼睛弯了一下。
许晏到的时候带了一袋橘子,说是家里多的,吃不完。她把橘子往桌上一倒,橘子滚了一桌,周铮伸手拦住两个差点滚下桌沿的。
「你小孩呢?」周铮问。
「我妈带着。」许晏剥了一个橘子,橘皮撕开的时候溅出一小股汁水,空气里弥漫开一股酸甜的味道。「我出门的时候他在睡觉,攥着拳头,两只手举在耳朵旁边。」
她把橘子掰成两半,一半递给冯玥。
话题兜兜转转,最后还是拐回了晟创。
高磊说彭旭昨天给他打过一个电话。不是公事,是私人请教。彭旭说测试环境的电源适配器又松了,他按照高磊的办法按了三秒,没反应。高磊在电话里问清楚了他按的位置,纠正了一下——不是按插头,是按插头和线的连接处,拇指和食指捏住连接处两边的线,往里推,保持三秒。彭旭试了一次,好了。
「然后他问我,」高磊端起茶杯,「这些东西有没有文档。」
「你怎么说?」
「我说有。在我脑子里。」
周铮笑了。不是那种幸灾乐祸的笑,是一种很疲的笑。笑完之后他把橘子皮一片一片摆成一个小圈,摆在桌面上。
「彭旭这个人其实不错。」周铮说,「问题不在他。」
徐远川把薄荷叶从杯子底下抽出来,放进嘴里嚼了嚼。嚼完之后他说了一句比他平时说话长得多的话。
「问题在白板被擦了。」
所有人都安静了。
高磊把茶杯放下来,杯底磕在茶盘上,很轻的一声。
「什么时候的事?」
「前天。」徐远川说。他前天回了一趟公司,是去取社保转移单。路过三楼的时候发现防火门开着,里面有人在施工。他走进去看了一眼。白板上的字全没了。不是被擦掉的——是整块白板被拆下来,换成了一块新的。
「新的上面写了什么?」
「什么都没写。」徐远川把嚼碎的薄荷叶咽下去,「一片白。」
六个人围着茶桌坐着,没有人说话。茶壶里的茉莉花茶已经凉了,香气散了大半。窗外是科技园区的周末午后,广场上有几个小孩在放风筝,线拉得很长,风筝在楼群之间时隐时现。
我的手机震了一下。
是内部消息。苏晴发来的,没有客套,没有前因后果,就一段话。
「陆寻,赵总让我转达:公司正在评估庆功宴事件对股价和投资信心的影响。如果有需要,可能会追究相关责任。建议你们配合后续可能的调查,不要对外散布不实言论。谢谢。」
我把手机翻转过来,屏幕朝下扣在桌上。
「怎么了?」高磊问。
「苏晴。」我说。
「说什么?」
「威胁。」我把手机翻过来,把屏幕推给他看。高磊看完把手机推给周铮。一个接一个传了一圈,最后回到我手里。
冯玥看着自己杯子里那片泡得透明的薄荷叶,语气很平淡:「她还真是一点都不浪费自己的位置。」
「她也不容易。」许晏说了一句让所有人都意外的话。她把手里的橘子皮叠在一起,叠成一个小堆,放在烟灰缸旁边。「你们想想,我们现在走了。白板换了新的。但项目总得有人做。彭旭撑不住,赵宏远迟早会把压力全部转到她身上。她没有技术背景,没有团队支撑,没有我们这些人在底下兜底。她把赵宏远哄得再好,也不可能凭空变出代码来。」
许晏端起杯子喝了一口凉茶。
「她踩着我们上去。现在梯子撤了,她站在高处,风大不大,只有她自己知道。」
大家没有再讨论苏晴。
周铮换了个话题,说新公司下周入职,团队独立办公室在十五楼,窗户朝南。他说这句话的时候看了一眼窗外。科技园区的写字楼在午后的阳光下闪着光,每一栋看起来都差不多,方方正正,玻璃幕墙,空调外机。
但窗户朝南和窗户朝北是两回事。
当天晚上我收到一封邮件。
发件人是彭旭。不是公司邮箱,是个人邮箱。邮件很短,但每一个字都像是斟酌了很久才敲下去的。
「陆哥,冒昧打扰。我接手研发部一周了,有些事情想跟你请教一下。不是技术问题,是定位。我发现晟创的核心系统有大量定制化的底层逻辑,和市面上通用的开源框架差别很大。这些定制的部分,文档里只写了'见白板'。现在白板被换了。我知道你们已经离职,没有义务再解答任何问题。但我还是想问一下——有没有备份?」
我从头到尾读了两遍。第一遍读得很快,第二遍在「见白板」三个字上停下来。彭旭不知道,白板上的那些东西本来就是没有文档的。所有历史遗留问题的解决方案,所有极端场景的应对策略,所有被推翻三次以上才定下来的架构决策,都在白板上。用马克笔写的,四种颜色,写了擦,擦了写。不是我们不做文档,是那些东西变化太快。文档写完第三天就过时了,只有白板是活的。现在白板被换成了一块新的,一片白。
我没有回复彭旭。不是不想帮,是帮不了。那些东西在我们脑子里,不在任何备份里。六个人都走了,白板上的东西就真的没了。除非我们把每个人都叫回来,站在一块新的白板前面,用四种颜色的马克笔重新写一遍。
但我们不会回来了。
第二天一早,高磊给我转了一篇行业媒体的报道。报道标题是:「晟创科技上市首周股价跌破发行价,核心产品迭代停滞引发市场担忧」。正文里提到了技术团队变动,用词很谨慎,只说是「正常的人员流动」。但评论区有人直接点了我们的名字。
「研发六人组集体出走,走得干净利落,一个都没留。」
下面有人跟帖:「走得干净,但有没有竞业限制?」
又有人回:「听说老板自己放弃了竞业。」
然后是一串省略号。
高磊转给我的时候只加了一句话:「他们比我们还在意。」
下午三点,赵宏远的电话打过来了。不是打到我的手机上,是打到新公司。他找的是我们新公司CTO。
CTO姓宋,四十出头,以前和赵宏远在同一个行业协会有过一面之缘。赵宏远的电话打过来的时候,宋总正和我在会议室聊技术选型。
他接起电话,开了免提。
「老宋,是我,赵宏远。」电话里的声音和几天前在办公室里一模一样,洪亮、自信、每个字都像是在敲回车键。「听说你那边收了几个人,是从我这出去的。」
「是有这么回事。」宋总回答得很平稳。
「咱们是老相识了,我就直说。」赵宏远顿了顿,「这几个人离职的时候流程上还有点问题。不是大问题,但后续可能需要他们配合一下。你们那边要是方便,能不能让他们回来一趟?」
宋总看了我一眼。我摇了摇头。
「老赵,」宋总说,「人是你自己放走的。离职证明是你那边开的,竞业是你不续的。现在说流程有问题,不太好听。」
电话那头安静了片刻。
然后赵宏远的语气变了。不是愤怒,不是服软,是一种更复杂的东西。像是你走上了一条桥,走到中间才发现桥的另一头被拆了。
「宋总,晟创现在的情况——」
「我看新闻了。」宋总打断他,「老赵,有句话你可能不爱听。但你也是创业十几年的人了,应该懂一个道理。」
「什么道理?」
「平台不是核心竞争力。」宋总看了我一眼,「人才是。」
电话挂掉之后,会议室安静了很久。窗外的暮色从玻璃幕墙上慢慢渗进来,把白板上的架构图染成一片深浅不一的蓝。宋总把手机放回桌上,拿起马克笔,在架构图上加了一个模块。
「这个地方,」他指着那个模块,「你刚才说的方案可以落地。预算我批。」
我看着他画的那个框,和他刚才说的话一样干净利落。
那天晚上我回了一趟晟创科技所在的那栋楼。不是去公司,是去了楼下的便利店。便利店的店员还是那个总打瞌睡的大叔,他认得我,问了一句「又加班?」我把一瓶矿泉水放在柜台上,扫码的时候看了一眼外面的写字楼。
二十七楼的灯还亮着。宴会厅那一层。今天没有庆功宴,灯光不是那种璀璨的金色,是冷白色的日光灯。有人在加班。不知道是谁,不知道在做什么,不知道他们有没有发现三楼的白板换了新的。冷白色的光线从二十七楼的窗户里泄出来,和科技园区其他写字楼的灯光混在一起,远远看过去,分不清哪一盏是晟创的,哪一盏是别人的。
第七章
雪崩
离职后的第十二天,彭旭也辞职了。
消息是冯玥发到群里的。她还在几个晟创前同事的微信群里,午休的时候截了一张图出来。截图是彭旭发的朋友圈,只有一行字:「尽力了,能力有限,抱歉。」配图是一杯喝了一半的咖啡,旁边放着一块拆下来的硬盘。硬盘标签上写着「晟创科技·核心数据库·2019-2025」。
我在新公司的工位上看到这张截图,拇指悬在屏幕上方,停了片刻。然后锁屏,把手机翻过去,屏幕朝下。
新工位靠窗,窗户朝南。十五楼的阳光从上午十点开始照进来,落在键盘上,落在茶杯里,落在显示屏的边缘,折出一道很淡的光斑。高磊坐我隔壁,他正戴着一只耳机听新项目的需求评审,一边听一边在笔记本上画架构草图。他的字还是那么小,密密麻麻挤在一起,像是在省纸张。
「彭旭走了。」我说。
高磊把耳机摘下来,拿起我的手机看了一眼。看完之后他把手机还给我,重新戴上耳机。但耳机只戴了一边,另一边他扣在桌上。过了半晌,他说:「他撑了十二天。」
语气很平,像是在陈述一个实验数据。
彭旭离职的消息在行业内传得很快。不是他自己传的,是猎头。他在招聘网站上更新了简历,状态改成「在职-考虑机会」,不到半天就有猎头把他还在职的那家公司扒了出来。晟创科技的研发负责人入职三周就离职——这个信息在猎头圈子里的价值,比任何简历都值钱。
当天下午,我的微信收到了四个猎头的好友申请。
第一条申请消息写的是:「陆总好,有头部公司CTO岗位,薪资open,方便聊聊吗?」
第二条写的是:「听说您最近在看新机会?手上有几个不错的项目——」
第三条写得更直接:「晟创现在的情况我们都听说了,您这边的选择非常明智。」
第四条来自一个备注叫「猎头·老余」的人,他的申请消息和前面三条不一样:「陆寻,我这边有个客户想找你聊聊。不是挖人,是想请教几个技术问题。方便的话回个消息。」
我通过了老余的好友申请。
他很快就发了消息过来:「晟创那边你们做的那个核心架构,现在市面上有人在找替代方案。我客户是投资人,他们投的项目被晟创的产品卡了半年,现在听说晟创技术团队散了,想评估一下有没有切入机会。」
我没有回复。把手机放回桌上,继续看新项目的技术选型文档。
高磊偏过头扫了一眼屏幕。「投资人都找到你了?」
「猎头那边转的。」
「消息传得比代码还快。」他把耳机完全摘下来,线缠在手指上绕了两圈,然后松开。「当年我们熬夜修bug的时候,怎么没见这么多人盯着我们。」
晟创的股价在那之后又跌了三天。
第一天跌了百分之四。财经新闻的标题是「晟创科技上市后首次收跌,市场观望情绪浓厚」。第二天跌了百分之七。标题变成了「晟创科技连续两日下挫,核心产品迭代进度引发投资者担忧」。第三天跌了百分之十一。标题干脆利落——「晟创科技跌破发行价,上市不足一月市值蒸发逾三成」。
高磊把新闻链接一条一条转发到群里,每条后面都加了一个句号。不是省略号,不是感叹号,就是句号。三个句号,一人一个。
周铮在新公司试用期的第一周请了半天假。他老婆生了。顺产,六斤三两,女孩。他在群里发了一张照片,照片上他穿着无菌服,抱着一个皱巴巴的小婴儿,眼睛红了一圈,嘴角咧到了一个收不回来的角度。他说孩子名字想好了,叫周念。不是念书的念,是念想的念。
「念什么?」冯玥问。
「念想。」周铮说,「希望她长大了,做一个能被人记住的人。」
群里安静了一会儿。然后高磊发了一个红包。冯玥发了两个。徐远川发了三个,备注写的是「买奶粉」。
许晏没发红包。她在群里发了一段语音,背景音是婴儿的啼哭和护士推车经过的轱辘声。她说:「我以前在晟创测试组的时候,每次发现一个bug都觉得是给自己积德。现在我抱着这个小东西,忽然觉得那些bug也不算什么了。」
语音播完之后她又发了一条文字:「但我还是不会回去。」
赵宏远的电话是在第四天早上打来的。
不是打到我手机上,是打到了我们新公司的前台。前台小姑娘转接给我的时候,用口型说了三个字:「赵宏远。」
我接过听筒,没有先开口。
电话那头的呼吸声很重。过了大概五秒,赵宏远的声音从听筒里传出来,沙哑得像是换了一个人。
「陆寻。」
「嗯。」
「彭旭走了。」
「我知道。」
「他走之前跟我说了一句话。」赵宏远停了一下,我听见他那边有翻纸的声音,很慢,纸张和纸张之间的摩擦声被听筒放大,沙沙的,像是有人在数剩下的牌。「他说,晟创的核心系统,从底层架构到中间件到业务逻辑层,都是你们团队定制的。文档里写了'见白板'的地方有十七处。十七处,每一处都是关键模块。现在白板被换了,这些模块的内部逻辑除了你们六个人,没人看得懂。」
他又停了一下。这一次停得更久。我听见他喝了一口水,杯子放回桌面的时候手不够稳,杯底磕在桌上,发出一声闷响。
「他说他翻遍了所有交接文档,找不到这些模块的完整解释。他说他试着联系过你们,没有回复。」
「对。」我说,「他给我发过邮件。」
「你为什么不回?」
「因为帮不了。」我把听筒换到另一边耳朵,「白板上的东西不是文档能承载的。那些逻辑改过太多遍,每一次改动都有原因。某个参数为什么取这个值,某个接口为什么用这个协议,某个缓存策略为什么设这个过期时间——这些决策背后是十七个月里发生的四十三起线上事故、六十七次通宵和无数个被推翻重来的方案。我们走的时候把能写的都写了。写不出来的,就是写不出来。」
电话那头沉默了。
不是那种在思考怎么回应的沉默,是一种更深的沉默。像一个房间里最后一个人关灯之前,站在门口回头看了一眼。
「公司现在的状况很不好。」赵宏远终于开口,声音又降了半个调,「股价连跌了四天。投资人那边在给压力。核心产品的迭代已经停了两周。运维那边靠彭旭留下的运维手册在勉强撑着,但昨天凌晨出了一次线上事故,服务挂了三个小时。运维组折腾了一整夜,最后是重启了所有服务器才恢复。他们找不到根因。」
「我知道。」
「你怎么知道?」
「因为那个事故的根因和我们去年十一月修的那个并发bug是同一个问题,只是触发条件不一样。」我把听筒夹在耳朵和肩膀之间,腾出右手拉开抽屉,从里面翻出一个旧笔记本。笔记本封面上贴着一张便利贴,便利贴上写着四个字:「线程锁。」我翻了翻笔记本里夹着的资料,每页纸上都有墨水洇开的痕迹。「当时我们修了核心问题,但外围还有三个关联模块没来得及重构。这些都在白板上标了红色。红色标记的意思是'已知风险,待排期处理'。」
听筒里传来一声很轻的声音。不是叹气,是那种把一口憋了很久的气从牙缝里挤出来的声音。
「你走之前为什么不说?」
「说了。」我把笔记本合上,「写在交接文档第五页第十七行。」
赵宏远没有接话。
我听见他在那边按键盘。鼠标点了几下,然后停了。他大概是在翻那份交接文档,翻到第五页,第十七行。然后他沉默了。
「找到了?」
「找到了。」他的声音变了一个调,「当时没人看。」
我没有说话。
「陆寻。」他叫我的名字,然后停了好一会儿。我听见他那边有椅子轮子滚动的声音,是他在办公室里来回踱步,皮质转椅的轮子在木地板上碾过,发出断断续续的摩擦声。然后是打火机的声音,一下,两下,三下,每一下都只擦出火花,没有点着。他把打火机搁在桌上,金属磕在木质桌面上,发出一声低沉的撞击。
「回来一趟。」他说。这四个字说得很快,像是怕说慢了就说不出口。「条件你开。」
「赵总——」
「别叫我赵总。」他打断我,「叫我赵宏远。」
我没有叫。
我把听筒换回右手,拇指压在话筒底部。新公司办公室的落地窗外,十五楼的阳光正照在对面的写字楼上。那些大楼和晟创所在的科技园区隔了三条街,从这个角度看过去,玻璃幕墙反着光,分不清哪栋是哪栋。但我知道那个方向。二十七楼的宴会厅,三楼的研发办公室,一块被换掉的白板,十七处写着「见白板」的关键模块。
「赵总,」我说,「我走的那天晚上,在庆功宴上,我递辞呈之前,你正在敬第三桌的酒。那时候你身边站着苏晴,你正在跟合作方聊上市当天的涨幅。如果那天晚上我没有递辞呈,你不会记得研发组任何一个人的名字。」
他那边没有声音。
「现在你记得了。」我说,「但这和后悔是两回事。你是没办法了才想起我们,不是因为我们值得。」
我挂了电话。
高磊在旁边从头听到了尾。他放下手里的笔,把笔记本上画到一半的架构草图推到一边。
「他还会再打。」
「我知道。」我把手机放回桌上,屏幕朝上。
当天晚上赵宏远果然又打了电话。这次不是打到公司,是直接打我的手机。我在出租屋的阳台上接的,阳台很小,只能放下一张折叠椅和一盆冯玥送的绿萝。绿萝的叶子在夜风里轻轻晃着,最长的藤蔓已经爬到了栏杆外面。
电话响了很久我才接。
「陆寻。」赵宏远的声音在夜风里听起来更哑了。电话那头有回音,大概不是在办公室。我听见背景音里有电梯到站的提示音——是一楼。科技园区的电梯提示音都是一个调子,听了六年,不会认错。
「你在公司?」我问。
「在楼下。」他说,「便利店的灯还亮着。」
我握着手机,没有接话。阳台外面的城市灯火通明,远处的快速路上车流不息,尾灯连成一条红色的河。便利店的那个大叔大概又在打瞌睡了。收银台旁边的关东煮还在咕嘟咕嘟冒着热气,茶叶蛋在卤水里翻了个身。
「今天下午你挂了电话之后,」赵宏远说,「我一个人坐在办公室想了很久。你走了十二天,彭旭走了两天,我换了三个外包团队来做技术评估。三个团队给出的结论都一样:核心系统重构需要至少六个月,期间现有业务会全部停摆。投资方那边听到这个评估结果,直接下了最后通牒——两周之内恢复产品迭代,否则启动管理层问责。」
他停顿了一下。
「他们说管理层问责的意思,就是让我走人。自己创立的公司,上市不到一个月,被自己请来的资本踢出局。」
我听见他点了一根烟。打火机这次点着了,火苗蹿起的声音被话筒收进来,短暂而清晰。他深吸了一口,吐出来的气息在话筒里变成一阵杂音,像风吹过一片空旷的停车场。
「你说得对。庆功宴那天晚上,我确实不记得你们的名字。不是记不住,是没去想。一家公司到了上市这一步,创始人眼里看到的都是资本、资源、市场、股价。技术?技术是底层的东西,地基。谁会趴在地上看地基?都仰着头看顶楼。」
烟头被掐灭。他把烟头丢进什么容器里,发出一声很轻的滋啦声。
「现在顶楼还在,地基被人抽走了。」
我靠在阳台栏杆上,绿萝的叶子蹭过手背。凉凉的,带着一点泥土的味道。
「你说完了?」
「说完了。」他停了一下,「但还有一句。以前我总觉得,平台是公司给的,你们是在这个平台上做事的。平台在,换谁都能做。现在我知道我想反了。平台是你们搭的。你们走了,平台就只剩一个架子,风一吹就散了。」
他把话筒拿远了片刻,我听见便利店的自动门打开又关上,发出叮咚一声提示音。然后他又把话筒拿近。
「但这一句不是求你回来。这一句是我之前欠你们的。你六年的加班、高磊六年的通宵、周铮在医院走廊上写的代码、徐远川扫过的两千三百万条记录、冯玥用微波炉热的那些饭团——不是苏晴做的。」
他把电话挂了。
第八章
归零
我拿着手机在阳台上站了很久。绿萝的叶子在我手背上蹭来蹭去,叶面上凝了一颗夜露,顺着叶脉滑下来,落在我的手背上。凉意渗进皮肤,一点一点往深处渗。
高磊说得对。赵宏远还会再打。但他猜错了打来之后会发生什么。他猜我会心软,会动摇,会想起那些在晟创待过的六年里不那么糟糕的时刻。事实上我确实想起来了。但不是想起那些不那么糟糕的时刻,而是想起那些不那么糟糕的时刻有多廉价。
我记得四年前公司拿到B轮融资,赵宏远在全员会上说「每一个晟创人都是公司的基石」。散会之后高磊去了一趟财务,问能不能给研发组申请换几把好一点的椅子。财务说预算要等到下个季度。下个季度到了,椅子没换,赵宏远的办公室倒是重新装修了一遍。苏晴当时还是行政前台,她负责对接装修公司,在走廊里打了十几通电话,声音很甜,句句都是「赵总的审美」「赵总的要求」「赵总的时间」。这件事她确实做得好——装修队进场的当天晚上,赵宏远站在新办公室的胡桃木办公桌前,拍了拍桌面,说了句「不错」。苏晴抿着嘴笑了,当天下午就在朋友圈发了一张办公室的照片,配文是「和优秀的人在一起做优秀的事」。
第二天早上我到了新公司,高磊已经在了。他坐在工位上,面前摊着一份打印出来的架构设计文档,旁边放着一杯美式咖啡,咖啡已经凉透了,表面浮着一层薄薄的油脂。他看我走进来,把椅子转过来。
「赵宏远昨晚打你电话了?」
「打了。」
「说了什么?」
「说地基被抽走了。」
高磊看着我的表情,没有追问。他把转椅往旁边挪了半米,给我腾出工位的空间。「老宋找你。说九点半开会,新项目的启动会。资方和产品的人都会到。」
我点了点头,打开电脑。屏幕亮起来的时候弹出了一封邮件,是宋总凌晨一点发的,收件人是我们六个人。邮件主题是「新项目立项通知」,正文第一句是:「感谢各位选择加入。」正文最后一段有一句话被加了下划线:「技术决策权完全归属研发团队,管理层不干预架构层面的任何决定。」
我盯着那条下划线看了半晌。宋总大概也知道晟创发生的事。一个CTO在凌晨一点发的邮件里特意把这句话加了下划线,不是随手的。
上午的启动会在十五楼的会议室开的。会议室朝南,一整面落地窗,阳光从九点半开始灌进来,把整张会议桌照得发亮。产品负责人先上去讲了市场调研,然后是运营负责人拆了用户画像,然后是财务负责人报了预算。最后宋总站起来,走到白板前面,拿起一支黑色的马克笔。
「技术选型,架构设计,研发排期——这些我不讲。」他把马克笔放在白板下方的凹槽里,转过身面对所有人,「这些是陆寻他们的事。我今天只说一件事。这个项目的技术底座,从零到一,全部由新组建的研发团队独立完成,不接受管理层干预。在场各位有疑问吗?」
没有人说话。
宋总的目光在会议室里扫了一圈,然后落在我身上。「陆寻,白板交给你们了。」
我站起来走到白板前面,拿起那支马克笔。白板是新的,上面一个字都没有,白色的板面在阳光下发着光,干净得有点晃眼。我拧开笔帽,在板面左上角写下了第一行字。
架构设计原则。
高磊站起来,接过我手里的笔,在我那行字下面画了一个框。徐远川走到白板右边,开始写数据层的初步方案。他的字很工整,每个字段都对齐了,像是在写代码注释。周铮在白板左下角标出了测试环境的部署方案,用的是蓝笔。冯玥没有写东西,她从会议室外面搬进来两盆绿萝,一盆放在窗台上,一盆放在会议桌中间。许晏把测试计划的第一页大纲贴在白板旁边,用磁铁吸住,磁铁是她在杂物柜里翻出来的,一共四颗,刚好够。
我在旁边看着他们。
白板上的内容越来越多。黑的是架构,红的是风险,蓝的是方案,绿的是进度节点。马克笔在板面上划过,发出一声声细微的、有节奏的摩擦声。这些声音和那些通宵的夜晚里听到的一模一样,但又有什么不一样。窗外朝南的阳光正打在每一个人身上,照得那些被写字楼的日光灯管浸染了六年的面容在某一刻忽然亮了一瞬。
同一天下午,晟创召开了董事会。
消息是苏晴发出来的。不是发给我,是发在公司全员群里。群里还有我们留下的几个前同事,消息很快就传到了我们这边。苏晴在群里发的是会议纪要,格式一如既往的工整,重点用黄色高亮标出来。纪要说,经董事会研究决定,公司核心产品迭代暂停,原定Q3上线的所有新功能全部延期,研发部重组计划即日启动,具体方案另行通知。
「研发部重组」四个字也是黄色高亮。
周铮把这条消息转到了我们群里,附了一句:「重组就是重写。重写我们花了十七个月写完的东西。」
「六个月算快的。」高磊回复,「前提是他们找得到看得懂旧代码的人。」
冯玥问了一句:「苏晴呢?她还在吗?」
没有人回答。过了一会儿,徐远川贴了一张截图出来。那是苏晴的钉钉签名,之前写的是「上市第一功臣·感恩·再出发」。现在改成了四个字:「好好工作。」
那个「上市第一功臣」的title不见了。
「她现在知道什么叫好好工作了。」许晏在群里说。
赵宏远在董事会之后的第三天约我见面。
这次他没有打电话,没有发微信,是通过宋总传的话。宋总把他和赵宏远的聊天记录截图发给我,赵宏远用了一种我从没见过的语气——不是命令,不是协商,不是示弱。是一种更像问路的语气。像一个人站在一个他没有去过的地方,对着手机地图看了很久,还是决定摇下车窗问路人。
「能不能帮我约一下陆寻?不是谈回晟创的事。就是聊聊。」
我把截图给高磊看了。高磊看了两遍,把手机还给我。「去不去看你。但如果你去的话,我建议你把见面的地方选在一个公开一点的地方。不是信不过他,是没必要给他一个可以关门的房间。」
我们约在了一家咖啡店。不在科技园区,在城南的一个文创街区,距离晟创科技那栋楼有半个多小时的车程。我到的时候赵宏远已经到了。他坐在角落的卡座里,面前放着一杯美式咖啡,没加糖也没加奶,喝了大半。他看到我推门进来,没有站起来,只是把身体坐直了一些。
他看上去比庆功宴那天老了五岁。
不是面相老了,是整个人收了一圈。西装还穿在身上,但肩膀的垫肩撑不住了,领口松开了两颗扣子,袖口的扣子也解了,往上翻了一道。他脸上那块在庆功宴上喝酒上脸留下的红斑早就消了,取而代之的是一层灰蒙蒙的疲惫,像是连续好几晚没有睡过整觉。
「我给你点了杯拿铁。」他说,「不知道你现在喝什么,按以前的习惯点的。」
「谢谢。」我坐下来。
咖啡店不大,墙上挂着一些本地艺术家的插画,画的内容都是街景,笔触很随意。吧台后面有一个年轻的女孩在洗杯子,水流的声音持续不断,温温吞吞的。
赵宏远端着自己的咖啡杯,没有马上说话。他的拇指在杯沿上反复摩挲,把上面凝结的一圈咖啡渍蹭下来,蹭得指尖发棕。
「前天董事会,」他终于开口,「投资人要求我在两周之内恢复产品迭代。我找了四家外包团队,开了三次技术评估会。外包团队给了一样的结论:你们的架构不是行业通用的框架。你们用了一套高度定制化的底层逻辑。数据层、中间件、缓存、消息队列——全部自己改过。市面上能做这件事的人,要么在你们新公司,要么在你们隔壁工位。」
他把咖啡杯放下来,手指上的咖啡渍在杯身上留了一个模糊的指纹。
「投资人给的最后期限是下周三。超过下周三恢复不了迭代,他们就会启动特别董事会的罢免程序。我的股权会被稀释到三分之一以下,公司的控制权拱手让给资本。」
他抬头看我。眼睛里的血丝比上次在办公室里看到的更多了,眼角那条会跳的细纹不再跳动,像是放弃了挣扎。
「我不是来请你回去的。」他说,「我知道你们不会回去。我是来跟你确认一件事。」
「什么事?」
「如果晟创从现在开始,从零重建核心系统,按行业通用标准重构,不做任何你们的定制化遗留——还能不能活下来?」
我把拿铁端起来喝了一口。奶泡已经消了大半,温热的液体滑过喉咙。
「能。」我说。
他的表情变化了一下,像是松了一口气,但气只松到一半。
「但需要时间。」我放下杯子,「你花了一年半迭代到现在这个版本。重构不是重写代码,是重新走一遍我们走过的路。那些被你写在'见白板'里的十七个关键模块,是我们花了一年半、经历了几十次线上事故、翻了几千万条数据、熬夜几百个小时才磨出来的。你现在要找一帮人,对着几页没写清楚交接文档,在六个月内复制出来——可能性很低。」
赵宏远靠在卡座的椅背上,两只手放在膝盖上,十指交叉。他手上那块表还在,但表盘上多了一道裂纹,从十二点的位置裂到三点。
「我把苏晴辞了。」
我端着咖啡的手停了一下。
「什么时候?」
「昨天。」他说,「董事会之后。辞退通知书是我亲手写的。」
我看着他的眼睛。他眼里的血丝没有因为说出这句话而变少。那不是一种「你看我做了正确的事」的表情,是一种更复杂的表情。像是你把一栋楼的地基挖掉之后,终于想起来了那个提醒过你地基有问题的人。
「你为什么跟我说这个?」
「因为我想让你知道,我知道问题出在哪里。」他把咖啡杯往前推了半寸,推到桌子的正中央,「不是苏晴。苏晴没有做错什么。她做了一个助理该做的一切。她帮我写PPT、约会议、整理纪要、对接资源、打点关系。她做的每一件事都在她的职责范围内。她不该为公司的崩盘负责。」
他把手指从杯子上拿开,在桌面上摊平。
「该负责的人是我。我分不清汇报和干活,分不清包装和实力,分不清谁在锦上添花、谁在雪中送炭。一个助理把PPT做得再漂亮,不代表她能替你们扛线上事故。我享受她的汇报带来的舒适感,然后把这种舒适感当成价值。」
他站起来,从西装内侧掏出钱包,抽出两张钞票放在桌上,压在咖啡杯下面。
「说这些不是为了让你原谅我。你们不需要原谅任何人,你们只需要往前走。」他把钱包收回去,拉了拉西装下摆。那件西装在十二天前还是笔挺的,现在下摆的缝线有一处松脱了,露出一小截线头。「我说完了,这些是我欠你们的交代。」
他朝门口走了两步,然后停住。
「对了。苏晴离职的时候,把她在庆功宴上戴的那对珍珠耳环放在了我桌上。她说上市不是她一个人的功劳,她配不上这对耳环。耳环是公司上市纪念品的一部分,应该还给公司。」
赵宏远拉开咖啡店的玻璃门。门上的铃铛晃了一下,发出一声清脆的响声。
「以前我觉得自己是晟创的缔造者。现在我知道,缔造者不是我一个人。我只是提供了资金和办公室。你们才是把砖头一块一块垒上去的人。一个老板连这个道理都不懂,就不配让这些人跟着他。」
玻璃门在他身后关上了。
铃铛又晃了一下,然后静止。
第九章
新枝
三个月之后,新项目上线了。比预期提前了两周。
上线那天是个周三,天气很好。秋末冬初的阳光不燥,从十五楼的落地窗照进来,把整个办公区的工位染成一片暖色。白板上的架构图已经更新到第四版,每一版都贴着日期标签,最早的日期是我们入职第一天。马克笔换过三批——黑的写了架构,红的标了风险,蓝的记了待办,绿的是完成。四种颜色在白板上交叠在一起,新的覆盖旧的,旧的透过新的隐约可见,像是地质层。
高磊负责核心架构,周铮负责测试环境,徐远川管数据库,冯玥做前端架构,许晏搭建了整套自动化测试体系。六个人的名字写在白板右下角,用的是黑笔。不是职位标注,不是职责划分,就是六个人的名字。
宋总来过一次技术评审,在白板前面站了半小时。听完我的架构讲解之后没有提问,只是从西装口袋里掏出一支笔,在白板右下角我们六个名字的旁边写了两个字:「团队。」字迹很小,挤在六个人的名字中间,像是怕占了太多地方。
然后他把笔收回去,拉开门,说了一句「辛苦了」。经过冯玥工位的时候,他停下脚步,低头看了看桌上那盆绿萝。绿萝已经从离职时纸箱里那副蔫头耷脑的样子缓了过来,藤蔓长长了一大截,爬到了显示屏后面,又从另一侧探出头来。
「这盆是机房那盆?」他问。
「对。」冯玥拍了拍花盆,「还有一盆在家里。」
宋总点了点头,伸手碰了一下叶面。然后走出研发办公区,门在他身后关上了。防火门关闭的声音和三楼那扇一模一样,但这扇门关了之后,阳光还在。
项目上线的第一个周末,我们六个人去了一趟城郊。不是庆祝,是冯玥说想找个地方种花。她在网上买了几株月季苗,说是新办公室的阳光好,但花盆还是太小,养不出根。要找个地方种在土里。
我们开车到了城郊一个废弃的苗圃。苗圃很大,荒废了大概有一两年,但土还是好的。许晏用铲子挖了六个坑,冯玥把月季苗一棵一棵放进去,埋上土,浇了水。
高磊蹲在田埂上看着那六棵月季苗,苗杆很细,只有拇指粗,上面的刺还是软的。
「像我们。」他说。
周铮笑了。不是那种客套的笑,是那种从胸口涌上来的,收不住的笑。他笑了好一会儿,然后把他闺女周念的满月照片从手机里翻出来,给我们每个人都发了十张。十张照片里周念从头到尾没有睁开过眼睛,攥着拳头,两只手举在耳朵旁边,睡得很沉。
「这孩子长大了一定很能睡。」许晏说,「比她爸强。」
「但比她爸好看。」高磊补了一句。
徐远川蹲在月季苗旁边,从口袋里掏出一个东西,按进新翻的泥土里。是一颗薄荷糖纸叠成的小正方形,很小,白色的,压在土里几乎看不见。
「留个记号。」他说。
冯玥也蹲下来,把那颗糖纸又往里按了按,上面盖了一小撮土。然后她拍拍手站起来,沾着泥土的手指在牛仔裤上随便擦了两下。
那天晚上我回了一趟晟创科技所在的那栋楼。不是上楼,就只是站在楼下。二十七楼宴会厅的灯还亮着。不是庆功宴那种璀璨的金色,是日光灯的冷白。有人在加班。不知道是谁,不知道在做什么。楼下的便利店还开着,收银台后面还是那个总打瞌睡的大叔。关东煮的热气在玻璃柜后面氤氲着,茶叶蛋在卤水里静静翻身,货架上的矿泉水和饭团码得整整齐齐。
便利店旁边新开了一家奶茶店。招牌是橘黄色的,上面写着四个字——「再起一杯。」
我没有进去。我只是站在对面的人行道上,抬头看了一眼二十七楼那扇亮着灯的窗。窗里的人影很小,小到分不清是男是女,分不清是在工作还是在发呆。然后我转身往地铁站走。
手机震了一下。是高磊在群里发了一张照片。照片上是他刚画完的新架构图,右下角标着一行小字:「V5.0——陆寻团队。」下面是六个人的名字,按照加入时间排序。
他把「V5.0」圈了一个红圈,在旁边写道:「第几个版本了?」
冯玥回:「不知道。没数过。」
徐远川回:「比白板上的多。」
周铮回:「比凌晨三点少。」
许晏回了一条语音,背景音里周念在哭,她一边哄孩子一边说话,声音断断续续的,只勉强听清了一句:「哭什么哭,你爸当年写的bug比你哭的次数多多了——」然后语音就断了。
高磊在群里发了三个字:「到家了。」
过了一会儿又发了一条:「不,到家了。」
我看着手机屏幕上的这三个字,嘴角动了一下。然后把手机放进兜里。
地铁进站了。车门打开的时候,里面有一股淡淡的消毒水味。站台广播在报站,声音混着隧道里的风声,有些含混不清。我找了一个靠窗的位置坐下,车窗外面是隧道里飞驰而过的广告灯箱,一块接一块,亮着各种颜色的光。
手机最后震了一下。是一条微信消息。
发送者是苏晴。距离她上次发消息过去了快三个月。她发了一张照片——一盆绿萝,放在一个陌生的办公桌上。花盆不是冯玥那种白色的陶瓷盆,是一个普通的塑料盆,但绿萝养得很好,叶子油亮,藤蔓从桌沿垂下去,爬到了旁边的书架上。
照片下面跟着一行字:
「我在新公司的工位上养了一盆。冯玥说绿萝好养,我就试了试。新工作是行政主管,不做助理了。那天在楼道里你和我说的话,后来我想过很多次。你说得对——功劳是团队的通宵和血汗,不是一个人的虚荣汇报。以前我不懂这句话的意思。现在我开始懂了。祝你和你的团队越来越好。」
我点开那张照片,放大。绿萝的叶子上沾着一颗水珠,大概是刚刚浇过水。阳光从窗户照进来,把水珠映成一个小小的光斑。
我关了照片,在对话框里打了三个字:「谢谢。保重。」然后锁屏。
地铁驶出地面,窗外的隧道忽然变成了一片开阔的城市夜景。灯光从四面八方涌进来,暖黄色的路灯、冷白色的写字楼、红色的车尾灯、蓝色的广告牌。车厢里人不多。一个女孩戴着耳机靠在角落里闭着眼睛,她怀里的背包上别着一个工牌,工牌上印着一家科技公司的logo,logo很小,在灯光的反射中一闪一闪的。
我低头看了一眼手机。锁屏上的时间显示是晚上十点十七分。
下班时间。
不是加班时间。
(全文完)
创作声明:本文为虚构创作,所有人物、事件、地名均为艺术加工,与现实人物、真实事件无关,请勿对号入座。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.