機房空調吹出來的風又干又冷,我站在一堆閃爍的服務器中間,手指夾著煙。
身后,張勇的臉白得像紙,程淑麗的嘴唇在發抖,劉強癱坐在地上。
十分鐘前,他們笑著遞給我一百塊,說這份活兒就值這個價。
現在,監控屏幕上跳動著鮮紅的倒計時——2分15秒。
我把煙送到嘴邊,慢慢吸了一口,吐出一個煙圈。
張勇的聲音從我背后傳來,帶著哭腔:“宋工,我錯了,二十萬,不,三十萬,求你……”我沒回頭,只是看著屏幕上那一行我親手寫下的代碼,輕聲說:“來不及了?!?/p>
![]()
01
凌晨兩點十七分,我被手機震醒了。
屏幕上顯示“劉強”兩個字。我盯著天花板愣了三秒,還是接了。
“宋工,救急!系統又崩了!”劉強的聲音在電話里又急又尖,像是被踩了尾巴的貓,“所有業務全停,客戶排隊罵街,你快來!”
我看了眼手機,還有三個未接來電,全是他的。
輝煌科技的系統問題我知道。兩個月前他們找人修過,沒修好。后來換了一家,還是不行。圈里人都說這系統邪門,誰碰誰倒霉。
“我過去看看。”我說這話的時候,自己都覺得莫名其妙。
“十萬!”劉強在電話那頭喊,“只要你能修好,公司給十萬!”
我愣了愣,腦海里閃過我媽躺在病床上的樣子。護士前天又催繳費了,說我媽的腎移植手術得盡快安排,拖不起。十萬塊,剛好夠前期的手術押金。
“我半個小時后到?!?/p>
掛了電話,我胡亂套了件外套就往外跑。
這個點的地鐵早就停了,我攔了輛出租,一路往輝煌科技的方向趕。
司機是個話多的中年人,一邊開車一邊問我這么晚去干什么。
我沒搭話,靠在后座上盯著窗外發呆。
到的時候,輝煌科技的辦公樓燈火通明。
一樓大廳擠滿了人,有穿著睡衣趕來的客戶經理,有抱著筆記本罵罵咧咧的運營人員,還有幾個穿著工裝的保安站在門口抽煙。
劉強在門口等我,看見我從出租車上下來,趕緊迎上來:“宋工!你可算來了!”
他四十出頭,穿著一件不知道什么牌子的深藍色POLO衫,頭發亂糟糟的,額頭上全是汗。
我認識他,之前在一個行業交流會上見過。
他在圈里風評不太好,都說他技術一般,就是會來事。
“什么情況?”我問。
“核心系統突然死機,數據庫崩了,所有讀寫操作全部中斷。”他一邊帶我往里走一邊說,“我們已經熬了一個晚上了,實在沒辦法。”
我跟著他進了機房。
機房在二樓東頭,門口掛著“閑人免進”的牌子。
推開門,一股機器的熱浪撲面而來。
里面站著三個年輕人,臉色都不好看。
看見我進來,其中一個說:“劉哥,硬盤讀寫錯誤,數據丟失嚴重。”
我沒說話,走到控制臺前坐下。鍵盤上還沾著咖啡漬,顯示器上密密麻麻的報錯信息。
我花了四十五分鐘才搞清楚問題所在。
這套系統的架構太老了,加上后期頻繁修改,代碼像是用膠帶粘起來一樣,一碰就散。
更麻煩的是,里面還有一個隱蔽的計時器漏洞,每到整點就會觸發內存泄漏。
“能修嗎?”劉強站在我身后問,聲音里帶著緊張。
“能。”我說,“但是時間要長一點。”
“多久?”
“兩個月?!?/p>
劉強猶豫了一下,最后還是點了頭:“行,兩個月就兩個月。十萬塊,一分不少。”
我看著他的眼睛,想起圈里那些關于他的傳言,但最終還是點了點頭。我太需要那筆錢了。
02
第二天一早我就去輝煌科技報到。
劉強給我安排了一間靠窗的小辦公室,里面只有一張桌子和一臺顯示器。
他說這是最好的位置,陽光好,通風棒。
我沒說什么,只是把帶來的設備一一接上。
工作很枯燥。
每天就是看代碼,改代碼,測試,然后再來一遍。
這套系統的代碼量很大,足足有幾十萬行。
里面不少地方寫得亂七八糟,注釋也不全,全靠猜。
何詩涵是第一個跟我搭話的人。
那天中午,我正在盯著屏幕發呆,有人輕輕敲了敲門。我轉頭一看,一個個子不高、留著齊肩短發的姑娘站在門口,手里端著一個餐盒。
“宋工,還沒吃飯吧?”她笑了笑,“食堂的油潑面,挺好吃的?!?/p>
“謝謝。”我接過來,確實餓了。
“我叫何詩涵,行政部的?!彼吭陂T框上,沒打算馬上走,“聽說你在修咱們的系統?”
“嗯。”
“挺辛苦的?!彼f,“劉主管之前請了好幾個團隊,都沒修好。要是你修好了,那可真是大功一件?!?/p>
我笑了笑,沒接話。我覺得她這話里有話。
“對了,”她壓低聲音,“你簽合同了嗎?”
“什么合同?”
“就是你們技術外包的合同?!彼戳丝醋呃?,確認沒人,“我聽說,上次有個做系統的師傅,活干完了,錢沒結清。拖了大半年。”
我拿著筷子的手頓了一下。
“我就是提醒你。”她說完就走了,腳步聲在走廊里越來越遠。
其實我也想過這個問題。
劉強給我的只是口頭承諾,連個收條都沒打。
但我當時想的是,先把活干完再說。
畢竟十萬塊不是小數目,他總不至于賴賬。
不過我留了個心眼。
在修復系統的時候,我刻意保留了一段驗證代碼。
這是行規,大項目交接的時候,施工方都會留一手。
等客戶付清尾款,再把完整版交出去。
這叫技術交付保護。
我把這事給劉強提過一回。他當時正在跟人打電話,頭都沒抬:“好好好,你看著辦?!?/p>
試運行那幾天,系統果然穩定了很多。劉強來看了幾次,臉上露出了久違的笑容。他還專門請我吃了頓飯,點了好幾個硬菜,還開了瓶酒。
“宋工啊,你這技術,我是真的服?!彼酥槐疲樕霞t撲撲的,“你放心,錢的事包在我身上?!?/p>
我也喝了點酒,但沒醉。我一直記得何詩涵的話,所以那天晚上回家后,我把所有代碼都備份了一份。不是怕出問題,是怕出問題的時候沒人認賬。
后門的事我誰都沒告訴,包括劉強。
那段時間,何詩涵隔三差五來給我送飯。有時是食堂的套餐,有時是樓下便利店買的飯團。她總是不經意地打聽一些公司的事情,我懶得深究。
有一次,我加班到凌晨,她也還沒走。我在走廊盡頭的飲水機旁碰到了她。
“你怎么還沒回去?”我問。
“今天月末,要整理賬目?!彼酥Х龋劬τ行┌l紅,“你呢?”
“還有點代碼沒寫完?!?/p>
她猶豫了一下,說:“宋工,我覺得你還是多留個心眼?!?/p>
我知道她什么意思。但那時候我已經陷進去了,滿腦子只想著把活干完,早點拿到錢。
![]()
03
系統修復的進度比預期的快。
我在第四周的時候就已經把核心漏洞全部修補完畢。
但接下來的調試花了整整三周,因為我發現了一個更大的問題——這套系統的底層架構設計有致命缺陷,光是修復表面漏洞根本撐不了太久。
我找了劉強一次。
“劉主管,這系統有個問題,我得跟你說一下。”那天是個周三,下午三四點鐘,我在他辦公室門口堵到他。
“什么問題?”他正端著保溫杯喝茶,看樣子心情不錯。
“系統架構太老了,現在勉強撐得住,但最多半年就得大修。如果不做底層重構,還會崩。”
他放下杯子,臉上的笑容消失了:“那你現在修的這些算什么?”
“算是打補丁?!蔽艺f,“能撐一段時間,但不是長久之計。”
他想了很久,最后說:“這事我知道了,你先把眼前的工作收尾,后面的事后面再說。”
他這么說,我也沒有辦法。但我在心里記了一筆,提醒自己必須留好后門。
又過了一周,系統正式進入試運營。所有業務恢復正常,那些在這個系統里打轉的數據流暢得像水一樣。
劉強很高興,當著我的面給張勇打了個電話:“張總,系統修好了,那十萬塊錢……”
“知道了。”張勇在電話那頭說了兩個字就掛了。
劉強掛了電話,沖我笑了笑:“張總說了,錢的事沒問題。”
我當時應該問一句“那什么時候轉”,但話到嘴邊又咽了回去。我那會兒心里想的,全是我媽的病情。
我媽姓徐,叫徐巧云,今年五十三了。
從小她就一個人拉扯我長大,我爸走得早,她沒改嫁,硬生生把我供到了大學畢業。
我工作后第一年,她查出腎衰竭,一直靠透析維持。
醫生說最好的辦法是換腎,但費用太高。
上個月,醫院通知我說有腎源了,但前期費用得十萬。我手上只有兩萬多,差一大截。
所以我接輝煌科技這個活,有一部分原因就是為了這筆錢。
九月中旬,系統正式驗收。劉強帶著幾個技術人員過了好幾遍流程,確認所有模塊都運行正常。他把驗收報告簽字蓋章,拍了張照片發給我。
“宋工,活干得漂亮!”他在微信里說。
我也松了口氣,打開了銀行APP準備等轉賬。
那天晚上,何詩涵給我發了條微信:“系統驗收了?”
“嗯,交工了?!?/p>
“錢拿到了?”
“還沒,但應該快了。”
她回復了一個“嗯”字,沒再說話。
04
驗收后的第三天,劉強讓我去張勇辦公室結賬。
張勇的辦公室在五樓,裝修得很氣派,進門就是一排獎杯和證書。他坐在大班椅上,面前放著一杯茶,表情淡淡的。
“小宋啊,來,坐?!彼噶酥笇γ娴囊巫?。
我坐下來,心里有點緊張。
“系統修復的事,劉強跟我說了。”他笑著點點頭,“干得不錯,辛苦了。”
“應該的。”我說,“張總,那十萬塊……”
“哦,這個事。”他拿起手機,慢悠悠地打了個電話,“叫程淑麗過來一下。”
程淑麗是財務總監,四十多歲,瘦高個子,戴著一副無框眼鏡。她進來的時候手里拿著一個信封,面無表情。
張勇指了指我:“錢帶了嗎?”
程淑麗把信封放在桌上:“帶了?!?/p>
張勇把信封推到我面前:“小宋,你打開看看。”
我心里一沉,但還是伸手打開了信封。里面是一張紅票子,一百塊錢。
我愣在那里。
“公司最近財務緊張?!睆堄露似鸩璞攘艘豢?,“十萬塊確實拿不出來。這是程總監給你爭取來的,算是你的辛苦費?!?/p>
“張總,這不對?!蔽艺f,“我們談好的是十萬?!?/p>
“談好?”張勇笑了笑,“誰跟你談好的?這話可不能亂說。”
“劉主管跟我說的。”
“劉強?他有什么資格談十萬的事?”張勇語氣不重,但每個字都像刀一樣,“他只是技術主管,沒那個權力?!?/p>
我的腦袋嗡的一下炸了。
“宋工,我們也是沒辦法?!背淌琨愒谂赃叢逶?,語氣不冷不熱,“財務上確實沒錢。你要是嫌少,這錢我們可以收回來。”
我攥著那張一百塊的紙幣,拇指摩挲著紙幣上的紋路,半天說不出話。
就在這時,劉強推門進來了。他看了一眼我手里的錢,臉上閃過一絲尷尬。
“劉強,你跟小宋說的十萬是這么回事?”張勇問他。
劉強低下頭,聲音小得像蚊子:“我……我當時也是想著把事情快點搞定,就隨口說了?!?/p>
“隨口說了十萬?”張勇聲音一沉,“你當公司的錢是大風刮來的?”
劉強不吭聲了。
我心里一下子就明白了。這不是劉強一個人的問題,是張勇讓他這么干。劉強就是個馬前卒,張勇早就想好了怎么賴賬。
“宋工,你還是收下吧。”程淑麗推了推眼鏡,“一百塊也不少了,夠吃幾頓飯了。”
我看著她,又看看張勇,再看看劉強。三個人的表情像是排練好的一樣,冷漠中帶著一絲得意。
我沒說話,把那一百塊裝進口袋。然后從包里掏出一包煙,抽出一根點上。
“喲,還抽上了?”程淑麗冷哼一聲,“嫌錢少,煙可不便宜?!?/p>
我沒理會她,慢慢吐了個煙圈。火光里,我看到了他們臉上的表情——張勇是不屑,程淑麗是得意,劉強是心虛。
“行。”我說,“沒事我先走了?!?/p>
“好好好,慢走?!睆堄聰[了擺手,像是打發叫花子。
我轉身走出辦公室,腳步很慢。走廊里空蕩蕩的,只有頭頂的燈管嗡嗡響。
我剛走到樓梯口,手機震了。我低頭一看,是醫院發來的繳費提醒:“徐巧云同志,您的住院預繳金余額不足,請盡快補繳,以免影響后續治療?!?/p>
我盯著屏幕看了好一會兒,手指一直沒能戳進去。
就在這時,電梯門開了。何詩涵從里面走出來,看見我愣了一下:“宋工,你……”
“沒事?!蔽覕[了擺手,心里堵得慌,但臉上還是擠出一個笑來。
“你的臉怎么這么難看?”她皺眉。
我沒回答,只是把手伸進口袋,摸了摸那張紅票子。
“你還是早點離開這個公司吧。”何詩涵看著我的表情,壓低了聲音,“這個地方,吃人的。”
她說完就走了,高跟鞋的聲音在走廊里越來越遠。
我站在樓梯間,抽完了那根煙。
就在這時,我的手機突然又震了一下。
我以為是醫院發來的消息,劃開一看,是機房那邊的監控系統郵件——“系統異常告警:未收到定期維護信號,觸發安全鎖定模塊,鎖定倒計時即將啟動。”
我盯著屏幕,笑了。笑得眼淚都快出來了。
看來,他們根本沒把我的提醒當回事。系統里的那一道驗證后門,因為沒有任何維護指令傳入,已經自動激活了保護機制。
我點開機房那邊的實時監控,看到屏幕上跳動的紅色字符——“警告:系統將在10分鐘后進入安全鎖定狀態?!?/p>
我轉身看了一眼五樓張勇辦公室的方向,深吸了一口氣。
既然你們不給我活路,那就別怪我翻臉。
![]()
05
我走回機房的時候,里面已經圍了好幾個人。
“怎么回事?!”劉強的聲音從人群里傳出來,“剛才不是還好好的嗎?”
一個年輕的技術員指著屏幕,聲音發抖:“劉主管,系統……系統報警了,顯示底層架構觸發安全鎖定。所有業務都會在三分鐘之內停止?!?/p>
“三分鐘?!”劉強臉都綠了,“怎么會這樣?誰動了什么?!”
“沒人動?!奔夹g員急得滿頭大汗,“是系統自檢模塊自動觸發的。公告顯示是因為維護周期未驗證,導致安全鎖啟動?!?/p>
“維護周期?”劉強愣了愣,但馬上就想起了什么,轉頭到處找我沒找到。
我站在機房門口,點了一根煙。
“宋工!”劉強看見我,像看見救星一樣沖過來,“你快看看,系統出問題了!”
我靠在墻上,不緊不慢地吸了一口煙,眼睛看著他,但沒說話。
“你怎么還有心思抽煙?”劉強急了,“系統要崩了!”
“我知道。”我說。
“你知道?!”他愣住了,“那你還……”
“我看過了?!蔽掖驍嗨?,“觸發的是一段我寫的驗證代碼。之前我跟你說過,系統的底層架構需要定期維護,你忘了?”
劉強的臉一下子白了。
“我那時候跟你提過,你說后面再說?!蔽依^續抽煙,“后來系統交工了,我聯系你安排維護的事,你一直推說忙?!?/p>
他張了張嘴,一個字都沒說出來。
“到底是什么情況?!”張勇的聲音從走廊那頭傳過來。他大步走過來,后面跟著程淑麗。一群人像蒼蠅一樣圍在門口。
“張總,”劉強的聲音小得快聽不見,“系統……系統底層觸發了安全鎖,可能是需要定期維護的參數沒更新……”
“維護?”張勇看向我,“小宋,這系統是你修的,現在這情況是怎么回事?”
“我來跟你解釋?!蔽覐椓藦棢熁?,語氣很平靜,“這套系統的底層架構有個設定,交工之后需要每季度進行兩次定期維護,否則系統會自動進入安全鎖定狀態。這個事我跟劉主管說過,他在驗收表上簽了字?!?/p>
“我沒簽什么驗收表!”劉強急了。
“你當然沒簽。”我說,“你口頭沒拒絕,也沒答應。我當時以為你聽進去了?,F在證明,你沒當回事。”
張勇的臉沉了下來:“那現在怎么辦?能解開嗎?”
“能?!蔽艺f,“但要我手動操作。這段代碼只有我能解。”
“那你趕緊??!”張勇指著我,“別浪費時間!”
我沒動。
“宋工?”張勇的聲音變了,