庆功宴的香槟塔折射着刺眼的光。
台上,董事长董俊雄红光满面,宣布因“深蓝矩阵”利润爆表,将发放公司史上最高年终激励。
掌声雷动。
我坐在技术部角落,看着副总裁谢博超在聚光灯下侃侃而谈“团队智慧”,手指无意识摩挲着冰凉的酒杯。
奖金明细发到手机,我划了很久,才在技术序列中游找到自己的名字,后面的数字规整得像个笑话。
曾鹏飞凑过来瞥了一眼,低骂了句“操”。
我扯了扯嘴角,没说话。
那晚,我最后一次登录公司服务器,检查了那个只有我知道的、深埋在核心算法里的“隐式校验锁”。
然后,清空个人痕迹,提交辞呈。
谢博超的挽留听起来像走流程。
第二天,我陪母亲在医院体检,手机静音塞在包里。
包里,那台旧手机隔着布料,微弱而持续地振动了整整一个上午。
后来开机,312个未接来电,同一个号码。
最新一条短信来自陌生号码,简短,却让医院的消毒水味都凝滞了:“陈工,你在哪?没有你,刚发的激励,等于白发。”
01
年会选在市中心最贵的酒店。
水晶灯晃得人眼晕。
空气里混着香水、食物和一种过度兴奋的热度。
董俊雄站在台上,背后巨屏是节节攀升的利润曲线,他声音通过顶级音响传出来,带着不容置疑的力度。
“今年,‘深蓝矩阵’超出预期!所以,今年的激励,也必须是破纪录的!”
底下炸开锅。
欢呼,口哨,杯子磕碰的脆响。
我坐在靠边的圆桌,同桌都是技术部的老伙计,脸上同样泛着光,那是长期熬夜加班的青白底色上,被此刻气氛熏出的红。
曾鹏飞捅了捅我胳膊,挤眉弄眼:“楚婷,听见没?破纪录!咱们组,头功!”
我没接话,低头抿了口橙汁。甜的,腻人。
谢博超被请上台。他今天穿了身特别合体的深蓝西装,头发梳得一丝不苟,接过话筒时,先朝董俊雄那边微微欠身,姿态恰到好处。
“感谢董总信任,感谢团队每一位伙伴……”他声音温厚,吐字清晰,从市场机遇讲到技术攻坚,再讲到团队协作,一套下来行云流水。
巨屏配合地放出各种光鲜图表和团队“奋斗”合影。
有几张深夜加班照,角落里有个模糊的、扎着低马尾的背影,面前三块屏幕亮着微光。
那是我。
照片很快切过去了。
我听见隔壁桌有行政的小姑娘小声说:“谢总好帅,讲得真好。”
“那当然,不然怎么能带队做出这么大项目。”
心脏那里像被细针轻轻扎了一下,不疼,但那股细微的酸麻感,慢慢顺着血管往四肢爬。我放下杯子,指尖有点凉。
终于到了最激动人心的环节。
人力资源的杨银花总监上台,开始宣读获得“特殊贡献奖”及奖金大幅提升的人员名单。
名字一个个念出,聚光灯追逐着获奖者起身、上台、与董董握手、从谢博超手里接过夸张的大支票模型。
笑声,掌声,音乐激昂。
技术部这边陆续有人被点到。
老张,算法组组长,上去时搓着手,笑得憨厚。
小李,后端主力,激动得同手同脚。
曾鹏飞的名字也被叫到,他“嘿”了一声,用力拍我后背:“等着,哥给你看看支票模型多大!”他跑上去,身形雀跃。
名单很长。我听着,刚开始还下意识绷着根弦,到后来,那弦自己慢慢松了,耷拉下去。胃里那点橙汁开始泛酸。
同桌的人几乎都上去过了。最后几个名字念完,音乐变换,进入下一环节。聚光灯从我们这桌彻底移开。
周围是喧嚣的海洋。我坐在这里,像一块突然沉默的礁石。
曾鹏飞拿着那个可笑的泡沫支票模型回来,塞我怀里:“摸摸,沾沾喜气!”他脸上兴奋的红还没退,看着我,愣了愣,“咋了?还没念到你?不能吧,是不是漏了?”
我摇摇头,把支票模型推还给他:“可能吧。”
手机震动了一下。
是公司内部APP推送的年终激励明细。
我点开,需要指纹验证。
通过后,长长的列表加载出来。
我直接滑到技术序列,慢慢往下找。
找到了。
陈楚婷。
后面跟着的数字,比我预估的底线,还少了百分之二十。
是技术骨干的平均数,或者,略高一点点。
一个非常“安全”的数字。
一个不会引起任何人注意、也绝不会出错的数字。
我盯着屏幕,看了很久。直到屏幕自动变暗、锁屏。
黑暗的屏幕映出头顶扭曲晃动的水晶灯影,还有我自己没什么表情的脸。
曾鹏飞凑过来想看,我按熄了屏幕。
“多少?”他问。
“就那样。”我说。
他显然不信,但看我脸色,把话咽了回去,嘟囔着:“肯定是系统出错了,明天找财务问问。你可是……”
可是什么?
核心架构师?
算法奠基人?
那些深夜只有我和服务器日志知道的崩溃与重构,那些在技术方案里被谢博超轻描淡写归为“团队努力”的突破性节点?
我端起那杯已经温吞的橙汁,一口气喝完。更腻了,粘在喉咙里。
台上,董俊雄正在举杯,说着“未来可期”。所有人都站起来,高举酒杯。我也跟着站起来,举起空杯。
灯光太亮了。亮得人眼睛发涩。
02
第二天上班,气氛还残留着年会的微醺。
走廊里碰到的人,脸上大多带着笑,互相打招呼都热络几分。讨论奖金怎么花的声音,隐约飘过来。
我直接去了财务部所在的楼层。杨银花总监的办公室门关着,外面工位上的助理认识我,抬头笑了笑:“陈工,找杨总?”
“嗯,有点事想咨询。”
“杨总在开会,关于激励后续税费优化的。您要不等等?或者我帮您预约个时间?”
“大概多久?”
“不好说,这个会挺重要的。”助理语气抱歉,但眼神公事公办。
我点点头:“那我预约吧。”
“好的,我看看……杨总明天下午三点以后有十五分钟空档,您看行吗?”
“行。”
离开财务部,回到技术层。
刚出电梯,就撞见谢博超和几个人从茶水间出来,谈笑风生。
他看到我,笑容更和煦了些:“楚婷,正想找你。来我办公室一下?”
我跟在他后面进去。他办公室宽敞,落地窗,视野很好。他在大班椅坐下,指了指对面的椅子:“坐。喝点什么?茶?咖啡?”
“不用了,谢总。有事您说。”
“哎,别这么客气。”他身体前倾,双手交握放在桌上,一副推心置腹的姿态,“昨天年会,感觉怎么样?我看你后来好像情绪不高?”
“没有,挺好。”
“那就好。咱们‘深蓝矩阵’这次打了一个漂亮仗,集团上下都非常满意。这都是团队每一个人的功劳。”他顿了顿,观察着我的脸色,“尤其是你,楚婷,技术上的定海神针。我是看在眼里的。”
我没接话。
他略感无趣,靠回椅背,手指在光洁的桌面上点了点:“关于年终激励呢,公司有公司的整体考量,一套非常复杂的核算体系。不仅仅是技术贡献,还有项目管理、跨部门协作、风险控制等等综合维度。这次呢,你的奖金在技术序列里,已经是顶尖的了,是我亲自帮你争取过的。”
我抬起眼看他。他笑容不变,眼神里有点别的东西,像是安抚,也像是告诫。
“我明白,可能跟你心里的预期有点差距。年轻人,有冲劲是好的,但也要理解公司的全局安排。”他语气放得更缓,“这样,我个人呢,再从项目总经理基金里,给你申请一笔特殊津贴,金额嘛,不会比你现在这个数少太多。你看怎么样?这事就不必惊动董总他们了。”
血液好像嗡了一声,冲上头顶,又迅速褪去,留下冰冷的清醒。我看着他那张诚恳的、为你着想的脸,忽然觉得有点滑稽。
“谢谢谢总。”我开口,声音平稳得自己都意外,“津贴就不用了。公司按规定来就好。”
他似乎有些意外,探究地看了我几秒,随即笑起来:“也好,也好。楚婷你就是太实在,太专注于技术了。以后啊,多参与些管理事务,多露露脸,价值会被更全面看到的。”
“嗯。”我站起来,“没别的事,我先去忙了。”
“好,去吧。”
走出他办公室,带上门。走廊空旷安静。我靠在冰冷的墙壁上,深吸了几口气。肺里却还是堵得慌。
曾鹏飞从旁边探出头,把我拉进消防通道。
“怎么样?找财务了吗?是不是弄错了?”他压低声音问。
“预约了明天。”
“谢总呢?他怎么说?”
“他说我奖金已经是技术顶尖,是他争取过的。”
曾鹏飞骂了句脏话,脸气得有点红:“顶尖个屁!老子奖金都比你高半截!这他妈算什么?卸磨杀驴?不对,磨还没卸呢就杀驴?”
“可能我这头‘驴’,只会拉磨,不会叫吧。”我说。
他瞪着我:“你还笑得出来?”
我摸了摸自己的脸,才发现嘴角是有点向上扯的。不是笑,是肌肉不听使唤。
“楚婷,这事不能就这么算了。你得闹,得让他们知道!‘深蓝’最核心的那套异构融合算法,离了你谁能动?那些调参,那些边界条件处理,不都是你一手弄的?谢博超他懂个……”
“鹏飞。”我打断他,声音有点哑,“别说了。”
他看着我,眼里的愤怒慢慢变成一种无奈和难过。他拍了拍我肩膀:“行,我不说了。但你得为自己想想。太老实,吃亏。”
回到工位。电脑屏幕亮着,是昨晚没写完的一段代码注释。我盯着那些熟悉的字符,手指放在键盘上,却半天没动。
手机屏幕亮了一下,是母亲陈蕾发来的微信:“婷婷,这周末回家吗?妈买了你爱吃的排骨。”
我盯着那行字,鼻子猛地一酸。赶紧仰起头,眨了眨眼,把那股湿意逼回去。
打字回复:“回。这周就回。”
“好,路上注意安全。别太累。”
别太累。
我放下手机,重新看向屏幕。代码一行行,清晰,冷静,遵循着绝对的逻辑。比人简单多了。
03
下午,我还是去见了杨银花。
她办公室有种刻板的整洁,所有文件分门别类,一丝不苟。
她本人也如此,穿着合身的职业套装,坐姿笔直,看人的时候目光直接,不带什么多余情绪。
“陈工,请坐。”她示意我对面的椅子,“关于激励的事情?”
“是。杨总,我想了解一下,我的奖金核算具体是基于哪些标准?我个人感觉,与我在‘深蓝矩阵’项目中的实际贡献,可能存在较大偏差。”我尽量让语气显得客观、专业。
杨银花翻开手边一个厚厚的文件夹,推了推眼镜,语调平稳如播报:“陈楚婷,你的年终激励,严格依据集团《核心技术人员激励管理办法(试行)》及本次‘深蓝矩阵’专项激励细则核算。主要维度包括:基础岗位价值系数、项目参与度评级、技术成果可量化贡献点、跨部门协作评价、直属上级综合评定,以及司龄系数等。”
她念了一串数字和百分比,最后合成那个我已知的结果。
“可量化贡献点,是以什么为标准?”我问。
“以项目结项报告中的技术里程碑认定,以及专利、代码提交记录等为依据。”她抬眼看了看我,“你的很多工作,属于底层架构和算法优化,在最终报告体现上,确实不如一些应用层功能点那么‘显性’。但系数已经给予了考量。”
“我的直属上级综合评定,”我顿了顿,“是谢博超副总裁做的?”
“是的。”
“这个评定,对最终结果影响大吗?”
杨银花合上文件夹,双手交叠放在桌上,这是一个略带防御的姿态:“陈工,公司的激励体系是为了公平和导向。它考量的是综合贡献,而不仅仅是某一方面的突出。谢总的评定,是基于他作为项目总负责人对团队成员的全面观察。技术能力很重要,但沟通、协作、风险意识,同样是一个优秀员工不可或缺的素质。”
她的话滴水不漏,甚至带着某种“我是为你好”的规劝意味。
我明白了。在这里,我得不到任何实质性的答复。所有的规则都解释得通,所有的流程都毫无瑕疵。我的“感觉”,只是我的感觉。
“我明白了,谢谢杨总。”我站起来。
“陈工,”她叫住我,语气缓和了些,“你是公司难得的技术人才,董总也多次提起过。眼光放长远些,个人发展与公司平台是相互成就的。这次激励,在技术序列里,你已经是头部了。”
又是“头部”。我点点头,没再说什么,转身离开。
回到技术层,我没回工位,径直走向楼顶的天台。冬日的风凛冽,吹在脸上刀割似的。城市在脚下铺开,灰蒙蒙一片。
手机在口袋里震了一下。是银行自动还款的提醒短信,房贷扣款成功。我看着那串数字,又想起奖金明细里那个“安全”的数字。
差得太多了。
不是缺这笔钱活不下去。
而是,那种价值被系统性低估、被轻描淡写抹去的窒息感。
我所有的夜晚,所有的绞尽脑汁,所有的执着于那0.1%的性能提升,在那一套“综合考量”的公式里,被稀释得无足轻重。
谢博超可以拿着我的成果去台上风光。
公司可以拿着项目利润去宣布破纪录激励。
而我,拿着一个“技术序列头部”的安慰奖,还要被暗示“不要太专注于技术”,“要多露脸”。
风很大,吹得我眼睛发干,发疼。
我摸出烟盒,磕出一支,点燃。很久没抽了,呛得咳嗽了两声。尼古丁的味道冲进肺里,带来些微麻木的平静。
抽完一支,又点了一支。
直到手脚都冻得有些僵,我才慢慢走下楼。
经过谢博超办公室时,门开着一条缝。
里面传来他讲电话的声音,中气十足,带着笑:“……王总放心,后续维护升级,我们的团队绝对是最专业的!核心算法稳定性?没问题,那是我们攻坚的重点,有全套保障机制……”
我快步走过。
那一晚,我在公司待到很晚。
人都走光了,灯一盏盏熄灭,只剩下安全出口绿莹莹的光。我工位这一小片区域还亮着。屏幕的光映在脸上。
我没有写代码。
我在整理东西。三年多来,所有与“深蓝矩阵”相关的,我经手的技术文档、设计草图、实验日志、问题追踪记录。分门别类,标注清晰。
还有,我写给自己看的、从未放入任何正式文档的技术笔记。
里面记录了算法每一个关键迭代背后的真实权衡,那些失败的路,那些灵光一现却无法在当下实现的思路,还有……一些关于系统脆弱点的思考。
比如,在面对极端异常数据涌入时,现有架构可能存在的过载风险。
我设计了一个独立的监控与缓冲机制,像一道隐秘的闸门,深嵌在核心流程里。
我把它叫做“隐式校验锁”。
触发条件苛刻,理论上极难碰到。
但万一碰到,它会先于系统崩溃前介入,平滑限流,并留下最高级别的告警日志。
这个设计,项目报告里没有。
因为它属于“冗余安全”,在追求上线速度的阶段,显得不那么必要。
谢博超当时听了简要汇报,说:“想法很好,先做基础保障,这个作为二期优化吧。”
我没争辩。但我私下把它做完了,调试好,像一颗沉默的种子,埋在了系统最深的地基里。密钥和触发逻辑,只有我完整知道。
我打开那个加密的配置文件,最后检查了一遍。
然后,开始写离职报告。
不是冲动。
像是一块石头,在心里压了太久,终于到了承受的极限。
不是愤怒地砸碎一切,而是冷静地、一根一根,抽掉自己与这里连接的所有丝线。
报告写得很长。项目技术总结、当前进展、潜在风险、交接建议。客观,详尽,没有任何情绪化的字眼。像一份完美的技术遗产清单。
写完最后一行,天边已经泛起了鱼肚白。
我保存,备份到加密U盘。
然后,开始删除个人电脑里所有私人文件:那些未完成的个人项目代码,和家人朋友的合影,收藏的技术文章,甚至浏览器书签。
清空回收站。
工位上,属于我的东西不多。一个保温杯,几本专业书,一件午睡用的薄毯。我把它们装进一个纸袋。
最后,我环顾这个坐了三年多的工位。屏幕上,是干净的蓝色桌面壁纸。
再见。
不,没什么好再见的。
04
辞职信和那份厚厚的离职报告,我是早上八点半,放在谢博超桌子上的。
他通常九点后才到。我选择这个时间,是不想和他有正面交谈。
然后我回到工位,等待。纸袋放在脚边。
曾鹏飞第一个发现我不对劲。
他端着咖啡蹭过来,看我屏幕漆黑,又看看我脚边的袋子,眼睛瞪大了:“我靠,楚婷,你……你别想不开啊!奖金的事我们再想办法,我陪你一起去找董总……”
“我辞职了。”我说。
他手里的咖啡晃了一下,洒出来几滴:“什、什么?真的假的?就因为奖金?”
“不全是。”我顿了顿,“累了,想歇歇。”
“你他妈……”他急得抓头发,“你歇个屁!你房贷怎么办?你妈那边……你不是说她最近身体不太好吗?”
我心里揪了一下。
是的,母亲陈蕾上个月体检,有几个指标不太好,需要复查。
她一直瞒着,怕我担心,是我偷偷问了姨妈才知道的。
这也是为什么我最近特别想多回家。
“我有打算。”我说,声音不高,但很确定。
曾鹏飞了解我,知道我这话说出来,就是真的没有转圜余地了。
他一屁股坐在旁边的空椅子上,颓然:“妈的……这叫什么事儿。少了你,‘深蓝’以后……”
他没说下去。走廊那头传来脚步声,谢博超来了。
他经过我们这边时,脚步顿了一下,目光在我脸上和我脚边的袋子上扫过,眉头微不可察地皱了一下,但没说话,径直进了办公室。
大概十分钟后,他内线电话打到我座机:“楚婷,来一下。”
我起身。曾鹏飞想说什么,我冲他摇摇头。
谢博超办公室里,我的辞职信和报告摊开在他桌上。他脸上没有昨天的和煦,显得有些严肃,甚至有点不耐烦。
“陈楚婷,你这是什么意思?”他指着那摞报告,“就为了奖金的事?我说了,可以给你申请特殊津贴。你这样搞,太不成熟了!”
“谢总,我考虑清楚了。个人原因,想休息一段时间。”我语气平静。
“休息?你现在是项目的关键时期!多少双眼睛盯着?你这时候撂挑子,想过后果吗?想过团队吗?”他语气加重,带着指责。
“技术交接报告我已经写好了,所有细节都在里面。以目前项目的稳定程度,只要按文档操作,不会有问题。”我说,“我的工作,已经完成了。”
“完成?”谢博超像听到了什么笑话,“技术是不断迭代的!后面还有二期、三期规划,都需要你牵头!你现在走,就是不负责任!”
责任?我忽然觉得有点可笑。负责任的回报,就是一个被平均后的数字,和一句“要多参与管理”的告诫吗?
但我没说出来。只是重复:“我真的考虑清楚了。”
谢博超盯着我,胸口起伏了几下,似乎在压着火。
他拿起我的辞职信,又放下,语气稍微放软:“楚婷,我知道你心里有气。这样,津贴我马上帮你申请,今天就批!另外,我也可以跟董总提,下半年晋升评审,优先推荐你。你的能力,公司是认可的,只是需要时间体现。别赌气,行吗?”
又是交易。用一点眼前的甜头,换取我的继续沉默和付出。
“谢谢谢总,不用了。”我微微鞠了一躬,“如果没什么其他事,我今天就办理离职手续。”
谢博超的脸色彻底沉了下来。
他靠回椅背,手指敲着桌面,一下,又一下。
良久,他挥挥手,带着一种厌倦和失望:“行,你要走,我不拦你。按流程办吧。我会让HR跟进。”
“好的。”
我转身出门,轻轻带上门。隔绝了他那道复杂的视线。
接下来是走流程。
HR的人公事公办,带着一丝不易察觉的惋惜和好奇。
签了一堆文件,交还门卡、工牌、笔记本电脑。
赔偿金按N 1算,数字比年终奖好看点,讽刺得很。
曾鹏飞一直陪着我,帮我抱着那个纸袋。他眼圈有点红,一路骂骂咧咧,又不知道骂谁。
“以后常联系。”他说,“有啥需要帮忙的,吱声。”
“嗯。你也是,少熬夜。”我说。
最后看了一眼技术部那片熟悉的区域。有人探头看,目光各异。我冲曾鹏飞点点头,转身走进电梯。
电梯下行时,轻微的失重感。像心里某块一直提着的东西,终于落了地。砸得生疼,但也踏实了。
走出大厦,冬日惨白的阳光照在脸上。风还是冷。
我深吸一口气,冰冷的空气灌满胸腔。
手机响了。是母亲。
“婷婷啊,这周末确定回来吧?妈把排骨都炖上了,你爸以前最爱吃的那种做法……”她声音带着笑,絮絮叨叨。
“回,妈。我……我这两天就回来,多住几天。”我说,喉咙有点哽。
“那好啊!工作不忙了?”
“嗯,不忙了。刚好……休个年假。”
“是该休息休息,别总对着电脑。”她放心了,又嘱咐了几句路上小心。
挂掉电话,我站在街边,看着车流人流。这个世界照常运转,不会因为某个人的离开而停顿片刻。
但我的世界,需要停一停了。
05
我没有立刻回家。
先去银行,把离职补偿金和账上不多的存款归拢了一下,算了算能支撑多久。房贷是自动扣的,暂时没问题。母亲的复查费用,得预留出来。
然后去商场,给母亲买了件厚实的羊绒衫,她总舍不得买贵的。又买了些容易消化的营养品。
提着大包小包回到租住的小公寓,已是傍晚。屋子里冷冷清清,和我早上离开时一样。我把东西放下,开始收拾行李。
其实没什么好收拾的。常穿的衣服,洗漱用品,笔记本电脑,几本书。一个行李箱就够了。
收拾到一半,手机震了。是个陌生号码,归属地是本市的座机。
我犹豫了一下,接了。
“喂,陈楚婷吗?”是个有点耳熟的中年男声,语气沉稳,但带着一丝不易察觉的急切。
“我是。您哪位?”
“我董俊雄。”那边顿了一下,似乎给了我一点反应时间,“现在方便说话吗?”
我确实愣了一下。没想到他会直接打给我,还是用私人号码。
“董总,您好。”
“听说你离职了?”他开门见山。
“是,今天刚办完手续。”
“为什么?”他问得很直接,“谢博超跟我汇报,说是你对年终激励有意见?还是有什么别的困难?公司可以解决。”
我走到窗边,看着外面渐次亮起的万家灯火。
“董总,没什么困难。就是个人想休息一段时间,调整一下。”
“休息可以请假。‘深蓝矩阵’现在离不开你,很多关键技术节点只有你最清楚。你这一走,项目进度、技术风险,都是问题。”他语气加重了些,“陈楚婷,你不是刚毕业的年轻人了,做事要考虑后果,要有责任心。”
又是责任。
“技术交接报告我已经完整提交了,所有我知道的细节都在里面。项目目前运行稳定,按文档操作,不会有问题。”我把对谢博超说的话,又重复了一遍。
电话那头沉默了几秒。我甚至能想象他皱眉的样子。
“报告是死的,人是活的。有些东西,不是写在纸上就能传递的。”他换了个语气,稍微放缓,“这样,你如果对激励有想法,可以直接跟我提。你的贡献,我心里有数。之前可能有些地方,沟通不够充分。你现在回来,我们可以重新谈。”
重新谈?谈什么?谈一个更高的数字?然后继续在谢博超手下,做一个“技术序列头部”的隐形人?
“谢谢董总。”我说,“我真的想好了。不是钱的问题。”
“那是什么问题?”他追问,声音里透出些许不耐烦,“陈楚婷,公司培养一个顶尖技术人才不容易,给你平台,给你资源。你不能太任性。”
任性。原来坚持自己的价值判断,是任性。
“对不起,董总。我已经决定了。”我声音很轻,但很清晰。
电话那头呼吸声重了一些。然后是更长的一段沉默。
“行。”他终于说,那个字像是从牙缝里挤出来的,“按流程办吧。希望你不要后悔。”
“不会。”
通话结束。我握着手机,手心有点汗。
他亲自打电话来,算是给足了“面子”。
但话里话外,依然是上位者的思维:我给予你平台,你应当感恩和服从;你的不满,是“沟通问题”或“任性”;解决方式,是“重新谈”条件。
他并不真正理解,或者说,并不愿意去理解,那种价值被体系性抹杀的感觉。
也好。彻底断了那一点点不切实际的念想。
我把手机调成静音,扔在床上,继续收拾行李。
夜深了。我洗完澡,躺在床上,却毫无睡意。
起身,打开笔记本电脑。连上网络,但刻意避开了公司任何相关的内部网络或通讯软件。
我登录了一个私人的、加密的云存储空间。里面有一个文件夹,名称是一串毫无意义的字符。
打开。
里面是“隐式校验锁”的完整设计文档、源代码(加密)、以及触发逻辑的详细说明。
还有一个独立的监控小程序,可以远程查看校验锁的状态日志——当然,需要密钥。
我检查了一遍。一切正常。校验锁处于静默待命状态,像深海里的礁石。
我不知道它会不会被触发。理论上概率极低。但金融数据的世界,黑天鹅事件并非不存在。
如果,只是如果,它真的被触发了呢?
那意味着系统遇到了设计时未曾预料的极端压力。校验锁会启动,平滑限流,保住核心数据和系统不崩溃,同时留下最高级别的告警。
然后呢?
然后,会发现这个锁的存在。会发现它不属于任何公开设计文档。会试图绕过或关闭它,但需要密钥和特定指令。
会想起我。会明白,我留下的,不仅仅是一份详尽的交接报告。
我关掉文档,退出云空间。清空浏览器记录。
这不是报复。至少,我不愿意把它定义为报复。这是一个技术人对自己作品的最后一道保险,也是对自己价值的一份沉默的证明。
它就在那里。安安静静。
用,或者不用,何时用,都不由我了。
我合上电脑,重新躺下。
这一次,很快睡着了。
06
第二天一早,我拖着行李箱去了高铁站。
母亲家在邻市,一个多小时车程。她早就在车站外等着了,穿着我去年给她买的那件旧羽绒服,在寒风里跺着脚,伸长脖子张望。
“妈!”我喊了一声。
她看见我,脸上立刻绽开笑容,小跑着过来,接过我的小背包:“怎么又瘦了?箱子沉不沉?路上顺利吧?”
“顺利,不沉。”我挽住她的胳膊。她的手很凉,但握住我的力道很紧。
家里还是老样子,干净,朴素,充满了生活气息。父亲的照片摆在客厅柜子上,温和地笑着。炖排骨的香味从厨房飘出来,暖融融的。
“快,洗手吃饭。坐车累了吧?”母亲忙前忙后。
吃饭时,她不停给我夹菜,问些琐碎的事情:工作忙不忙?
同事好不好相处?
租的房子暖气够不够?
我没提离职,只说最近项目告一段落,休个长假,好好陪陪她。
她很高兴,又有点担心:“休息多久啊?公司能同意?不会影响你工作吧?”
“不会,您就放心吧。正好带您去医院把复查做了,咱们好好查查。”我说。
她眼神闪烁了一下,低下头扒饭:“我没事,都好,不用花那个钱……”
“妈。”我放下筷子,看着她,“必须查。钱的事您别操心。”
她叹了口气,没再反对。
下午,我陪她去附近的公园散步。
阳光很好,很多老人在锻炼、下棋、聊天。
母亲遇到几个熟人,热情地打招呼,介绍我:“我女儿,回来住几天。”
“哟,女儿真孝顺,回来陪您呢!”
母亲笑得很开心,眼角皱纹都舒展开。那一刻,我心里那点因为离职而生的忐忑和空洞,被填满了些。
晚上,我睡在从小睡到大的房间。被子有阳光晒过的味道。很踏实。
手机一直静音,放在客厅充电。我故意没去看。
直到第二天早上,帮母亲准备去医院的东西时,我才拿起手机。屏幕上一片干净,没有未接来电,只有几条垃圾短信和公众号推送。
看来,公司那边还没“发现”什么。
或者说,还没到需要“发现”的时候。
这样也好。
母亲的反查项目比较多,有些需要预约,有些要排队。我们花了大半天时间在医院里。母亲很紧张,我尽量轻松地跟她说话,转移她的注意力。
等待的间隙,我拿出手机看了看。
依然安静。
下午,最后一个项目做完,等结果出来还要一点时间。我让母亲在休息区坐着,自己去自动贩卖机买水。
刚投完币,手机在口袋里震动起来。
不是电话,是一种特定节奏的、短促的连续震动。是我那个独立监控小程序的预警提醒。
我的心猛地一跳。
这么快?
我迅速拿出手机,解锁,点开那个伪装成计算器图标的APP。需要指纹二次验证。
通过。
简洁的界面上,一条红色日志赫然在目:
【时间戳:今日14:07:33】
【事件:隐式校验锁触发-条件A3满足(极端数据流异常模式)】
【动作:核心线程池平滑限流启动(当前效率:基准值的40%)】
【状态:持续监控中。系统整体运行,但高负载业务响应显著延迟。】
【告警级别:CRITICAL】
真的触发了。
而且是在工作日的工作时间。这意味着,正在进行的关键业务受到了直接影响。
我盯着那行红色的字,手指微微发凉。
“婷婷,水好了吗?”母亲的声音从旁边传来。
我立刻按熄屏幕,转过身,脸上挤出笑容:“好了好了,这就来。”
把水递给母亲,我深吸一口气,努力让心跳平复下来。
“妈,您在这儿坐会儿,我……我去打个工作电话,可能有点急事。”我说。
“哦哦,好,你去,别耽误正事。”母亲连忙说。
我走到相对僻静的消防通道,再次打开手机。
监控日志又更新了几条,显示限流状态持续,系统延迟指标在恶化。但没有崩溃,核心数据流是安全的。
这原本就是设计目的:用可接受的性能损失,避免不可逆的系统崩溃和数据损坏。
我关掉APP,调出通话记录。
一片空白。没有未接来电。
奇怪。校验锁触发,系统出现明显性能问题,技术团队肯定第一时间介入排查。他们很快就会发现这个未知组件的存在,会试图解决,会失败……
然后,就该找我了。
为什么还没电话?
是还没查到这个层面?还是谢博超想自己搞定,压着没上报?
都有可能。
我握着手机,站在安静的楼梯间,能听到自己有些急促的呼吸声。
等吗?
主动联系?
不。既然选择了离开,既然埋下了这颗种子,就要等它自己发芽。主动凑上去,味道就全变了。
我收起手机,整理了一下表情,回到母亲身边。
“没事吧?”母亲关切地问。
“没事,一点小问题,同事处理了。”我笑笑。
检查结果陆续出来,大部分没问题,但有一项血液指标还是偏高,医生建议观察,定期复查,注意饮食和休息。
我仔细记下医嘱,心里松了口气,还好,不是最坏的情况。
陪着母亲取药,离开医院,回到家,已是傍晚。
我的手机,依然沉默着。
但这种沉默,开始带上一种山雨欲来的压力。
晚饭时,我有些心不在焉。母亲跟我说话,我反应慢了半拍。
“是不是工作上的事没处理完?”母亲敏感地问,“你要是忙,就先回去,妈没事。”
“不忙,真不忙。”我给她夹菜,“就是有点累了。”
吃完饭,我抢着洗碗。手机就放在料理台边上。
洗到一半,它终于再次震动起来。
不是预警。是来电。屏幕亮起,是一个熟悉的本地座机号码,和昨天董俊雄打来的那个不一样,但前缀是公司的总机。
来了。
我看着屏幕上跳动的号码,水流哗哗冲着手中的盘子。
震动了大概十几声,停了。
我没接。
过了一会儿,又开始震动。同一个号码。
又停了。
第三次震动响起时,我擦干手,拿起手机。
还是没有接。只是看着它,在掌心一下下地震动,嗡鸣。
仿佛能透过这震动,感受到电话那头逐渐升起的焦灼。
第四次……
第五次……
第六次……
我开始数。心里一片奇异的平静,甚至有点麻木。
号码开始变化。有座机,有手机,有些眼熟,可能是技术部其他人的,有些完全陌生。
但有一个号码,反复出现。是董俊雄的私人手机号。昨天刚打过。
他亲自下场了。
震动,停止。再震动,再停止。像一场沉默而执着的拉锯战。
母亲从客厅探头:“婷婷,你电话响了好多次了,是不是有急事啊?”
“嗯,是公司的事。”我说,“妈,我进屋接一下,可能时间比较长。”
“好,你去吧,门关上,别吵着你。”
我走进卧室,关上门。把手机放在书桌上,拉过椅子坐下。
它就那么在我面前,不知疲倦地震动、熄灭、再震动。
像一头被困住的兽,在无声地咆哮。
我打开笔记本电脑,连上网络,再次点开那个监控小程序。
红色日志又增加了许多条。限流状态持续。系统延迟已经达到了设计阈值的上限。告警级别依然是CRITICAL。
显然,他们尝试了各种方法,无法解除这个锁。甚至可能,越搞越糟。
我靠在椅背上,看着手机上又一次亮起的屏幕。
董俊雄的号码。
这一次,我没有等它自动挂断。
在它震动了大概七八下之后,我伸出手指,划向了接听键。
07
电话接通的一瞬间,两边都是沉默。
只有细微的电流声,和他那边略显粗重的呼吸声。
“陈楚婷。”他终于开口,声音沙哑得厉害,完全不像昨天那个沉稳有力的董俊雄。
背景音有些杂乱,隐约能听到快速敲击键盘的声音和压低的、焦躁的说话声。
“董总。”我应了一声。
“你在哪?”他问,直奔主题,没有任何寒暄。
“在家。”
“哪个家?你租的房子?我让人过去了,没人。”
“我回我母亲家了。”
他顿了一下,似乎没想到这个答案。也可能是旁边有人快速低声说了什么。
“好。”他语速很快,“你现在,立刻,马上,回公司一趟。有紧急技术问题,需要你处理。”
“董总,我已经离职了。”我提醒他。
“我知道你离职了!”他的声音陡然拔高,又猛地压下去,带着强忍的怒意和一种濒临失控的焦虑,“但现在情况紧急!‘深蓝矩阵’的核心交易链路出了大问题,响应延迟极高,部分业务已经近乎瘫痪!技术团队搞不定!谢博超说他也不清楚怎么回事!排查发现系统里有个……有个不知道哪来的监控锁!是不是你干的?!”
最后一句,几乎是低吼出来的。
我看着电脑屏幕上刺眼的红色日志,语气没什么起伏:“董总,我不明白您在说什么。我的工作已经全部交接完毕,在离职报告和技术文档里都有详细说明。系统里的任何组件,都应该有记录和文档。”
“记录个屁!”他爆了句粗口,完全失了平时的风度,“现在系统里有个鬼东西卡着喉咙!所有常规方法都试了!移除不了!绕过不去!它像个闸门一样把性能砍了大半!今天下午开始的,正好是业务高峰!你知道这每分钟意味着多少损失吗?!客户投诉电话已经打爆了!”
他的声音因为激动和疲惫而颤抖。
我没说话。
他似乎意识到自己的失态,深吸了几口气,再开口时,声音稍微平复了些,但那种迫切的压力感更重了:“陈楚婷,我不管那是你留下的后手,还是什么别的。现在,立刻,告诉我怎么解决它。条件,你可以提。”
“董总,我真的不清楚您说的‘闸门’是什么。如果系统中有我未交接的未知组件,那可能是流程疏漏。但我现在不在公司,也无法远程访问内部系统,帮不上忙。”我说的是事实。
我确实没有留后门,那个校验锁是合法组件的一部分,只是未被广泛知悉。
我也没有远程控制它的能力,只能看日志。
“你……”他又要被点着了,“陈楚婷!现在不是赌气的时候!这是重大生产事故!关系到公司的信誉,关系到‘深蓝矩阵’这个项目的生死!你也是这个项目一手做起来的,你就忍心看着它完蛋?!”
“董总,”我打断他,声音依旧平稳,“我离职时,项目运行稳定。我留下了我认为完备的交接资料。至于为什么会发生今天的问题,为什么会有一个‘未知组件’造成影响,我想,这或许正是需要反思项目管理和技术架构透明性的地方。而不是在事故发生时,寻找一个已经离职的前员工。”
电话那头传来“砰”的一声闷响,像是什么东西重重砸在桌子上。然后是压抑的、急促的呼吸声。
“好,好,好。”他一连说了三个好,每个字都像从牙缝里挤出来,“陈楚婷,你有种。你现在告诉我,你到底想怎么样?要钱?多少?要职位?你说!只要你现在回来把这个东西解决掉!”
“董总,我不需要钱,也不需要职位。”我说,“我已经离职了。我现在的生活重心是陪伴家人。”
“你他妈……”他再次失控,但话没骂完,旁边似乎有人劝住了他。电话里传来一阵模糊的争执和低声劝解。
过了将近一分钟,他的声音再次传来,疲惫感彻底压倒了愤怒,甚至带上了一丝几乎不可能是董俊雄会有的……无奈和恳求?
“陈楚婷,算我……请你帮忙。看在公司这几年待你不薄的份上,看在这个项目凝聚了大家心血的情分上。回来,帮我这一次。解决这个问题。之后,你想怎么样,我们再谈,好吗?”
待我不薄?情分?
我心里某个角落冷笑了一下,但更多的是一种复杂的疲惫。
“董总,不是我不帮。第一,我确实不清楚具体情况;第二,我没有访问权限;第三,我认为当前最紧急的,是让在职的技术团队,依据现有的系统架构文档和代码库,进行深入排查。也许问题并不在那个‘未知组件’上。”
“代码库翻遍了!架构图对不上!现在所有迹象都指向那个鬼东西!”他又急了,“你是不是非要我跪下来求你?!”
我没接这个话茬。卧室门外传来母亲轻微的脚步声,她在客厅看电视,音量调得很小。
“董总,如果没有其他事,我先挂了。我母亲身体不太好,需要休息。”
“别挂!”他几乎是吼出来的,然后声音立刻软下去,带着一种绝望的急促,“等等!陈楚婷,你等等!你说,你要怎么样才肯出手?只要你说,我能做到的,我一定做!”
我沉默着。手指无意识地在冰冷的桌面上划着。
他的呼吸声通过话筒传来,沉重,艰难。
热门跟贴