聚光灯太亮了,亮得刺眼。它打在舞台中央那座水晶奖杯上,
折射出的每一道光芒都像细小的针,扎进台下每一双眼睛里。掌声雷动,潮水般涌起,
我却只听见自己心跳的声音,缓慢、沉重,像远处闷雷。赵天宇站在光里,二十一岁,
老板的侄子,入职三个月。他举起奖杯的样子很熟练,仿佛生来就该拥有这一切。
我的手指在桌下轻轻弯曲,触碰到的只有掌心微凉的汗。十五年,
我建造了这座名为“星辉”的大厦,一砖一瓦,用无数个零尘和代码垒成。现在,
他们却把钥匙,递给了连承重墙在哪里都不知道的人。我看着自己的手,
这双手修复过最棘手的系统崩溃,此刻却只是安静地放在膝上。奖杯的光芒倒映在我眼底,
冰凉一片。也好。我忽然平静下来,一个清晰无比的念头破开所有嘈杂,像深海浮起的灯塔。
既然他如此“优秀”,那么我负责的一切——五个核心项目,七成公司营收,
还有那些深埋在系统底层、只有我才知道的“定时炸弹”——都该交给这位优秀的新星,
不是吗?我轻轻勾起嘴角,在震耳欲聋的掌声中,无声地做了一个决定。明天,
我会开始整理交接文档。非常详细、非常完整的文档。然后,我会微笑着,把我的世界,
完整地交给他。温度在掌心停留,然后消散。像某些看不见的东西,终于断了。
第一章镀金的奖杯年会现场的空气里飘着红酒和香水混合的气味,有点甜,有点腻。
水晶吊灯把每个人都照得光鲜亮丽,女同事们穿着平时不敢穿的小礼服,
男同事的领带打得比工作日更整齐。
舞台背景板上“星辉互动年度盛典”几个字在变幻的灯光下闪着俗气的金粉光泽。
我坐在第三排靠过道的位置,这个角度刚好能避开大部分人的视线。
右手边的空位本该是小陈的,那孩子刚才红着眼眶说去洗手间,去了二十分钟还没回来。
“接下来,是我们今晚最激动人心的时刻——”主持人的声音拔高八度,
背景音乐换成鼓点密集的悬疑音效,“年度优秀员工奖!”台下响起配合的掌声。
我跟着拍手,掌心相触的声音在喧闹中几乎听不见。赵总坐在第一排正中央,
深蓝色西装的后背挺得笔直。他侧头和旁边的副总说了句什么,两人同时笑起来。
舞台大屏幕上开始播放剪辑视频,
工作场景——加班时的泡面盒子、会议室白板上密密麻麻的架构图、凌晨三点的办公室灯光。
视频里有我的背影。去年十一月项目上线前,连续四十八小时没回家,
那张照片是小陈**的,当时我正盯着服务器监控屏幕,肩膀垮着,头发乱得像鸟窝。
现在这张照片被配上励志字幕:“默默奉献,铸就辉煌。”有点讽刺。“今年的优秀员工,
是——”主持人故意拖长声音,聚光灯在台下扫来扫去,最后停在——“赵天宇!
”掌声瞬间热烈起来,但细听能分辨出节奏的参差。前排有人站起,
年轻的身影在灯光下意气风发。赵天宇三步并作两步跳上舞台,接过那座水晶奖杯时,
手腕一翻,让奖杯在聚光灯下折射出耀眼的光芒。赵总在台下用力鼓掌,
笑容堆满那张保养得宜的脸。我继续拍手。一下,两下,三下。手掌有点麻。
赵天宇的获奖感言充满年轻人特有的张扬:“感谢公司给我这个平台,虽然我才来三个月,
但我相信,新时代需要新思维,旧有的工作模式应该被打破……”台下,
我听见身后传来压抑的吸气声。不用回头也知道是技术部那几个老伙计。旧有的工作模式。
我想起上个月底,赵天宇提交的那份“系统架构简化方案”,
把十五年来不断迭代优化的分布式架构,粗暴地建议改为单点集中式。
“这样运维成本可以降低百分之七十!”他在会上信誓旦旦。
当时我说:“我们的日活用户是八百万,单点架构撑不住。”赵天宇笑着摇头:“林总监,
您这思维被固有经验局限了。现在云计算弹性扩容很简单。
”赵总最后拍板:“年轻人有想法是好事,可以小范围试点嘛。”那试点项目上周崩了三次。
每次都是我们技术部凌晨爬起来救火。
赵天宇在故障报告里写:“底层架构存在历史遗留问题。”“让我们再次为天宇鼓掌!
”主持人的声音把我拉回现场。奖杯在赵天宇手中高高举起。水晶折射的光芒刺得眼睛发疼。
我站起来,从过道安静地离开会场。身后,赵总正在台上补充发言:“我们要大胆启用新人,
要给年轻人机会,这是星辉的文化……”走廊铺着厚厚的地毯,脚步声被完全吸收。
墙上的企业历程展示栏里,贴着公司十五年的照片。第三张是创业初期团队合影,
十二个人挤在八十平的出租屋里,我站在最边上,那时候头发还浓密,
眼镜度数也没现在这么深。照片底下一行小字:“技术奠基人——林默”。电梯下行时,
手机震动了。猎头Linda,这已经是她这个月第三次打来。“林总监,考虑得怎么样了?
对方真的诚意很足,年薪比你现在高出百分之五十,还有股权……”“谢谢,暂时不考虑。
”“为什么啊?以您的资历,早该……”“家里孩子还小。”我说。挂了电话,
地下停车场的冷风灌进来。我拉紧大衣,走向那辆开了八年的轿车。
车窗上贴着女儿小蕊画的贴纸——一个歪歪扭扭的太阳,下面写着“爸爸的车”。上车,
关门,世界安静下来。仪表盘上的里程数:十七万八千公里。这八年,这些里程的大多数,
都是往返于家和公司之间。凌晨三点的环路,清晨六点的高架,雨后积水的辅路,我都见过。
手机屏幕亮起,是小蕊班主任发来的消息:“林先生,下周三家长会,您能参加吗?
”我看了眼日程表。下周三,《神域》新版本上线。拇指在屏幕上方停留几秒,
我回复:“尽量。”尽量。这个词我对女儿说过太多次。尽量周末去游乐园,
尽量参加亲子活动,尽量早点回家。小蕊今年十岁,已经学会在我说“尽量”的时候,
懂事地点头:“爸爸工作忙,我知道。”引擎启动的声音在密闭车库里回荡。后视镜里,
我的眼角有了很深的纹路。四十二岁,在互联网行业已经是“老师傅”的年纪。
年轻人叫我“林叔”,新来的实习生背后喊我“那个老架构师”。开出停车场时,
年会刚好散场。人群涌出来,赵天宇被围在中间,奖杯在夜色里依然显眼。有人拍他肩膀,
有人举着手机合影。小陈站在人群外围,低着头快速走过。红灯。我停下车,摇下车窗。
初冬的夜风带着寒意灌进来,让人清醒。手机又震动。是赵总发来的微信:“老林,
今天提前走了?明天来我办公室一趟,咱们聊聊。”我盯着那条消息,
直到后面车辆按喇叭催促。绿灯亮了。第二章抽屉里的年假条第二天早上七点半,
我已经坐在办公室里。这间办公室不大,十五平米,朝东。清晨的阳光斜射进来,
在堆满技术书籍的书架上切出明暗交界线。空气里有旧纸张和咖啡混合的熟悉气味。
门后挂着公司十五周年纪念文化衫,胸口印着“星辉十五年,感谢有你”,
我的名字在右下角,小得几乎看不见。电脑开机,屏幕亮起。
桌面壁纸是小蕊五岁时画的我们全家——三个人都是火柴人,
但爸爸手里拿着个大大的“电脑”(一个方块加几个按钮)。
她说:“爸爸总是和电脑在一起。”我喝了口已经凉掉的咖啡,打开邮箱。
一百七十三封未读,大部分是系统警报、项目报告、技术评审邀请。滚动鼠标,
持续过高……”“关于简化运维流程的再次倡议——赵天宇”最后这封邮件是凌晨两点发的。
赵天宇提议将技术部的晨会从每天一次改为每周一次,“避免**,提高工作效率”。
抄送给了赵总和所有高管。门被轻轻敲响。小陈探进头来,眼睛有点肿。“林总监,您找我?
”“进来吧,把门带上。”小陈是我六年前带出来的徒弟,现在已经是核心开发组的组长。
他手里端着两杯新冲的咖啡,放了一杯在我桌上。“昨晚没睡好?”我问。“有点。
”他在我对面坐下,手指摩挲着纸杯边缘,“总监,昨天那个奖……大家都想不通。
”“想不通什么?”“赵天宇来了三个月,贡献还没我一个月多。他负责的那个简化项目,
上线一周崩了三次,每次都是我们熬夜修。”小陈的声音越说越低,
“这奖凭什么……”窗外,一只鸟落在空调外机上,歪头朝里看。我转动手中的笔,
笔身已经磨得发亮,是创业初期赵总送的,上面刻着“一起改变世界”。“小陈,”我说,
“你女儿是不是下个月生日?”他愣住:“啊,是,您怎么知道?”“去年你说过,
想带她去迪士尼,最后因为项目上线没去成。”小陈低头:“嗯,后来补了个蛋糕,
孩子也挺高兴。”“今年去吧。”我从抽屉里拿出审批单,快速签字,“休五天年假,
算上前后周末,能玩一周。”他瞪大眼睛:“可是《神域》新版本……”“地球离了谁都转。
”我打断他,“去吧。”小陈拿着审批单离开时,脚步有点飘。门轻轻关上,
办公室重新恢复安静。我打开最底层的抽屉。
念币、已经停产的旧款手机(里面存着创业初期的代码备份)、还有一沓用夹子夹好的纸条。
年假条。从入职第二年开始的。第一张是2008年:“申请年假5天,事由:结婚。
”当时赵总批了,但在旁边用红笔写:“项目关键时刻,保持通讯畅通。”婚礼第二天,
我穿着西装在酒店房间里开视频会议。第二张是2011年:“申请年假7天,事由:陪产。
”批了三天。女儿出生时,我在医院走廊里接了两个小时的工作电话。
第三张、第四张……最近一张是去年:“申请年假3天,事由:父亲心脏手术。”批了。
手术那天,父亲推进手术室后,我在等候区打开笔记本电脑。麻药醒来后,
父亲说的第一句话是:“工作忙就不用来了。”一沓纸条,十五张。用掉的只有七张半。
我把它们整理好,放回抽屉。然后打开一个新的文档,光标在空白处闪烁。
标题:《工作交接计划》手指放在键盘上,停顿。阳光从书架移到桌面,
照亮空气中悬浮的微尘。走廊里传来赵天宇的笑声,隔着门板有些模糊,
但那股张扬劲儿还是透进来。“赵总说了,
技术部以后要推行年轻化管理……”我深吸一口气,开始打字。
《神域》游戏后端系统-架构演进史(附历次重大故障复盘)-技术债务清单(23项,
人、社区专家)-每月15日凌晨手动重置缓存的详细操作步骤(红色加粗)我写得很细。
每个模块的历史决策背景,每次技术选型的权衡考量,每个隐藏的坑和曾经填坑的方法。
十五年的经验,化为一万七千字、四十二张架构图、十八个应急预案。
键盘敲击声规律地响着。写到“数据库集群节点3的负载问题”时,我停下。
这个问题存在三年了。每次想彻底重构,都因为“影响业务连续性”被搁置。
临时方案是我写的一套动态调度脚本,每七十二小时自动执行一次。知道这个脚本存在的人,
全公司只有两个——我和小陈。文档里,我写了这个问题,写了临时方案,
但没写脚本的存在。只是提了一句:“节点3负载过高时,建议人工介入重新分配查询请求。
”写完这一章,已经中午十二点半。胃部传来熟悉的紧绷感,我才想起没吃早饭。
办公室外传来热闹的人声,同事们结伴去食堂。有人敲我的门:“林总监,一起吃饭吗?
”“你们先去吧,我忙完这点。”人声渐远。**在椅背上,闭上眼睛。
脑海里浮现出昨天颁奖时的画面。赵天宇举着奖杯,赵总在台下鼓掌。画面一转,
变成很多年前——公司第一个产品上线成功,团队在小餐馆庆祝。
赵总举着啤酒对我说:“老林,没有你,咱们走不到今天。”那时候他是真心的。我相信。
手机震动。是小蕊发来的语音消息,点开,孩子稚嫩的声音充满兴奋:“爸爸!
我今天美术课画的画被老师贴在教室后面了!老师说星期三家长会的时候给你看!你能来吗?
”星期三。家长会。《神域》新版本上线。我按住语音键,想说“尽量”,
但手指停在发送键上方。很久,松开,删除。重新按住:“爸爸一定去。”发送。
窗外阳光正好,整座城市在午间阳光下明晃晃的。远处写字楼的玻璃幕墙反射着刺眼的光。
我重新坐直,继续写交接文档的第二章。键盘声再次响起,比之前更坚定,更清晰。
每一个字落下,都像在给过去的十五年画下一个句点。文档页脚处的页码数字,
无声地跳动、增长。第三章虚掩的门与敞开的窗赵总办公室的门是胡桃木的,厚重,
嵌着黄铜把手。敲门时,指节叩在实木上的声音沉闷,像敲在一棵老树的树干上。“进。
”推门进去,空调的暖风扑面而来,带着淡淡的檀香。赵总喜欢这种味道,说能让人静心。
巨大的落地窗外是城市的天际线,阴天,云层低低地压着,远处楼顶隐在灰白色的雾霭里。
“老林,坐。”赵总从办公桌后站起来,笑容恰到好处。他今天穿了件浅灰色羊绒衫,
没打领带,显得随和。但我注意到他左手无名指上新戴了枚戒指,黑曜石的,
和他腕表搭得有点刻意。我在他对面的皮质沙发上坐下。沙发很软,
坐下去时整个人微微陷进去,这感觉并不舒服,像是被什么包裹着。茶几上摆着功夫茶具,
紫砂壶嘴冒着细微的白气。“尝尝,朋友送的大红袍。”赵总倒茶,动作娴熟。
茶水注入白瓷杯,橙红透亮。他推过来一杯,“昨天年会走得早啊,后面还有抽奖,
特等奖是欧洲双人游。”“家里有点事。”我接过茶杯,没喝,放在面前。
茶水的热气在杯口盘旋,很快散开。赵总自己呷了一口,靠回沙发背。
阳光从云层缝隙漏出来一道,斜斜切过办公室,把他半边身子照得发亮,
我这边却还在阴影里。“天宇那个奖,”他开口,语气轻松得像在聊天气,
“我知道下面有些议论。年轻人嘛,需要鼓励。你理解我的苦心。”我把茶杯转了个方向,
杯柄朝右。这是多年的习惯,小蕊说这样拿起来顺手。“天宇刚回国,心气高,想做事。
咱们得给他舞台。”赵总继续说,“你是公司元老,最识大体。这些年,
你的贡献我都看在眼里。”窗外,一只鸽子停在空调外机上,抖了抖羽毛。
它歪头朝玻璃里看,黑豆似的眼睛映出室内的倒影。“明年,”赵总身体前倾,
手肘撑在膝盖上,声音压低了些,“明年优秀员工一定是你的。不光奖杯,
奖金我也给你争取翻倍。”茶凉了。表面凝出一层极薄的膜。我看着那层膜在光线下的虹彩,
想起很多年前,也是在这间办公室,但那时这里还没装修,只有两张二手办公桌。
赵总泡了两碗泡面,递给我一碗:“老林,咱们的游戏一定能成。
”那时候面汤表面也浮着一层油花。我们吃着面,聊着梦想,电脑屏幕上的代码一行行滚动。
“赵总,”我抬起眼,“天宇既然拿了优秀员工,说明他能力出众。”赵总愣了下,
随即笑起来:“对对,这孩子有潜力。”“有潜力的人,应该承担更多责任。
”我的声音很平,像在读技术文档,“我手头五个核心项目,占公司七成营收。
天宇可以慢慢接过去。”办公室里安静了几秒。中央空调出风口的嗡鸣变得清晰。
赵总脸上的笑容没变,但眼角细微的肌肉抽动了一下。他重新靠回沙发,
手指无意识地摩挲着那枚黑曜石戒指。“你的意思是……”“全面交接。”我说,
“我带了十五年团队,也该培养新人了。天宇年轻,有新思维,正好给项目注入活力。
”窗外的鸽子飞走了,翅膀拍打空气的声音被玻璃阻隔,只能看见一道灰色的影子掠过。
赵总盯着我看了很久。他在权衡。我太熟悉这个表情——每次要做出重要决策前,
他都会这样,眼神聚焦在虚空中的某一点,拇指轻轻刮着食指侧面。“你愿意带他?
”他终于问。“交接文档我会准备齐全。”我避开“带”这个字,
“所有架构图、应急预案、联系人,都会整理好。天宇聪明,一看就懂。”赵总笑了,
这次笑到了眼睛里。他站起来,走到窗边,背对着我。窗外天空又暗了些,可能要下雨。
“老林啊老林,”他叹口气,声音里有种如释重负,“还是你懂我。天宇是我亲侄子,
我姐把他交给我,我得对他负责。你能理解,太好了。”他转回身,逆着光,
脸在阴影里看不真切:“那你先交接两个项目试试?《神域》和支付系统,这两个最核心,
你继续把关,让天宇跟着学。”我摇头:“要交就全交。半吊子的交接只会增加沟通成本。
天宇需要完整负责,才能真正成长。”又是一阵沉默。雨点开始敲打玻璃,细密的,急促的。
窗上很快爬满水痕,外面的城市模糊成一片流动的光晕。“行。”赵总走回来,
拍了拍我的肩膀。手掌很重,带着体温,“就按你说的办。还是你考虑得周全。
”他坐回办公桌后,打开电脑:“交接要多久?”“一周。”“好。”他敲了几下键盘,
像是在记录什么,“这周你就专心做交接。需要什么资源尽管提。
”我站起来:“那我先去准备。”走到门口时,赵总叫住我:“老林。”手放在黄铜门把上,
冰凉。“公司不会亏待你。”他说,声音从房间那头传来,穿过暖风和檀香气,
“等天宇上手了,我给你放个大假,带家人出去玩玩。这些年,你也该歇歇了。”我没回头,
拧开门。走廊的光涌进来,比办公室亮堂。门在身后关上,隔绝了那个充满檀香味的世界。
第四章纸页间的十五年雨下大了。从电梯下到技术部所在的十七楼,
窗外的天色已经暗得像傍晚。雨水顺着玻璃幕墙成股流下,
把对面大楼的霓虹灯牌晕染成一片模糊的色块。办公区很安静。
键盘敲击声、鼠标点击声、偶尔响起的电话铃,都压得很低。我走过时,
有人从工位隔板后抬头,眼神对上,又迅速低下。空气里有种微妙的紧绷感,
像暴风雨前的气压变化。我的办公室在走廊尽头。推门进去时,灯没开,
只有电脑休眠指示灯在黑暗中一下一下闪着蓝色的光。按下开关,
日光灯管闪烁两下后全部亮起,惨白的光填满每个角落。书架上那些厚厚的技术书籍,
《分布式系统原理》《算法导论》《游戏服务器架构设计》……书脊因为经常抽取而磨损,
颜色深浅不一。我在椅子上坐下,打开最底层的抽屉。那叠年假条还在,
用燕尾夹整齐地夹着。我把它们拿出来,放在桌面左上角。旁边是女儿小蕊的照片,
六岁时在公园拍的,笑得缺了颗门牙。然后打开电脑。屏幕亮起,
输入密码——小蕊的生日加上入职日期。桌面图标密密麻麻。
十五年的项目文件、设计稿、会议纪要、故障报告……光是《神域》一个项目的文件夹,
点开就有十七层子目录。我的鼠标在这些图标上游移,最后点开一个新建文件夹。
命名:“工作交接”。第一个子文件夹:“《神域》MMORPG后端架构”。我开始整理。
这不是简单的文件拷贝,是梳理。十五年的迭代,像一棵树,主干分出枝桠,
枝桠再长出新叶。每次技术选型背后的权衡,每次架构调整埋下的伏笔,
每次为了赶工期而欠下的技术债——这些,才是真正的核心。文档写得很细。太细了。
凌晨三点手动执行的数据库索引重建脚本,
因为当年MySQL版本的一个bug而不得不保留。
每个月十五号必须手动重置的缓存系统,因为一个已经离职的架构师埋下的逻辑陷阱。
还有那些只有我知道的“后门”——不是恶意后门,是为了快速故障恢复留下的紧急通道。
写到这里时,我停下。光标在“紧急通道”四个字后闪烁。那是一个SSH密钥,
存在我个人的加密U盘里。有了它,可以在系统完全崩溃时,绕过所有权限验证,
直接访问最底层的服务器。我盯着这行字,手指悬在键盘上方。窗外的雨声小了些,
变成淅淅沥沥的轻响。远处有救护车的鸣笛,由远及近,又由近及远。
凌晨的城市总有种不真实感,灯光都带着倦意。最终,我没有写这个密钥的存在。
只是加了一句:“系统级故障需要最高权限介入时,请联系云服务商紧急技术支持,
电话:400-xxxx-xxxx。”电话是真的,
但那个技术支持窗口只在工作日早九点到晚六点开放。如果系统在凌晨崩溃,等电话接通,
用户数据可能已经丢失过半。继续写。写到第七个小时,脖子僵硬得像生了锈。我站起来,
走到窗边。雨停了,地面湿漉漉地泛着路灯的光。街角那家24小时便利店还亮着灯,
偶尔有人进出,身影在自动门开合的瞬间被拉长又缩短。胃里空得发疼。我想起还没吃晚饭,
不,连午饭都忘了。回到座位,从抽屉深处翻出半盒苏打饼干。不知放了多久,有点受潮,
嚼起来软绵绵的。就着冷掉的茶水咽下去,喉咙干涩。文档写到了第158页。
这一页讲的是缓存系统的月度维护。我用了最小的字体,十号,宋体。
在密密麻麻的技术描述中间,藏着那句话:“每月15日凌晨3:00-4:00间,
必须手动执行缓存重置操作,否则积累的脏数据会导致系统查询性能下降90%以上。
”没有加粗,没有标红,就那样混在一堆技术参数里。赵天宇会仔细看吗?
他连上周的故障报告都只扫了摘要。保存文档。打印。打印机在角落嗡嗡作响,
一页页纸吐出来,带着油墨和热量。我走过去,等最后一张纸出来。纸堆在出纸托盘上,
温热的,有点压手。装订。封面用厚一点的卡纸,写上项目名称和“交接文档V1.0”。
字用黑色签字笔写,工整,但没什么设计感,就像我这个人。全部弄完时,
天边已经泛起灰白。雨后的清晨空气清冽,从窗户缝隙钻进来,
冲淡了办公室里通宵不散的咖啡味。我抱着那摞文档走出办公室。走廊里灯还没全开,
一半亮一半暗。保洁阿姨在拖地,拖把划过瓷砖的声音在空旷中回响。“林总监又通宵啊?
”阿姨抬头,眼里有熟稔的关切。“嗯,赶点东西。”她摇摇头:“你们这些年轻人,不对,
您也不年轻了,得注意身体。”我笑笑,没说话。走到赵天宇工位——他其实有独立办公室,
但很少用,喜欢坐在开放区,说这样“贴近团队”。他的桌面很干净,
一台最新款MacBookPro,一个无线鼠标,一个造型奇特的杯子。没有文件,
没有书籍,没有写了半截的草稿纸。我把交接文档放在他键盘旁边。最上面一页的空白处,
用便利贴写了句话:“有问题随时沟通。”便利贴是黄色的,很醒目。转身离开时,
晨光正好从东面的窗户斜射进来,在地板上拉出长长的光带。光带里有浮尘在跳舞,缓慢地,
无规则地,像某种微观世界的星云。回到自己办公室,我开始收拾个人物品。
技术书籍不带走,留给团队。那些笔记——手写的,从创业初期到现在,
十几本硬皮笔记本——我一本本翻过。最早的那本,纸张已经泛黄,
上面用蓝色圆珠笔画的架构图,线条歪歪扭扭,但每一笔都用力很深。翻到中间某一页,
夹着一片干枯的银杏叶。那是公司刚搬进这栋写字楼时,楼下银杏树第一次落叶,
小蕊捡来送给我的。她说:“爸爸,这叶子像小扇子,给你扇风。”叶子已经脆了,
稍用力就会碎。我小心地把它取出来,夹进钱包的夹层。最后清理抽屉。底层除了年假条,
还有别的东西:公司五周年发的纪念手表,表带断了;团建活动的合影,
照片上的人都还年轻;一张已经作废的门禁卡,上面的照片还是我三十岁时的样子。
全部装进一个纸箱。不大,刚好装满。抱起箱子时,手臂沉了沉。十五年的重量,
原来不过如此。办公桌空了。只剩下电脑、电话、和那盆半死不活的绿萝。
绿萝是我刚搬进这办公室时买的,那时它只有三片叶子,现在爬满了半个书架。
但我总忘记浇水,叶子黄了一半。我拿起水杯,去茶水间接了水,慢慢浇在土里。水渗下去,
土壤颜色变深。然后坐回椅子,打开邮箱。写新邮件。
员抄送:人力资源部主题:关于核心项目工作交接完成的通告正文很简单:“截至今日凌晨,
《神域》等五个核心项目的技术交接文档已完成,并存放在赵天宇工位。
本人将于即日起开始休完剩余年假。期间技术问题请联系赵天宇。祝项目顺利。”写完后,
鼠标在发送键上停留。屏幕右下角的时间跳动:07:58。还有两分钟,
公司的人就会陆续到来。小陈会第一个到,
他习惯提前半小时;赵天宇通常九点半以后;赵总……赵总今天可能会晚点,昨天他喝了酒。
手指按下。邮件发送成功的提示弹出来,很快消失在屏幕角落。我关掉电脑,
显示器的光熄灭,黑色屏幕映出我的脸。眼袋很深,胡子该刮了,
白头发比记忆中又多了一些。抱起纸箱,最后看了眼这间待了十年的办公室。关灯,关门。
锁舌咔哒一声合拢,清脆,决绝。走廊里已经有人来了,脚步声由远及近。
我抱着箱子走向电梯,听见身后有人低声说:“那是林总监?他抱着什么?”电梯门开,
进去,按下B2停车场。镜面的电梯内壁里,我和我的倒影对视。箱子挡住了半个身体,
像个笨拙的搬运工。电梯下行,失重感轻轻拉扯胃部。
数字跳动:17、16、15……B2。门开。地下停车场特有的阴冷气味涌进来,
混合着汽油和橡胶的味道。我的车停在最里面的固定车位,
旁边柱子上的“技术总监林默”牌子,是前年行政部门统一**的。把箱子放进后备箱,
盖上。声音在空旷的车库里回荡。坐进驾驶座,发动引擎。仪表盘亮起,
里程数:178,203。开出车库时,收费岗亭的保安老张探出头:“林总监今天这么早?
”“嗯,有点事。”他抬杆放行。车子驶上路面,早晨的城市刚刚苏醒,公交车靠站,
学生背着书包,早点摊冒着热气。在一个红灯前停下,我看向后视镜。后视镜里,
公司的写字楼在晨曦中矗立,玻璃幕墙反射着金色的光。十七楼,从左数第七扇窗户,
那是我的办公室。现在,那扇窗暗着。绿灯亮。我踩下油门,汇入车流。
后视镜里的楼宇越来越小,最后消失在转弯处。手机震动,是赵总打来的。我没接。
**固执地响了很久,直到自动挂断。第五章晨光中的句点晨会的会议室里,
空调开得太足。冷风从头顶的出风口嘶嘶地往下灌,吹得后颈发凉。
长方形的会议桌边坐了十几个人,技术部的核心骨干都到了,
连平时总迟到的后端组长老王也提前五分钟坐在了角落里。我坐在主位,
面前摊开那本跟了我八年的黑色皮革笔记本。本子边角已经磨损得泛白,
内页密密麻麻全是字——会议记录、临时构思、故障排查步骤,
还有些随手画的技术架构草图。翻到最新一页,纸还是白的。门被推开,赵天宇走了进来。
他今天穿了件浅蓝色的衬衫,袖子挽到手肘,露出精瘦的小臂和一块我认不出牌子的腕表。
头发用发胶抓过,几缕不听话的刘海垂在额前,倒显出一种刻意的随意。
他手里只拿了一个手机,没带笔,没带纸。“早啊各位。”他拉开我右手边的椅子坐下,
身体往后一靠,椅背发出轻微的吱呀声。会议室里响起稀稀拉拉的回应声。小陈坐在我对面,
低着头在笔记本上画着什么,笔尖划过纸张的声音沙沙的。
我看了眼墙上的钟:八点五十九分。还有一分钟。“开始吧。
”我打开面前的交接文档打印稿,翻到第一页,
“今天晨会主要确认五个核心项目的交接状态。我们从《神域》开始。
”投影仪的光打在白色幕布上,文档页面被放大。那些我熬了一周整理出来的字,
在冷白的光里显得有些陌生。“《神域》目前日活八百二十万,服务器集群分布在三个地区,
数据库采用分库分表架构,具体分片规则在文档第23页。”我的声音在会议室里回荡,
平静,没有起伏,像在朗读一份技术白皮书,“需要特别注意的是缓存层,
我们用了混合方案,Redis集群加本地缓存,但两套缓存之间的数据同步存在延迟,
最高可能达到——”“林总监,”赵天宇打断我,手指在桌面上轻轻敲了敲,
“这些细节等会儿单独看文档就行。晨会时间宝贵,咱们抓重点。”会议室里更安静了。
空调的风声突然变得刺耳。我看着他。赵天宇的嘴角挂着笑,
那是一种年轻人特有的、带着点不耐烦的笑容。他手指还在敲桌子,节奏稳定,笃笃笃,
像秒针走动。“缓存同步问题,去年导致过三次线上故障。”我说,声音没提高,
“其中一次在凌晨两点,损失了四十分钟的用户数据。
”“所以我们文文档里写了解决方案嘛。”赵天宇拿起手机看了眼,
屏幕亮起的瞬间映亮他的脸,“文档第几页来着?一百多页吧?我会看的。
晨会咱们聊聊大方向,比如怎么优化成本,怎么提高效率。”小陈抬起头,嘴唇动了动,
没说话。我翻过一页文档。纸张摩擦的声音在寂静中被放大。“好,说大方向。
《神域》的技术债务清单在文档第47页,按风险等级排序。
优先级最高的是支付模块的重复扣款隐患,这个问题存在两年了,
因为涉及第三方支付接口的调用频率限制,一直没彻底解决。
临时方案是——”“临时方案是每小时对账一次,人工补单。”赵天宇接过话,
脸上露出“我早就知道”的表情,“这个方案太笨重了。我已经联系了新的支付服务商,
他们承诺提供实时对账接口,下个月就切换。”会议室里有人倒吸一口凉气。
老王忍不住开口:“赵经理,支付模块不能随便换,涉及用户资金安全,
测试周期至少要——”“测试我会安排。”赵天宇摆摆手,像拂开空气中的灰尘,
“新时代要用新方案,不能总抱着老一套不放。”我合上笔记本。皮革封面触手温润,
边缘已经磨得发亮,露出底下浅色的纤维。“新支付服务商的资质审查做了吗?”我问。
“正在做。”“接口文档拿到了?”“在要。”“灰度切换方案呢?
”赵天宇的笑容淡了些:“这些细节我会处理。林总监,您不是要休假吗?
这些事就不用操心了。”窗外的阳光爬进了会议室。一束光斜斜地切过桌面,
正好落在我和赵天宇之间的空档,像划开了一条无形的界线。光里有细小的尘埃在翻飞,
缓慢,无序。我重新打开笔记本,翻到空白页,拿起笔。笔尖悬在纸上,顿了顿,
然后写下:“支付模块切换风险。”字迹很重,墨水渗进纸张纤维。“继续。”我说,
声音依旧平静,“第二个项目,公司后台管理系统。这个系统的权限管理模块存在设计缺陷,
超级管理员权限可能被越权获取。临时修补方案在文档第89页,但建议重写该模块。
”赵天宇这次没打断。他靠在椅背上,双手抱胸,眼睛看着幕布上的文档,但眼神有点飘,
焦点没落在实处。我一页一页地讲。
三方接口的限流阈值、日志系统的存储瓶颈、监控告警的误报率……十五年积累下来的东西,
像一栋老房子,表面光鲜,但墙体里有裂缝,管道会生锈,电路可能老化。讲了四十分钟。
期间赵天宇看了七次手机,回了三次消息。小陈始终低着头,笔在纸上写写画画,
但我从对面看不清内容。老王双手撑在桌上,手指交叉,指节发白。“最后一点。
”我翻到文档的最后一章,“应急联系名单。
负责人、第三方SDK的对接人、开源社区的核心维护者……这些人的联系方式都在附录里。
其中三个人我只存了私人手机,他们不接公司总机转接的电话。”我把那几页纸抽出来,
推到赵天宇面前。“这几个人,务必保存好。去年服务器被DDoS攻击时,
是其中一位在凌晨三点接了电话,帮我们紧急扩容。”赵天宇瞥了眼那几页纸,没伸手去接。
纸张停在桌面中央,像座孤岛。“现在云服务都有24小时客服。”他说。
“客服按流程办事。”我的手指按在纸上,墨迹有点洇开了,“紧急时刻,流程救不了急。
”会议室里又陷入了那种沉重的安静。窗外的阳光移动了位置,现在完全照在赵天宇身上。
他眯了眯眼,身体往阴影里挪了挪。手机响了。是赵天宇的。他看了眼屏幕,
直接接起来:“喂?嗯,现在?行,我马上来。”挂断电话,他站起来:“不好意思各位,
赵总那边有个急事。晨会就到这儿吧,文档我会仔细看。”椅子被推开,
轮子在地板上摩擦出刺耳的声音。赵天宇拿起手机,转身走向门口。走到一半,他回过头,
目光扫过会议室里一张张脸。“对了,以后晨会不用每天开。每周一次,周一上午,
效率更高。”门开了又关。他的脚步声在走廊里迅速远去,越来越轻,直到听不见。
会议室里剩下的人都没动。空调还在吹,那几页纸被风吹得边缘微微卷起。小陈终于抬起头,
眼睛有点红。老王松开交叉的手指,长长吐了口气。我慢慢合上笔记本,
把笔**侧面的笔套。动作很慢,像在完成什么仪式。投影仪还开着,
幕布上停留在我刚才讲的那一页文档。标题是:“写在最后——给接手者的几句提醒”。
下面的内容我没在会上读,那是些更私人的话,关于如何理解这些代码背后的设计哲学,
如何在技术决策和业务压力之间寻找平衡,如何判断什么时候该坚持,什么时候该妥协。
小陈站起来,走到幕布前,关掉了投影仪。白光熄灭的瞬间,会议室暗了一下,
然后又恢复成寻常的日光灯照明。“林总监,”小陈的声音有点哑,“您……什么时候走?
”“今天。”我说。他从口袋里掏出一个小盒子,放在我面前的桌上。是个U盘,银色的,
没有任何logo。“这个……给您。”我接过来,很轻。“里面是什么?
”“您这些年给我们做的技术培训录像,我偷偷存的。”小陈笑了笑,笑容很勉强,
“还有……上次您喝醉了说的那句话,我也录下来了。您说‘代码要有良心’。
”我握紧U盘,金属边缘硌着掌心。会议室里的人陆续站起来,收拾东西,往外走。
每个人经过我身边时,都停了一下,想说点什么,但最后都只是点点头,或者拍拍我的肩膀。
老王最后一个走,他站在门口,回头看了我一眼。“老林,”他说,“保重。”门轻轻带上。
现在会议室里只剩下我一个人。阳光已经爬到了对面的墙上,
些奖状和锦旗:“年度优秀技术团队”“创新突破奖”“用户最喜爱产品”……最右边那面,
是公司十周年时发的,上面