林帆回到自己的座位,喝了一口已經涼透的咖啡。他看了一眼電腦右下角的時間:20:17。
01
“漩渦數據”的三十三層燈火通明。
“Alpha客戶的季度數據模型報告,今晚十點是最后期限。” 部門主管王總的聲音從會議室傳來,隔著玻璃都透著一股寒氣,“這個模型關系到我們下半年的合作評估。張浩,你是項目執行A崗;林帆,你是數據支持B崗。你們兩個,誰都不能出岔子。”
辦公區,張浩煩躁地抓著頭發,盯著屏幕上密密麻麻的代碼。“見鬼,這個數據包又沖突了。林帆,你給我的原始數據表是不是漏了什么?為什么我一加載就溢出?”
林帆(我)正靠在椅背上,閉目養神。聽到召喚,他才緩緩睜開眼,走到張浩的工位旁。
“我給你的表,是按照‘風控S3標準’清理過的,絕對干凈。”林帆的聲音不高,但很清晰,“你看看你的加載腳本,是不是調用了上個季度的舊接口?”
張浩愣了一下,飛快地檢查代碼,臉色瞬間漲紅:“……還真是。我忘了改這個參數。”
他嘟囔著:“你早點提醒我啊。”
林帆沒接話,只是說:“你還有兩個小時。A崗負責最終提交,今晚的報告,王總只看你上傳的那個版本。”
“知道了知道了,催什么。”張浩不耐煩地擺擺手,重新埋頭苦干。
![]()
然后,他打開了一個加密的工作日志,敲下了一行字:
“Alpha項目,20:17,提醒張浩加載接口錯誤。他似乎很依賴我的糾錯。”
寫完,他便鎖定了屏幕。
晚上九點五十分,張浩長舒一口氣,猛地點擊了“提交”按鈕。
“搞定!林帆,走了,宵夜去!”張浩喊道。
“你先走吧,我再檢查下備份。”林帆頭也沒抬。
“隨你。”張浩拿起外套,哼著小曲走進了電梯。
02
第二天上午九點整,王總的內線電話打到了林帆的桌上,聲音是冰冷的。
“林帆,張浩,立刻到我辦公室來。立刻!”
張浩顯然是剛到公司,領帶都還是歪的,一臉沒睡醒的樣子。兩人一前一后走進辦公室,王總幾乎是把一份紙質報告摔在了桌上。
“解釋一下!”王總指著報告上一個刺眼的數據圖表,“為什么Alpha客戶的‘核心用戶流失率預測’會是負數?百分之負七!你們是在預測他們下個季度能‘復活’多少用戶嗎?”
張浩的冷汗“刷”地一下就下來了。他搶在林帆開口前,一個箭步沖到桌前,拿起報告。
“王總……這,這不可能啊!我昨晚提交的時候明明核對過……”
“你核對過了?”王總冷笑,“Alpha的CEO凌晨四點給我打的電話,問我是不是在侮辱他的智商!你知道這導致了什么嗎?他們凍結了二期款項的支付!”
“我……”張浩的眼珠飛快地轉動,他忽然猛地轉向我,“林帆!是不是你給我的原始數據包出了問題?我就說昨晚加載的時候總覺得不對勁!”
林帆平靜地看著他:“我給你的數據包,有完整的校驗碼。你加載的時候,校驗碼對得上嗎?”
“我……我當時太急了,誰還顧得上看那個!”張浩急赤白臉地喊道,“肯定是你!你的基礎數據錯了,我的模型跑出來肯定是錯的!王總,他是B崗,數據源頭在他那里!”
王總的目光轉向了林帆,帶著審視和巨大的壓力:“林帆?”
![]()
林帆沉默著,沒有看張浩,也沒有看王總。他只是盯著桌上那份可笑的“負增長”報告。
“B崗的數據如果出錯,A崗在建模和提交前,難道沒有復核的職責嗎?”林帆終于開口了,語氣平淡。
“你這是承認了?!”張浩像是抓到了救命稻草,“王總你聽到了!他承認數據源頭有問題!我一個A崗,我怎么可能把他的基礎工作全部重做一遍!這是他的失職!”
王總深吸一口氣,她現在需要的是一個解決方案,以及一個為這件事負責的人。
“夠了。”王總打斷了他們,“張浩,你立刻帶團隊重做模型,中午十二點前必須給客戶一個初步解釋。至于林帆……”
王總停頓了一下。
“林帆,你這個季度的績效獎金全部取消。另外,寫一份詳細的事故報告,發給全體項目組,向所有人道歉。明白了嗎?”
張浩的肩膀明顯松弛了下來,他悄悄地、用一種混合著愧疚和慶幸的眼神瞥了林帆一眼。
林帆看著王總,臉上沒什么表情,既沒有憤怒,也沒有不甘。
“明白了,王總。”
03
從王總辦公室出來,張浩刻意放慢了腳步,落在林帆后面。
直到走廊的拐角處,張浩才快走幾步跟上來,壓低了聲音:“那個……林帆。兄弟,今天這事……我……”
林帆停下腳步,轉過身。
“我當時也是沒辦法,王總發那么大火,你知道的,我上個月才剛背了一個投訴,再來一次,我這A崗就保不住了。我……”張浩語無倫次地試圖解釋。
“我懂。”林帆打斷了他。
“啊?”張浩愣住了。
“你也是為了保住工作。”林帆的語氣甚至稱得上溫和。
張浩的表情僵住了,他沒想到會是這個反應。他準備好了一籮筐的說辭,準備應付林帆的質問甚至憤怒,但對方平靜得像是什么都沒發生。
“那你……”
“獎金而已,小事。”林帆微微一笑,忽然伸出手,重重地拍了拍張浩的肩膀。
張浩被他拍得一縮。
林帆湊近了一點,用只有兩個人能聽到的聲音說:
“張浩,別往心里去。哥下次還幫你。”
這句話像一道電流,讓張浩的汗毛瞬間立了起來。
他看著林帆的眼睛,那里面沒有憤怒,沒有怨恨,甚至沒有嘲諷。那是一種……一種難以形容的、近乎“憐憫”的平靜。
“你……你什么意思?”張浩的聲音有些發干。
“字面意思。”林帆收回手,插回口袋,“好好準備給客戶的解釋吧。B崗的工作,我不會再出‘岔子’了。”
林帆轉身離開,留下張浩一個人僵在原地。
“下次還幫你”,這五個字像魔咒一樣在張浩的腦子里盤旋。他為什么不生氣?他為什么不解釋?他到底想干什么?
![]()
04
那次“背鍋”事件后,林帆真的像個沒事人一樣。他準時提交數據,報告寫得滴水不漏,甚至在公開的檢討信里,他也只是陳述了“數據核驗疏忽”,把責任攬得干干凈凈。
張浩反而坐立不安了好幾天,但看到林帆確實沒有報復的跡象,他也漸漸放下了心。他開始覺得,林帆也許就是個軟柿子,或者是個“老好人”,認栽了。
生活恢復了平靜,直到兩個月后。
“Omega項目啟動會。”王總在會議室的白板上寫下這個詞,“重要性,是Alpha的三倍。客戶要求我們對他們全網的實時交易數據進行‘高頻風險狙擊’。這個項目,只許成功,不許失敗。”
王總的目光掃過眾人:“A崗,還是張浩。B崗……”
所有人都看向林帆。
“B崗,還是林帆。”王總敲了敲桌子,“我不希望看到同樣的錯誤,再犯第二次。”
張浩的臉色有點白。
又是一個注定不眠不休的加班周。Omega項目的數據量是Alpha的幾十倍,而且是實時滾動的。
周五晚上,最后提交期限前一晚。
“林帆,你確定這個‘清洗規則’沒問題嗎?”張浩的聲音帶著顫音,“這數據流太快了,我根本沒法手動驗證。萬一規則錯了,明天系統一上線,導出的狙擊指令就是錯的!”
“放心。”林帆正在調試一個監控窗口,“我用了三重驗證。規則是絕對安全的。”
“可我總覺得心慌……”張浩死死盯著那個紅色的“執行”按鈕。這個按鈕按下去,數據模型就會被部署到Omega客戶的內網服務器上,開始實時干預他們的交易。
“你上次就是太自信了,林帆。”張浩忍不住說。
“所以這次我格外小心。”林帆抬起頭,看了他一眼,“A崗,你負責最終部署。執行吧。”
張浩咽了口唾沫。他看了一眼旁邊一臉平靜的林帆。他想:如果這次再出事,王總說了,絕不姑息。但林A崗已經犯過一次錯,這次如果再出問題……
他一咬牙,把鼠標移到了“執行”按鈕上,重重地按了下去。
就在這時,林帆的手機屏幕亮了一下,是一條短信。