監控大屏突然變藍時,我正在給父親的鋼筆裝新墨囊。深藍色的墨水順著筆尖滴在報表上,暈開的痕跡像極了服務器宕機時的錯誤代碼。技術部的驚呼聲從走廊傳來,我捏著鋼筆站起身,金屬筆帽上的紋章硌得掌心發疼——這是項目上線以來第三次重大事故,卻也是第一次讓我看清自己的無能。
“王總監,後台核心模塊崩了!”滔寵撞開辦公室門,襯衫第二顆紐扣崩掉了,露出鎖骨處因熬夜冒出的紅疹,“所有用戶行為數據都在倒灌,數據庫快撐爆了!”他手裡的筆記本電腦屏幕閃爍著亂碼,綠色字符在黑色背景上瘋狂跳動,像無數隻垂死掙紮的螢火蟲。
我湊過去看屏幕,那些嵌套的括號和函數像陌生的符咒。我想起病休時看的編程入門書,書頁上的“變量”“循環”在腦海裡碎成粉末。“具體是哪個模塊?”我儘量讓聲音聽起來鎮定,鋼筆在指間轉得飛快,卻突然脫手砸在鍵盤上,彈出的藍色錯誤框正好蓋住滔寵的臉。
技術部會議室的白板被寫滿又擦淨,留下大片灰黑色的痕跡。我坐在最末位,聽著程序員們用“死鎖”“內存泄漏”“事務回滾”這些術語爭吵,感覺自己像掉進了沒有底的玻璃缸。女每東把打印出來的堆棧日誌拍在桌上,紙頁邊緣被憤怒的指痕捏得發皺:“三小時了!連問題根源都找不到?”
“數據庫索引全亂了,”一個戴眼鏡的程序員哭喪著臉,“就像有人在背後抽走了所有承重牆。”我盯著他手指的位置,那裡的代碼縮進像級級向下的台階,突然想起異世界那個沒有扶手的旋轉樓梯,每級台階都刻著會消失的符號。
茶水間的咖啡機又在泄壓,尖銳的嘶鳴讓我太陽穴突突直跳。我躲進隔間給父親打電話,聽筒裡傳來高爾夫球車的引擎聲。“爸,項目出問題了,後台程序……”
“找張副總啊,”父親打斷她,聲音混著球杆擊球的脆響,“他兒子不是在技術部掛了個顧問頭銜?讓他處理。”水流順著指尖滴進洗手池,我看著排水口漩渦裡的泡沫,突然想起上周慶功宴上,張副總拍著我的肩說“以後都是自己人”,當時他袖口的金表鏈晃得人睜不開眼。
回到會議室時,爭吵聲已經變成死寂。滔寵把自己反鎖在機房,透過玻璃門能看到他正用頭撞服務器機櫃,背影佝僂得像根被暴雨壓彎的蘆葦。我摸出手機翻通訊錄,張副總兒子的微信頭像是隻吐舌頭的柴犬,上次群發的拜年消息還躺在未讀列表裡。
“王總監,用戶投訴量破千了。”小林舉著平板進來,屏幕上滾動的差評裡夾雜著“卸載”“舉報”的字眼,“公關部問要不要啟動危機預案。”我接過平板時,手指在“聯係張顧問”的對話框前懸了很久,最終還是按滅了屏幕——我不想讓那幫技術男覺得,自己隻會靠關係解決問題。
深夜的機房亮如白晝,服務器的嗡鳴裡混著程序員們壓抑的咳嗽聲。我搬了把椅子坐在角落,看著滔寵團隊用各種顏色的馬克筆在玻璃牆上畫圖,紅色箭頭像道不斷滲血的傷口。“可能是數據加密算法的問題,”一個程序員突然說,“這個密鑰……有點奇怪。”
我的心猛地一沉。那串密鑰是我親手敲進去的,來自異世界鐵籠欄杆的紋路。此刻那串字符在屏幕上閃爍,像條正在收緊的絞索。她悄悄退到門外,給父親發微信:“張顧問的電話多少?”發送鍵按下的瞬間,機房突然爆發出歡呼——他們找到bug了。
滔寵舉著筆記本衝出來時,眼裡布滿血絲卻閃著光:“是時間戳格式!有人在加密算法裡嵌了個動態偏移值,每到淩晨三點就會觸發死鎖!”他的手指戳在屏幕上,那裡的代碼注釋欄裡,王堯當初寫下的“籠中計時”四個字正泛著刺眼的白光。
整個機房的目光突然聚焦在她身上。我攥緊口袋裡的鋼筆,金屬紋章硌得掌心生疼。我想起父親信裡的話:“權力能讓錯誤變成勳章。”於是挺直脊背,聲音冷得像服務器機房的空調風:“這個冗餘設計是為了測試係統抗壓極限,看來達到預期了。”
張顧問的電話在這時打進來,我走到走廊接起,聽筒裡傳來年輕的笑聲:“王總監聽說出問題了?我爸讓我來看看,正好斯坦福學的分布式係統能派上用場。”我望著機房透出的燈光,那些曾經讓我恐懼的代碼此刻像溫順的羊群。
“已經解決了,”我說,指尖無意識地摳著鋼筆紋章,“不過還是謝謝你,改天請你吃飯。”掛掉電話時,我發現自己手心全是汗,那枚精致的紋章不知何時被摳掉了一小塊漆。
天邊泛起魚肚白時,我站在落地窗前看日出。技術部的人陸續走出機房,滔寵經過時抬頭看了我一眼,眼神複雜得像蒙著霧的湖麵。我摸出手機,把張顧問的號碼設成星標聯係人,然後打開父親的對話框,輸入“項目穩定了”,卻遲遲沒按下發送鍵。
晨光爬上窗台,照亮那滴凝固的墨水漬。我突然想起十歲那年,父親教我騎自行車,在我摔破膝蓋時說:“自己爬起來才叫長大。”此刻那枚缺了角的鋼筆躺在掌心,我第一次發現,所謂的退路,其實早就在掌心硌出了血痕。
喜歡九幽刑典請大家收藏:()九幽刑典書更新速度全網最快。