作者:冯继军

辛明的办公桌上多了个纸箱,是研发部同事老郑离开公司时送的。箱子底层压着本泛黄的工作手册,扉页有行褪色的字迹:“2018年Q3,数据模型优化组——辛明,钱力。

钱力现在是技术总监,三天前在高管会议上,拍着桌子指责辛明团队“泄漏新系统秘密”。

新系统上线前夜,用户数据险些泄露,公司采取紧急措施后,技术部查出漏洞的原因是核心算法的一个冗余模块出了问题,那个模块的编码习惯,和辛明五年前主导的一个废弃项目高度相似。

“辛总监就是个哑头神,别看他平时不开腔,一肚子花花肠子,这几年不显山不露水,闷起脑壳赚大钱,在公司捞了不少好处。”茶水间的窃窃私语,扎在辛明心上。他捏着那本手册,指尖划过钱力当年用红笔圈住的批注:“这个冗余模块留着,万一以后有用!”

那时钱力还是他的副手,总说辛明“太注重细节,不像个干大事的人”。后来项目告吹,钱力带着团队另起炉灶,标新立异,把辛明当成假想敌,处处玩弄新花样,不放过一切可能,显示自己的能力,把辛明的谨慎说成是“保守”。

辛明不解释。他调阅了近三个月的代码提交记录,发现那个冗余模块是被人从旧项目库中扒出来,悄悄嵌入新系统的。操作日志被清空了,但备份服务器的访问记录里,有个模糊的IP地址,指向钱力的私人工作站。

他把证据拷贝进U盘,刚要起身,钱力推门进来,手里捏着份人事调令。“董事长叫你去分公司待半年,避避风头。”钱力笑里藏刀,“你也知道,现在舆论对公司不利,总得有人Ę担责任。”

辛明看着他,忽然想起2018年那个风雨交加的夜晚。项目组为了赶进度,钱力偷偷改了核心参数,打乱了全部测试数据。是辛明通宵重算,把责任揽在自己“审核不严”的头上,才保住了钱力晋升的机会。那时钱力拍着他的肩膀说:“辛哥,这份情我一辈子忘不了。”

“漏洞不是我造成的。”辛明第一次开口辩解,声音很轻。

钱力脸色骤变,猛地把调令拍在桌上:“证据呢?全公司都知道那是你的手笔!”

辛明没有辩解。他打开钱力的电脑,对方忘了锁屏,屏幕上赫然躺着一份与外部公司的邮件往来,附件是新系统的架构图。发送时间,恰恰就在漏洞出现前三天。

原来不是内斗,是外患。钱力怕被人抓住把柄,想把他推出去当替罪羊。

辛明关了页面,将U盘塞进抽屉深处。他给董事长发了封邮件,只写了一句话:“给我七十二小时,漏洞源头和解决方案,一起呈上。”

接下来的三天,辛明把自己锁在机房。他没查钱力,反而重写了整个算法逻辑,用更简洁的代码堵住漏洞,顺便优化了系统响应速度。刚刚七十二小时,他抱着新方案走进会议室,钱力正拿着那份“相似编码”的报告,准备向董事会请罪——当然,是请辛明的罪。

“冗余模块是2018年我写的,但嵌入新系统的人,不是我。”辛明把新方案推到桌上,投影幕布亮起备份服务器的访问记录,IP地址旁标注着“钱力私人工作站。”

钱力脸色瞬间惨白。

“但更重要的是这个。”辛明切换页面,调出钱力与外部公司的邮件截图,“他们用你当年修改参数的旧账威胁你,逼你植入漏洞,好趁机窃取用户数据。”

会议室一片哗然。董事长盯着钱力,铁青着脸,眼神似刀锋。

钱力瘫坐在椅子上,忽然笑起来,笑得比哭还难看:“辛明,你早就知道了,对不对?你就是等着看我栽跟头……”

“我只是在修系统。”辛明合上笔记本,“2018年没举报你,是觉得人都有犯错的时候,现在把证据拿出来,是因为关乎到公司的命运。”

他没提那句“记一辈子的情”,也没有说自己通宵重算数据的事。有些话不说破,让事实说话更有份量。

一周后,钱力被公司开除。辛明升任公司副总,办公桌上的手册换了新的,扉页写着:“冗余模块需标注来源及责任人”。

深夜加班,他接到个陌生电话,是钱力打来的。“当年……谢谢你。”对方声音哽咽。

辛明嗯了一声,挂了电话。窗外霓虹闪烁,静静的夜晚,少了许多喧嚣,辛明的思绪在脑海中漫游。

沉默从来不是退让,是把判断的权力,留给时间和事实。就像老歌里唱的,“笑骂由人,洒脱地做人”——不是不在乎,要知道在乎什么?