註定是一個難熬的夜,我坐在沙發上,徹夜未眠。
窗外的天從黑變灰,從灰變亮。
5點多,樓底下的早點鋪子開了門,我聽見老闆娘在喊:"包子嘞,豆漿!"聲音很遠,傳到我耳中嗡嗡作響,像從另外一個世界飄過來的。
我正準備起身去洗漱,手機在茶几上響了一聲,是郵件提醒。
我拿起一看,發件人是Pierre。郵件標題用英文寫的,我只看懂了最後兩個詞:Technical Report,技術報告。
我倒了一杯水,坐在沙發上點開。郵件很長,英文部分是正經的技術分析,中文部分是Pierre自己加的,語法有點硬,但意思清楚:
"趙壯:我已與集團高層溝通過。崩潰原因不在你的代碼,在架構層的資料庫鎖競爭。並發超過五百時,系統出現死鎖,導致級聯故障。這不是你一個人的問題,是整個系統架構的缺陷。我已附技術報告,請按報告中步驟修復。完成後回復此郵件,我會同步給客戶。另:鹿西讓我轉告你,她很好,不需要你擔心。"
我目光停在最後那行字上,很久沒移開。
她很好。
我把手機扣在胸口,閉上眼。心跳震得手機殼子嗡嗡響。腦子裡亂的像一團麻。鹿西的臉閃了一下,然後變成溫柔的,最後變成小玲的。三個女人像三張牌,在我眼前翻過去又翻過來,我不知道自己押了哪張,也不知道哪張才是最後的贏家。
我嘆了口氣,打開微信,翻到和溫柔的聊天窗口。最後一條消息還是我發的,"在嗎",前面一個紅色的感嘆號。
我對著那個感嘆號看了很久。刪了也好,不刪也罷,都不重要了。今天無論如何我都得闖進去。老劉在又怎麼樣,正面衝突又如何。溫柔從某種意義上來說算是我的女人,我不能讓她一個人在那兒扛著。
我站起來,拿過車鑰匙,往門口走。
手機屏幕恰好閃了一下。陌生號碼,簡訊。
"我還活著,先保護自己,勿回。——W"
W,王溫柔。
我看著那個字母,不敢想她是在怎樣的處境下發的。
我把手機收起來,回到房間去開電腦。Pierre的郵件里有附件,一個PDF,六頁。我打開看了第一頁,全是術語,但意思我懂:我還有救。
但大老闆不會這麼認為。資本家只會看結果:客戶崩了,損失了五十萬歐元。誰負責?這個軟體的開發者是我。
Pierre的郵件抄送了大老闆,意思很明確:問題根源找到了,不是我的代碼問題,是架構問題。但解決方案得我來出。一周內提交修復。
一周,迫在眉睫。說實話,我現在沒有任何思路。
我打開電腦,腦子裡太亂了。溫柔的簡訊,Pierre的郵件,老楊的未接電話,還有豆豆那張沒畫完的臉。
這兩天因為老劉這個項目的問題,我沒有送豆豆去培訓學校,我怕有危險,託兒所也沒去,我媽在家照顧他。
想起孩子,我內心突然軟了一瞬,起身去他的房間。
推開門,豆豆睡的很熟,手裡還攥著昨晚那張畫。
我幫他掖了掖被子。他動了一下,嘴裡嘟囔了一句。我俯下身,聽見他說:"媽媽……"
我沒再動。站了一會兒,輕輕退出來。
回到電腦前,我把Pierre的PDF列印出來,六頁紙,攤在桌上。一頁一頁看。全是技術問題,但每一個都連著我的命。
我看了兩個多小時。Pierre寫得很清楚:問題出在一處查詢上。人一多,這條查詢把整個資料庫卡死了,後面的請求全部排隊,排到一定數量就崩了。
解決辦法他也列了,我拆成三塊:
第一,給那條查詢加個標記。讓資料庫不用每次都翻遍整張表,只翻該翻的幾行。
第二,把代碼里一次提交上萬條數據的大塊頭,拆成每批五百條。小塊頭跑得順,不會卡住別人。
第三,代碼里加一層保護。資料庫卡住了,不等,自動重試,不等客戶那邊超時。
我打開VPN,下載了法國項目的代碼。上次提交是三天前,備註就一行:"fix bug"。我對著那兩個字感到困惑。什麼bug?我不知道。我提交的時候根本不知道有bug。我以為修好了,結果人一多就直接崩了。
晚上,我開始寫第一行代碼。先按Pierre指的位置,找到那條罪魁禍首的查詢。加了標記,本地跑了一遍,三秒的查詢降到了二十毫秒。
寫到11點多,我媽房間傳來咳嗽聲。我站起來,走到她房門口,敲了兩下,等了老半天裡面沒動靜。我推開門,她躺在床上,眼睛閉著,但眼皮在動。
"媽,你睡吧。我沒事。"
她沒睜眼。嘴唇動了動,聲音很輕:"你妹妹……有消息嗎?"
"有。"我思考了一下,"我聯繫小玲了,確定她已經到了西安,她們在一起。"
她嗯了一聲,整個人好像卸下了什麼包袱,翻了個身,背對著我。
我回到房間繼續寫。凌晨四點,標記加完了,大塊頭也拆小了。五點,加上那層保護機制。六點,全部寫完。本地跑了一遍,五百個人同時用,沒卡,也沒崩。
我走到窗邊。天亮了。樓下的早餐店蒸籠冒著白氣,老闆娘在招呼客人。我站在那兒看了幾分鐘,忽然覺得肚子好餓,胃裡空得發慌。
我衝下樓買了兩個包子,一杯豆漿。蹲在馬路牙子上吃完,以前很喜歡吃他們家早餐,現在吃總有一種味同嚼蠟的感覺。
如今的生活於我而言,皆是苦楚。
回到樓上,我把代碼打包,寫郵件。收件人:Pierre。抄送:大老闆。主題:法國項目——架構缺陷修複方案。
正文就三行:
"Pierre先生:感謝指出問題根源。已按技術報告完成修複方案,詳見附件。請轉達目標客戶,本周內完成測試並部署。"
我點了發送。然後靠在椅子上,閉目養神。
"你當初是怎麼來這個公司的,還記得嗎?"
我握著手機,沒回。
又一條進來:"吃水忘了挖井人。"
第三條:"明天來我辦公室,有事跟你說。"
我慢慢把手機放下,心裡五味雜陳,這隻老狐狸,終於按捺不住了。
原本,他想挖坑搞我,讓我背上巨額賠付,賠不起我就得坐牢,自然而然被公司開除,被行業拉黑,但他萬萬沒想到,我會在這麼短的時間內找到漏洞。
當然,我也沒想到Pierre會是法國客戶公司的技術總監。
手機響了一聲。我以為是老楊又發什麼神經,拿起來一看,是大老闆。
"方案收到。客戶已暫緩索賠,給你一周時間。"
我看著那行字,手指在屏幕上摩挲了兩下。一周之後,如果修復不了,四百萬還是得照賠。但至少有了緩衝,也有了反轉的機會。
我突然感到特別口渴,去廚房倒了一杯水。一口氣灌完,嗓子還是乾的。我又倒了一杯。第三杯的時候,我媽從房間出來,站在廚房門口看著我。
"你喝那麼多水幹嘛?"她皺著眉頭,一臉懵。
"渴。"我咧開嘴笑了笑。
她沒再說話,轉身進了衛生間。我端著杯子站在那兒,聽著水聲,忽然覺得很累。不是身體的累,是那種從骨頭縫裡滲出來的疲憊,像是有人把我整個抽空了,只剩一副架子。
提示音又響了一聲。我以為是工作消息,拿起來一看,還是那個微信好友申請。"是我。"
—
壯哥後來跟我說,那段時間他異常焦慮,整晚整晚的睡不著覺。
眼睛一閉,就看見老楊那張偽善的臉,以及老劉遞給他草莓的樣子。
最讓他煎熬的是王溫柔那條簡訊。"還活著。別來。先保護自己。"——她連名字都不敢寫完整,只敢寫一個字母。W,像犯罪現場的記號。
他說,他看那個W看了很久,忽然明白了一件事:溫柔不是被關在房間裡,她是被鎖在一個更大的東西里。那個東西叫婚姻,叫財產,叫一個男人虛偽的自尊心。老劉不是在抓她出軌,他是在用她的出軌,給自己鋪一條離婚的路。而壯哥寫的每一行代碼,都是這條路上的磚。
Pierre的郵件,給了他七天。七天不是救命,是緩刑。緩刑的意思是,刀還懸在頭上,只是暫時沒落下來。
壯哥說,他那天凌晨站在窗邊,看著樓下早餐店的蒸籠冒白氣,忽然想起鹿西。倒不是想念她這個人,是想她說過的一句話。"含羞草遇到了真愛,葉子就會張開。"他當時沒懂,現在懂了。含羞草不是遇到真愛才張開,是遇到威脅才閉合。張開是常態,閉合是自我保護。
他說,他現在就是那株含羞草。危機四伏,葉子全閉上了。
他始終沒接受鹿西的好友申請。他說,有些人,幫你一次就夠了。再糾纏,就是恩將仇報。鹿西幫他是情分,他不能再欠她。欠多了,還不起。
至於老楊那句"吃水忘了挖井人",壯哥告訴我,他坐在沙發上想了很久。挖井人。誰挖的井?老楊把他招進公司,確實算挖井。但這口井是給他喝的,還是給他跳的?他到現在還沒想清楚。但他知道,明天去老楊辦公室,不會是什麼好事。
哦對了,Pierre的單位跟法國客戶是關聯企業,兩家公司同屬一個集團,業務上經常交叉。鹿西嫁給Pierre之後,有次閒聊提起自己以前在中國的工作經歷,說前男友是程式設計師,在一個做教育軟體的公司。Pierre當時沒當回事。後來法國客戶採購了這套系統,Pierre作為集團技術顧問參與評審。
世界很小,小到你寫的代碼,會在另一個大洲被愛過的女人認出,然後由她的老公來救你。
壯哥說,他到現在都沒想明白這是報應還是恩賜。可能兩者都是。