腊月二十七,下午三点四十二分,手机屏幕亮了一下。
我正蹲在机房角落里给服务器换坏掉的散热风扇,膝盖底下垫着的那张报废的A4纸已经被汗浸透了。
屏幕上跳出一条银行短信,我划开一看,年终奖到账,250元。
我盯着那三个数字看了足足五秒,喉咙里发干,像是吞了一把沙子。
机房里的空调嗡嗡响着,吹出来的热风扑在后脖颈上,黏糊糊的。
旁边那台备用电源的指示灯一闪一闪,绿光映在对面机柜的不锈钢面上,晃得人眼花。
我慢慢站起来,把螺丝刀插回工具袋,拉链拉上,动作很慢。
口袋里那张工资卡是我媳妇名字开的户,每个月房贷从里面扣,短信通知绑的是我手机号,她不知道。
上个月房贷还差一千二,我从花呗里套出来补上的,到现在还没填回去。
走出机房的时候,隔壁行政部的刘姐正端着一杯速溶咖啡往办公室走,看见我就笑:“小陈,年终奖发了吧? 今年效益好,你们技术部肯定不少拿。 ”
我没吭声,点了下头就过去了。
走廊尽头是财务室,门关着,透过磨砂玻璃能看见里面人影晃动。
我站了两秒,转身进了电梯。
电梯里信号不好,手机又震了一下,是部门群消息。
主管周胖子发了条语音,我点开听,他嗓门很大:“各位兄弟姐妹,今年公司困难,年终奖象征性发一点,大家理解一下,明年上市了肯定补上。 ”
下面一排人回复“收到”“理解”“周总辛苦了”。
我摁灭屏幕,电梯门开,一楼大厅冷风灌进来。
骑电动车回家的路上,风刮得脸疼。
路过菜市场,我停下车,进去买了三块钱的面条、一块五的豆芽。
卖面条的老头认识我,多抓了一把塞进袋子:“快过年了,给你添点。 ”我掏钱的时候,手碰到口袋里那张工资卡,又缩回来,用微信零钱付的。
到家开门,媳妇正在厨房炒菜,油烟机轰隆隆响。
她听见动静探出头:“今天怎么回来这么早? ”
“活干完了。 ”
“年终奖发了吗? ”她把锅铲搁在灶台上,手在围裙上蹭了两下,“我同事说她们公司发了八千多。 ”
“发了。 ”
“多少? ”
我把手机短信翻出来递过去。
她看了两秒,脸上的期待一点点垮下去,嘴角往下撇,像被人抽掉了支撑的线。
但她没说话,把手机还给我,转身继续炒菜。
锅铲碰铁锅的声音变得很响,一下一下,砸在我心口上。
吃饭的时候,电视开着,本地新闻在播一家科技公司被黑客攻击的事。
媳妇给我碗里夹了一筷子豆芽,低着头说:“小陈,孩子下学期学费该交了,一万二。 ”
我扒饭的动作停了一下。
“你爸上个月住院,报销完还差三千多,你妹垫的,说月底要还。 ”
我把碗里最后一口饭刨干净,站起来收碗。
“我今晚去公司一趟。 ”我说。
“都下班了还去? ”
“有个设备要重启。 ”
她没再问,起身去给孩子检查作业了。
我进卧室换了件厚外套,出门的时候听见她在屋里喊:“早点回来,明天还要去你妈那儿送年货。 ”
我没应声,门关上了。
晚上七点半,公司大楼十七层只剩我这边的技术部还亮着灯。
我刷卡进门,走到自己工位,把主机开机。
显示器蓝光亮起来,我打开一个平时从来不用的加密文件夹,里面是这三年我经手的所有核心数据备份权限日志。
周胖子一直以为这些日志只有他和信息部老赵有权限。
他忘了,这套备份系统的架构是我搭的,我给自己留了一把钥匙,不是为了偷东西,是为了保命。
三年前入职的时候,上一任技术主管交接时跟我说了一句话:“在这家公司,你得多留一手。 ”我当时没当回事,后来周胖子第一次把我写的代码署上他自己的名字报给副总,我就把钥匙插上了。
后台日志显示得很清楚:周胖子在过去两年里,用他老婆娘家的一个空壳公司名义,把公司核心算法的参数分批次卖给了深圳一家竞争对手。
每次交易都用加密U盘物理拷贝,不走网络,所以常规审计查不到。
但他不知道,每次他插U盘的时候,服务器主板的电压会有一个微小的波动,这个波动被我写的一个监控脚本记录下来了。
我数了数,一共十七次。
最近一次是上周五,拷贝的是用户行为预测模型的全部参数,那是我们花了八个月、烧了两千多万算力训练出来的东西。
我把所有日志打包,用自己写的加密算法锁了三层,存进一个指甲盖大小的微型SD卡里。
然后我把电脑上所有操作痕迹清干净,关机。
起身的时候,对面副总办公室的灯突然亮了。
我赶紧蹲下去,电脑椅挡住身体。
透过百叶窗缝隙看见周胖子带着两个人进去,一个是法务部的小吴,另一个不认识,夹着公文包。
周胖子的声音隔着玻璃传过来:“今晚必须把服务器里的原始日志全部覆盖,对手那边已经动手了,明天要是查出来是我们卖的,大家都得进去。 ”
小吴声音发抖:“周总,那可是180亿的项目数据,出了事谁兜得住? ”
“所以才叫你今晚过来。 动手。 ”
我蹲在工位底下,膝盖磕在机箱角上,疼得我咬住嘴唇。
手里攥着那张SD卡,卡角硌进掌心,留下一个深深的印子。
等他们进了机房,我贴着墙边溜进消防通道,一口气跑下十七层。
楼梯间里的声控灯一层层亮起来又灭下去,脚步声在水泥墙壁上来回撞。
到一楼的时候腿已经软了,推开门,冷风灌进肺里,我蹲在台阶上干呕了两下,什么也没吐出来。
手机开始震。
第一个电话是周胖子打的。
我看了一眼,摁掉。
第二个还是他。
第三个换了号码,是副总。
我把手机翻过来扣在膝盖上,屏幕的光映在地上,一个接一个地亮。
震动从膝盖麻到大腿根,像是有人拿电钻往骨头里打。
第四个、第五个、第六个……屏幕上的未接来电数字一直跳。
到第十七个的时候,媳妇打电话来了,我接了。
“你在哪? 你妈打电话说你爸又发烧了,让明天早点过去。 ”她声音很急。
“在路上了。 ”
“你是不是有事瞒着我? ”
我没回答,挂了电话。
手机又震了,这次是短信。
周胖子的消息只有一行字:“陈哥,接电话,条件好说。 ”
我看了一眼,锁屏。
接下来四十分钟,手机一共响了九十九次。
后来我把手机调成静音,揣进兜里。
骑电动车回家的路上,风把眼泪吹出来了,我腾出一只手抹了一把,手背冰凉。
到家的时候,媳妇已经把孩子哄睡了。
她坐在客厅沙发上,没开电视,就亮着一盏落地灯。
看见我进门,她站起来,手里攥着手机。
“你主管给我打电话了。 ”她声音很平,平得让我害怕,“说公司出大事了,让你赶紧回电话。 他说……他说只要你肯帮忙,年终奖补到二十万,明年给我安排个工作。 ”
我把外套脱了,挂在门边。
“还说你要是不同意,就以泄露公司机密的名义报警。 ”她眼睛红了,但没哭,“小陈,你到底干了什么? ”
我走到她面前,从兜里掏出那张SD卡,放在茶几上。
“我没干什么。 ”我说,“我只是没有接电话。 ”
她盯着那张指甲盖大小的卡,嘴唇哆嗦。
“这里面是什么? ”
“是他们偷公司数据的证据。 三年了,他们卖了十七次,每次都是拿我写的代码去换钱。 ”
媳妇捂住嘴,整个人蹲下去。
我把她扶起来,按在沙发上。
“你为什么不早说? ”
“早说有用吗? 他是主管,我是干活的。 我说了,走的人是我。 ”
她沉默了很久。
落地灯的光把她的侧脸照得发黄,眼角的细纹很明显。
她今年才三十四岁。
手机又响了,这次是公司副总直接发的短信:“陈工,明天上午十点董事会,你如果出席,之前的事一笔勾销,另外给你技术总监的位置。 ”
我把短信给媳妇看。
她看完,把手机还给我。
“你去吗? ”
“去。 ”
“那这些证据……”
“先不交。 ”我说,“我要看看他们还能演到什么程度。 ”
她突然抓住我的手,攥得很紧,指甲掐进肉里。
“要是他们真的报警怎么办? ”
“他们不敢。 ”我把SD卡重新收进口袋,“卖数据的事捅出来,他们比我惨。 周胖子老婆刚怀上二胎,副总女儿在国外念书一年六十万,他们赌不起。 ”
媳妇松了手,慢慢靠在我肩膀上。
我闻到她头发上的油烟味,混着厨房里没倒的垃圾散出来的酸腐气。
窗外有人在楼下停车,倒车雷达嘀嘀嘀响了三声。
第二天上午九点四十,我穿着一件洗得领子发白的衬衫走进公司大楼。
前台小姑娘看见我,眼神躲闪,低头假装接电话。
十七楼会议室的门开着,里面坐着五个人:副总、周胖子、法务小吴,还有两个不认识的中年男人。
桌上摊着一堆文件,烟灰缸里摁着四五个烟头。
周胖子看见我进来,站起来,脸上堆着笑:“陈哥,来了,坐。 ”
我没坐,站在门口。
“昨晚那九十九个电话,什么事? ”
副总清了清嗓子:“陈工,昨天的事是个误会。 年终奖是财务那边算错了,今天已经给你补了,二十万,马上到账。 另外从下个月起,你升技术总监,薪资翻倍。 ”
我低头看了下手机,银行短信刚到:200,000.00元。
我把手机翻过来给他们看:“这钱我不退。 这三年我加班一千多个小时,没要过加班费,这算补的。 ”
周胖子连忙点头:“应该的应该的。 ”
“技术总监我也不当。 ”我说,“我今天来就一件事。 ”
我从兜里掏出那张SD卡,放在会议桌正中间。
“这里面是周总过去三年十七次数据交易的完整日志。 原始数据我没动,备份在三个不同的地方,我媳妇和我妹各拿一份。 如果我今天出不了这个门,或者以后我家里任何人出任何事,这东西会自动发到证监会和公安部的举报邮箱。 ”
周胖子的脸刷地白了。
他张了张嘴,没发出声音。
副总盯着那张SD卡,手指头在桌面上敲了两下。
“你想要什么? ”
“我什么都不要。 ”我把卡往他那边推了推,“这卡给你们。 原始备份我留着,只要以后你们不找我麻烦,这东西永远不会发出去。 ”
“那180亿的项目数据呢? 对手那边已经动手了。 ”副总声音发紧。
“那是你们的事。 ”我转身往门口走,“我年终奖二百五,就干二百五的活。 ”
周胖子冲过来拉住我胳膊:“陈哥,你不能走,你得把对手那边的攻击挡下来,整个系统架构只有你最清楚! ”
我把他的手从我胳膊上一根指头一根指头掰开。
“周总,你卖数据的时候没想过系统会被人打? ”
他手抖得握不住东西,领带歪到一边,额头上全是汗。
我走到电梯口,身后传来会议室里摔杯子的声音,还有周胖子压着嗓子骂人的粗口。
电梯门开的时候,我听见副总在里面喊:“报警! 现在就报! ”
我按了一楼。
中午十二点,我坐在小区门口的面馆里,要了一碗八块钱的素面。
面汤上飘着几片发黄的菜叶子,我低头吃面的时候,手机响了。
是公司行政部的刘姐发来的微信:“小陈,公司出大事了,周总和副总被警察带走了,办公室封了。 ”
我回了一个“嗯”。
她又发一条:“你没事吧? ”
我没再回,把手机扣在桌上,把碗里最后一口汤喝完。
下午两点,我回家。
媳妇在阳台上收衣服,看见我进来,手里的衣架停在半空。
“怎么样了? ”
“周胖子被抓了,副总也是。 ”
她把衣服往沙发上一扔,坐在那儿,手捂着脸。
肩膀一耸一耸的,没出声。
我走过去,坐在她旁边。
阳台外面的晾衣绳上还挂着孩子的小学校服,蓝白相间,被风吹得晃来晃去。
楼下有收废品的老头在喊:“收破烂嘞——旧书旧报纸旧电器——”
“那二十万……”她闷着声音问。
“在卡里,明天去把房贷还一部分。 ”
她放下手,眼睛红肿,鼻尖发亮。
她看了我半天,突然说了一句:“你昨晚不接电话的时候,我以为你不要这个家了。 ”
我伸手把她额前一根白头发拨到耳后。
“我要这个家。 ”我说,“所以我才不接。 ”
那天晚上,我睡得特别沉。
半夜醒了一次,听见媳妇在旁边轻轻打鼾,孩子屋里传来翻身的声音。
我摸黑把手机拿过来,屏幕上干干净净,没有未接来电,没有短信。
窗外的路灯从窗帘缝里漏进来一条光,照在天花板上,像一把刀,又像一条路。
第二天早上,我去菜市场买了半斤猪肉、一把蒜苗。
卖肉的老张多切了一块肥的扔进袋子:“过年了,炼点油。 ”我掏钱的时候,手机响了,是个陌生号码,归属地显示深圳。
我摁掉,把手机揣回兜里。
蒜苗上的泥蹭在口袋边上,灰扑扑的。
老张问:“谁啊? ”
“打错的。 ”
他嘿嘿笑了一声,低头剁排骨。
我拎着菜往家走,路过小区门口那家房产中介,玻璃门上贴着一张A4纸,上面打印着“旺铺转让”四个大字。
隔壁早餐店飘出包子蒸笼的白气,老板娘正弯腰往炉子里添煤,脸上的汗被火烤得发亮。
到家门口,掏钥匙的时候摸到口袋里那张SD卡。
我把它拿出来,在手里攥了两秒,然后塞进楼道垃圾桶旁边的废纸盒里。
那是收废品的刘老头放的,他每天下午三点来收。
我转身上楼,听见屋里媳妇在喊孩子起床:“快点,要迟到了,你爸买菜回来了,吃完饭让你爸送你。 ”
门开了,孩子背着书包冲出来,差点撞我身上。
“爸,今天有体育课,老师说要穿运动鞋。 ”
“鞋在门口,自己穿。 ”
他蹲下去系鞋带的时候,我站在门口,看着他后脑勺上那个旋儿,头发毛茸茸的。
媳妇从厨房探出头:“愣着干嘛,进来吃饭。 ”
我迈过门槛,门在身后关上。
那天阳光很好,照在客厅地板上,连那条用了五年的旧沙发都显得亮堂了些。
茶几上放着媳妇昨晚没织完的毛衣,两根竹针插在线团里,毛线是深灰色的,织了一半。
我坐下来,端起粥碗喝了一口。
小米粥熬得稠,舌尖上有一点点碱味,是媳妇老家的做法。
手机又响了,还是深圳那个号。
我长按关机,屏幕黑下去,映出我自己的脸。
外面收废品的老头开始喊了,声音从楼下飘上来,穿过玻璃窗,混着厨房里媳妇刷锅的水声,和隔壁装修了半个月还没完的电钻声。
日子照旧过,只是有些人,再也打不进来了。
人这一辈子,最怕的不是别人拿你当二百五,是你自己真把自己当二百五。
该掀的桌子别犹豫,该挂的电话别手软,你以为忍一忍能过去的事,到头来都是往你骨头缝里钻的钉子。