机房空调吹出来的风又干又冷,我站在一堆闪烁的服务器中间,手指夹着烟。
身后,张勇的脸白得像纸,程淑丽的嘴唇在发抖,刘强瘫坐在地上。
十分钟前,他们笑着递给我一百块,说这份活儿就值这个价。
现在,监控屏幕上跳动着鲜红的倒计时——2分15秒。
我把烟送到嘴边,慢慢吸了一口,吐出一个烟圈。
张勇的声音从我背后传来,带着哭腔:“宋工,我错了,二十万,不,三十万,求你……”我没回头,只是看着屏幕上那一行我亲手写下的代码,轻声说:“来不及了。”
01
凌晨两点十七分,我被手机震醒了。
屏幕上显示“刘强”两个字。我盯着天花板愣了三秒,还是接了。
“宋工,救急!系统又崩了!”刘强的声音在电话里又急又尖,像是被踩了尾巴的猫,“所有业务全停,客户排队骂街,你快来!”
我看了眼手机,还有三个未接来电,全是他的。
辉煌科技的系统问题我知道。两个月前他们找人修过,没修好。后来换了一家,还是不行。圈里人都说这系统邪门,谁碰谁倒霉。
“我过去看看。”我说这话的时候,自己都觉得莫名其妙。
“十万!”刘强在电话那头喊,“只要你能修好,公司给十万!”
我愣了愣,脑海里闪过我妈躺在病床上的样子。护士前天又催缴费了,说我妈的肾移植手术得尽快安排,拖不起。十万块,刚好够前期的手术押金。
“我半个小时后到。”
挂了电话,我胡乱套了件外套就往外跑。
这个点的地铁早就停了,我拦了辆出租,一路往辉煌科技的方向赶。
司机是个话多的中年人,一边开车一边问我这么晚去干什么。
我没搭话,靠在后座上盯着窗外发呆。
到的时候,辉煌科技的办公楼灯火通明。
一楼大厅挤满了人,有穿着睡衣赶来的客户经理,有抱着笔记本骂骂咧咧的运营人员,还有几个穿着工装的保安站在门口抽烟。
刘强在门口等我,看见我从出租车上下来,赶紧迎上来:“宋工!你可算来了!”
他四十出头,穿着一件不知道什么牌子的深蓝色POLO衫,头发乱糟糟的,额头上全是汗。
我认识他,之前在一个行业交流会上见过。
他在圈里风评不太好,都说他技术一般,就是会来事。
“什么情况?”我问。
“核心系统突然死机,数据库崩了,所有读写操作全部中断。”他一边带我往里走一边说,“我们已经熬了一个晚上了,实在没办法。”
我跟着他进了机房。
机房在二楼东头,门口挂着“闲人免进”的牌子。
推开门,一股机器的热浪扑面而来。
里面站着三个年轻人,脸色都不好看。
看见我进来,其中一个说:“刘哥,硬盘读写错误,数据丢失严重。”
我没说话,走到控制台前坐下。键盘上还沾着咖啡渍,显示器上密密麻麻的报错信息。
我花了四十五分钟才搞清楚问题所在。
这套系统的架构太老了,加上后期频繁修改,代码像是用胶带粘起来一样,一碰就散。
更麻烦的是,里面还有一个隐蔽的计时器漏洞,每到整点就会触发内存泄漏。
“能修吗?”刘强站在我身后问,声音里带着紧张。
“能。”我说,“但是时间要长一点。”
“多久?”
“两个月。”
刘强犹豫了一下,最后还是点了头:“行,两个月就两个月。十万块,一分不少。”
我看着他的眼睛,想起圈里那些关于他的传言,但最终还是点了点头。我太需要那笔钱了。
02
第二天一早我就去辉煌科技报到。
刘强给我安排了一间靠窗的小办公室,里面只有一张桌子和一台显示器。
他说这是最好的位置,阳光好,通风棒。
我没说什么,只是把带来的设备一一接上。
工作很枯燥。
每天就是看代码,改代码,测试,然后再来一遍。
这套系统的代码量很大,足足有几十万行。
里面不少地方写得乱七八糟,注释也不全,全靠猜。
何诗涵是第一个跟我搭话的人。
那天中午,我正在盯着屏幕发呆,有人轻轻敲了敲门。我转头一看,一个个子不高、留着齐肩短发的姑娘站在门口,手里端着一个餐盒。
“宋工,还没吃饭吧?”她笑了笑,“食堂的油泼面,挺好吃的。”
“谢谢。”我接过来,确实饿了。
“我叫何诗涵,行政部的。”她靠在门框上,没打算马上走,“听说你在修咱们的系统?”
“嗯。”
“挺辛苦的。”她说,“刘主管之前请了好几个团队,都没修好。要是你修好了,那可真是大功一件。”
我笑了笑,没接话。我觉得她这话里有话。
“对了,”她压低声音,“你签合同了吗?”
“什么合同?”
“就是你们技术外包的合同。”她看了看走廊,确认没人,“我听说,上次有个做系统的师傅,活干完了,钱没结清。拖了大半年。”
我拿着筷子的手顿了一下。
“我就是提醒你。”她说完就走了,脚步声在走廊里越来越远。
其实我也想过这个问题。
刘强给我的只是口头承诺,连个收条都没打。
但我当时想的是,先把活干完再说。
毕竟十万块不是小数目,他总不至于赖账。
不过我留了个心眼。
在修复系统的时候,我刻意保留了一段验证代码。
这是行规,大项目交接的时候,施工方都会留一手。
等客户付清尾款,再把完整版交出去。
这叫技术交付保护。
我把这事给刘强提过一回。他当时正在跟人打电话,头都没抬:“好好好,你看着办。”
试运行那几天,系统果然稳定了很多。刘强来看了几次,脸上露出了久违的笑容。他还专门请我吃了顿饭,点了好几个硬菜,还开了瓶酒。
“宋工啊,你这技术,我是真的服。”他端着一杯酒,脸上红扑扑的,“你放心,钱的事包在我身上。”
我也喝了点酒,但没醉。我一直记得何诗涵的话,所以那天晚上回家后,我把所有代码都备份了一份。不是怕出问题,是怕出问题的时候没人认账。
后门的事我谁都没告诉,包括刘强。
那段时间,何诗涵隔三差五来给我送饭。有时是食堂的套餐,有时是楼下便利店买的饭团。她总是不经意地打听一些公司的事情,我懒得深究。
有一次,我加班到凌晨,她也还没走。我在走廊尽头的饮水机旁碰到了她。
“你怎么还没回去?”我问。
“今天月末,要整理账目。”她端着杯咖啡,眼睛有些发红,“你呢?”
“还有点代码没写完。”
她犹豫了一下,说:“宋工,我觉得你还是多留个心眼。”
我知道她什么意思。但那时候我已经陷进去了,满脑子只想着把活干完,早点拿到钱。
03
系统修复的进度比预期的快。
我在第四周的时候就已经把核心漏洞全部修补完毕。
但接下来的调试花了整整三周,因为我发现了一个更大的问题——这套系统的底层架构设计有致命缺陷,光是修复表面漏洞根本撑不了太久。
我找了刘强一次。
“刘主管,这系统有个问题,我得跟你说一下。”那天是个周三,下午三四点钟,我在他办公室门口堵到他。
“什么问题?”他正端着保温杯喝茶,看样子心情不错。
“系统架构太老了,现在勉强撑得住,但最多半年就得大修。如果不做底层重构,还会崩。”
他放下杯子,脸上的笑容消失了:“那你现在修的这些算什么?”
“算是打补丁。”我说,“能撑一段时间,但不是长久之计。”
他想了很久,最后说:“这事我知道了,你先把眼前的工作收尾,后面的事后面再说。”
他这么说,我也没有办法。但我在心里记了一笔,提醒自己必须留好后门。
又过了一周,系统正式进入试运营。所有业务恢复正常,那些在这个系统里打转的数据流畅得像水一样。
刘强很高兴,当着我的面给张勇打了个电话:“张总,系统修好了,那十万块钱……”
“知道了。”张勇在电话那头说了两个字就挂了。
刘强挂了电话,冲我笑了笑:“张总说了,钱的事没问题。”
我当时应该问一句“那什么时候转”,但话到嘴边又咽了回去。我那会儿心里想的,全是我妈的病情。
我妈姓徐,叫徐巧云,今年五十三了。
从小她就一个人拉扯我长大,我爸走得早,她没改嫁,硬生生把我供到了大学毕业。
我工作后第一年,她查出肾衰竭,一直靠透析维持。
医生说最好的办法是换肾,但费用太高。
上个月,医院通知我说有肾源了,但前期费用得十万。我手上只有两万多,差一大截。
所以我接辉煌科技这个活,有一部分原因就是为了这笔钱。
九月中旬,系统正式验收。刘强带着几个技术人员过了好几遍流程,确认所有模块都运行正常。他把验收报告签字盖章,拍了张照片发给我。
“宋工,活干得漂亮!”他在微信里说。
我也松了口气,打开了银行APP准备等转账。
那天晚上,何诗涵给我发了条微信:“系统验收了?”
“嗯,交工了。”
“钱拿到了?”
“还没,但应该快了。”
她回复了一个“嗯”字,没再说话。
04
验收后的第三天,刘强让我去张勇办公室结账。
张勇的办公室在五楼,装修得很气派,进门就是一排奖杯和证书。他坐在大班椅上,面前放着一杯茶,表情淡淡的。
“小宋啊,来,坐。”他指了指对面的椅子。
我坐下来,心里有点紧张。
“系统修复的事,刘强跟我说了。”他笑着点点头,“干得不错,辛苦了。”
“应该的。”我说,“张总,那十万块……”
“哦,这个事。”他拿起手机,慢悠悠地打了个电话,“叫程淑丽过来一下。”
程淑丽是财务总监,四十多岁,瘦高个子,戴着一副无框眼镜。她进来的时候手里拿着一个信封,面无表情。
张勇指了指我:“钱带了吗?”
程淑丽把信封放在桌上:“带了。”
张勇把信封推到我面前:“小宋,你打开看看。”
我心里一沉,但还是伸手打开了信封。里面是一张红票子,一百块钱。
我愣在那里。
“公司最近财务紧张。”张勇端起茶杯喝了一口,“十万块确实拿不出来。这是程总监给你争取来的,算是你的辛苦费。”
“张总,这不对。”我说,“我们谈好的是十万。”
“谈好?”张勇笑了笑,“谁跟你谈好的?这话可不能乱说。”
“刘主管跟我说的。”
“刘强?他有什么资格谈十万的事?”张勇语气不重,但每个字都像刀一样,“他只是技术主管,没那个权力。”
我的脑袋嗡的一下炸了。
“宋工,我们也是没办法。”程淑丽在旁边插话,语气不冷不热,“财务上确实没钱。你要是嫌少,这钱我们可以收回来。”
我攥着那张一百块的纸币,拇指摩挲着纸币上的纹路,半天说不出话。
就在这时,刘强推门进来了。他看了一眼我手里的钱,脸上闪过一丝尴尬。
“刘强,你跟小宋说的十万是这么回事?”张勇问他。
刘强低下头,声音小得像蚊子:“我……我当时也是想着把事情快点搞定,就随口说了。”
“随口说了十万?”张勇声音一沉,“你当公司的钱是大风刮来的?”
刘强不吭声了。
我心里一下子就明白了。这不是刘强一个人的问题,是张勇让他这么干。刘强就是个马前卒,张勇早就想好了怎么赖账。
“宋工,你还是收下吧。”程淑丽推了推眼镜,“一百块也不少了,够吃几顿饭了。”
我看着她,又看看张勇,再看看刘强。三个人的表情像是排练好的一样,冷漠中带着一丝得意。
我没说话,把那一百块装进口袋。然后从包里掏出一包烟,抽出一根点上。
“哟,还抽上了?”程淑丽冷哼一声,“嫌钱少,烟可不便宜。”
我没理会她,慢慢吐了个烟圈。火光里,我看到了他们脸上的表情——张勇是不屑,程淑丽是得意,刘强是心虚。
“行。”我说,“没事我先走了。”
“好好好,慢走。”张勇摆了摆手,像是打发叫花子。
我转身走出办公室,脚步很慢。走廊里空荡荡的,只有头顶的灯管嗡嗡响。
我刚走到楼梯口,手机震了。我低头一看,是医院发来的缴费提醒:“徐巧云同志,您的住院预缴金余额不足,请尽快补缴,以免影响后续治疗。”
我盯着屏幕看了好一会儿,手指一直没能戳进去。
就在这时,电梯门开了。何诗涵从里面走出来,看见我愣了一下:“宋工,你……”
“没事。”我摆了摆手,心里堵得慌,但脸上还是挤出一个笑来。
“你的脸怎么这么难看?”她皱眉。
我没回答,只是把手伸进口袋,摸了摸那张红票子。
“你还是早点离开这个公司吧。”何诗涵看着我的表情,压低了声音,“这个地方,吃人的。”
她说完就走了,高跟鞋的声音在走廊里越来越远。
我站在楼梯间,抽完了那根烟。
就在这时,我的手机突然又震了一下。
我以为是医院发来的消息,划开一看,是机房那边的监控系统邮件——“系统异常告警:未收到定期维护信号,触发安全锁定模块,锁定倒计时即将启动。”
我盯着屏幕,笑了。笑得眼泪都快出来了。
看来,他们根本没把我的提醒当回事。系统里的那一道验证后门,因为没有任何维护指令传入,已经自动激活了保护机制。
我点开机房那边的实时监控,看到屏幕上跳动的红色字符——“警告:系统将在10分钟后进入安全锁定状态。”
我转身看了一眼五楼张勇办公室的方向,深吸了一口气。
既然你们不给我活路,那就别怪我翻脸。
05
我走回机房的时候,里面已经围了好几个人。
“怎么回事?!”刘强的声音从人群里传出来,“刚才不是还好好的吗?”
一个年轻的技术员指着屏幕,声音发抖:“刘主管,系统……系统报警了,显示底层架构触发安全锁定。所有业务都会在三分钟之内停止。”
“三分钟?!”刘强脸都绿了,“怎么会这样?谁动了什么?!”
“没人动。”技术员急得满头大汗,“是系统自检模块自动触发的。公告显示是因为维护周期未验证,导致安全锁启动。”
“维护周期?”刘强愣了愣,但马上就想起了什么,转头到处找我没找到。
我站在机房门口,点了一根烟。
“宋工!”刘强看见我,像看见救星一样冲过来,“你快看看,系统出问题了!”
我靠在墙上,不紧不慢地吸了一口烟,眼睛看着他,但没说话。
“你怎么还有心思抽烟?”刘强急了,“系统要崩了!”
“我知道。”我说。
“你知道?!”他愣住了,“那你还……”
“我看过了。”我打断他,“触发的是一段我写的验证代码。之前我跟你说过,系统的底层架构需要定期维护,你忘了?”
刘强的脸一下子白了。
“我那时候跟你提过,你说后面再说。”我继续抽烟,“后来系统交工了,我联系你安排维护的事,你一直推说忙。”
他张了张嘴,一个字都没说出来。
“到底是什么情况?!”张勇的声音从走廊那头传过来。他大步走过来,后面跟着程淑丽。一群人像苍蝇一样围在门口。
“张总,”刘强的声音小得快听不见,“系统……系统底层触发了安全锁,可能是需要定期维护的参数没更新……”
“维护?”张勇看向我,“小宋,这系统是你修的,现在这情况是怎么回事?”
“我来跟你解释。”我弹了弹烟灰,语气很平静,“这套系统的底层架构有个设定,交工之后需要每季度进行两次定期维护,否则系统会自动进入安全锁定状态。这个事我跟刘主管说过,他在验收表上签了字。”
“我没签什么验收表!”刘强急了。
“你当然没签。”我说,“你口头没拒绝,也没答应。我当时以为你听进去了。现在证明,你没当回事。”
张勇的脸沉了下来:“那现在怎么办?能解开吗?”
“能。”我说,“但要我手动操作。这段代码只有我能解。”
“那你赶紧啊!”张勇指着我,“别浪费时间!”
我没动。
“宋工?”张勇的声音变了,
热门跟贴