我的人生目標,就是成為一條合格的咸魚。最好是那種翻個身都嫌累,能躺著絕不坐著,月薪三千,準時下班,回家就癱在沙發(fā)上,用最便宜的流量套餐刷最無腦的短視頻,然后心安理得地混到退休。為了這個崇高的理想,我兢兢業(yè)業(yè)地扮演著一個平庸的、毫無上進心的職場小透明,拿著不高不低的薪水,干著不多不少的活兒。可惜,老天爺好像跟我開了個天大的玩笑。它給了我一個無法拒絕,也無法擺脫的能力,一個讓我無論如何偽裝,都會像黑夜里的螢火蟲一樣,被動閃閃發(fā)光的被動技能。所以,我一邊在一家互聯(lián)網(wǎng)公司里當著最底層的程序員,一邊苦惱地看著自己銀行賬戶里那個長得離譜的數(shù)字,感覺自己這條咸魚,可能……鹽放得有點多了。
“崩了!又崩了!三號服務器徹底宕機!用戶投訴電話已經打爆了!”
技術部總監(jiān)張偉的咆哮聲,像一顆炸雷在開放辦公區(qū)里炸響。他那本就不富裕的頭頂,此刻在日光燈下反射著絕望的光,油光锃亮。
辦公室里彌漫著一股末日降臨般的恐慌,鍵盤的敲擊聲像是瀕死前的掙扎,混雜著壓抑的粗氣和時不時的咒罵。公司的核心產品,“星辰互聯(lián)”APP,在今天上午九點版本更新后,就陷入了間歇性癱瘓。到現(xiàn)在,下午三點,情況非但沒有好轉,反而愈演愈烈。
我叫林宇,是技術部“服務器維護與打雜一組”的一名普通員工。此刻,我正戴著降噪耳機,將顯示器上密密麻麻的代碼窗口最小化,專心致志地……玩著掃雷。
高級模式,58秒。嘖,退步了。
我的座位在最偏僻的角落,緊挨著消防通道,這是我精心挑選的風水寶地。在這里,我可以最大限度地避開領導的視線,完美地執(zhí)行我的“咸魚準則”——不主動,不拒絕(簡單的活兒),不負責。
可惜,總有刁民想害朕。
“林宇!”
張偉那標志性的大嗓門穿透了我三百塊錢買的降噪耳機。我慢悠悠地摘下一邊耳機,臉上掛著恰到好處的迷茫和一絲剛從代碼世界里抽離出來的呆滯。
“?。繌埧?,您叫我?”
張偉三步并作兩步沖到我面前,通紅的眼睛里布滿了血絲,他指著會議室的方向,語氣急促得像一挺即將卡殼的機關槍:“別掃雷了!所有人都去會議室!所有人!包括你!快!”
我心中嘆了口氣。得,看來今天下午的摸魚時光是泡湯了。
我慢吞吞地站起身,跟著人流走進煙霧繚繞的會議室。會議室里,氣氛凝重得能擰出水來。以首席技術官(CTO)王博為首的核心技術團隊,正圍著一塊巨大的顯示屏,屏幕上滾動的紅色錯誤代碼,像一條條催命符。
“問題還是出在新的數(shù)據(jù)同步模塊上,”一個頭發(fā)亂得像雞窩的技術大牛說,“我們回滾了版本,但沒用!舊數(shù)據(jù)已經被污染,現(xiàn)在整個用戶數(shù)據(jù)庫的索引結構都亂了,牽一發(fā)而動全身!”
“備用服務器呢?切換備用方案!”王博沉聲問。
“不行啊王總,新的模塊邏輯和舊的數(shù)據(jù)庫架構不兼容,備用方案一啟動,數(shù)據(jù)錯亂得更厲害!現(xiàn)在我們就像走在鋼絲上,進退兩難!”
我找了個最不顯眼的角落坐下,掏出手機,準備刷刷短視頻。對于這種神仙打架的場面,我向來是沒什么興趣的。我知道,他們最終會找到一個解決方案,也許是熬上三天三夜,也許是請外面的專家,但總能解決。而我,只需要在這里扮演一個焦慮的背景板,然后在事情解決后,跟著大家一起鼓掌歡呼就行了。
然而,我的目光不經意地掃過那塊巨大的顯示屏。
就是這一眼,壞了事。
在別人眼中,那是一片令人頭皮發(fā)麻的、由數(shù)字和字母組成的紅色瀑布。但在我的視野里,一些與眾不同的東西浮現(xiàn)了出來。
一行行淡藍色的,像是游戲UI里的信息標簽,精準地疊加在某些特定的代碼行之上。
`【數(shù)據(jù)冗余調用:此模塊被無效觸發(fā)172次/秒,造成9.8%的服務器資源浪費】`
`【致命邏輯漏洞:在極端高并發(fā)情況下,該函數(shù)無法正確釋放內存,是導致服務器宕機的直接原因。預計將在7分13秒后引發(fā)二號服務器連鎖崩潰】`
`【隱藏的冗余進程“DataSync_Backup.exe”:由前代程序員遺留的廢棄進程,與新模塊產生未知沖突,占用31.4%的CPU資源,是系統(tǒng)卡頓和數(shù)據(jù)索引錯亂的元兇】`
我閉上眼睛,揉了揉太陽穴。
又來了。
這種能力,我稱之為“信息視覺”。它不知道從什么時候開始出現(xiàn)的,就像一個被動技能,只要我將注意力集中在某個事物上,它的核心信息、潛在風險、最優(yōu)解,就會以這種淡藍色標簽的形式,清晰地呈現(xiàn)在我的視野里。
看一眼古董,就能知道它的年份、材質、流傳經歷和真實價值。
看一眼病人,就能看到他身體里哪個器官出了問題,病灶在哪里。
看一眼股票K線圖,就能看到它未來一周的漲跌概率和關鍵節(jié)點。
這個能力,是我那天文數(shù)字存款的來源,也是我無法安心當一條咸魚的萬惡之源。因為你知道的太多,就總會忍不住,在某些實在看不下去的時候,多說那么一兩句。
而往往就是那一兩句,會打破我所有的咸魚計劃。
比如現(xiàn)在。
`【預計將在6分28秒后引發(fā)二號服務器連鎖崩潰】`
淡藍色的倒計時像死神的秒表,在我眼前一秒一秒地跳動。
我瞥了一眼滿頭大汗、嘴唇發(fā)白的張偉。他是我入職時的面試官,也是我的直屬領導。人不錯,沒什么架子,平時對我這種不求上進的員工也算睜一只眼閉一只眼,沒少幫我擋掉一些亂七八糟的破事。上個月他老婆生了二胎,他還樂呵呵地給我們全組的人發(fā)了紅雞蛋。
如果這次事故解決不了,以公司的風格,CTO王博最多是記個大過,而他這個技術總監(jiān),八成是要背鍋滾蛋的。
我內心掙扎著。
幫,還是不幫?
幫了,肯定會引起注意,打破我辛辛苦苦維持了三年的平庸人設。我的咸魚生活可能就此終結。
不幫?眼睜睜看著張偉失業(yè),看著公司幾千萬的用戶數(shù)據(jù)徹底玩完,看著二號服務器在我眼前精準地倒計時崩潰……我好像又有點于心不忍。
該死的良心。
`【倒計時:4分51秒】`
“王總,我建議……我們干脆壯士斷腕!暫時關閉用戶注冊和登錄通道,全力搶修數(shù)據(jù)庫!”一個組長提議道。
“放屁!”王博一拍桌子,“現(xiàn)在是晚高峰流量預熱期,關閉通道一個小時,損失的用戶和流水誰來承擔?你想讓老板把我們整個技術部都裁了?”
會議室里的氣氛更加壓抑了。
我嘆了口氣,認命了。算了,就當是還張偉的人情吧。不過,得用一種咸魚的方式來做。
我清了清嗓子,用一種略帶遲疑和不確定的語氣,小聲地對著身邊的同事說:“那個……我多嘴問一句啊,咱們是不是有個叫‘DataSync_Backup.exe’的進程一直在后臺跑著???”
我的聲音不大,但在死寂的會議室里,卻顯得異常清晰。
所有人的目光“唰”地一下,全都集中到了我身上。
我身邊的同事一臉懵逼:“什么東西?沒聽說過啊?!?/p>
被眾人注視著,我表現(xiàn)出一個社恐技術宅應有的局促和緊張,撓了撓頭,眼神飄忽地說:“我……我也記不清了,就……就好像以前聽誰提過一嘴,說是個挺老的備份程序,早就不用了。我就是瞎猜,會不會……是它跟新系統(tǒng)有沖突?。俊?/p>
我的話聽起來就像一個門外漢的胡言亂語。
首席技術官王博眉頭一皺,臉上露出明顯的不悅:“林宇是吧?現(xiàn)在不是開玩笑的時候!我們正在排查核心代碼,你說的那個東西連聽都沒聽過,別在這兒添亂!”
他的語氣很沖,帶著一股精英階層特有的傲慢。
我縮了縮脖子,恰到好處地表現(xiàn)出了一絲被領導訓斥后的畏縮,小聲嘟囔著:“哦……哦,對不起王總,我就是瞎說的,我閉嘴?!?/p>
說完,我便低下頭,重新玩起了手機,仿佛剛才那句話只是一個無足輕重的小插曲。
但我的眼角余光,卻一直鎖定在張偉身上。
張偉愣了一下,他不像王博那么武斷。他了解我,知道我雖然懶散,但從不是那種信口開河的人。他猶豫了幾秒鐘,然后對身邊的運維組長說:“小李,查一下!后臺進程列表,看看有沒有這個‘DataSync_Backup.exe’!”
運維組長小李雖然也覺得莫名其妙,但還是聽話地在筆記本電腦上敲打起來。王博冷哼一聲,沒再理會我們這邊,轉頭繼續(xù)和核心團隊討論方案。
`【倒計時:2分11秒】`
我的心提了起來??禳c,快點啊。
“咦?”小李突然發(fā)出了一聲驚疑。
“怎么了?”張偉立刻追問。
“張總,還……還真有!真有這個進程!”小李的眼睛瞪得像銅鈴,他指著屏幕,聲音都有些變調了,“我的天,它……它占了31.4%的CPU!一直在讀寫數(shù)據(jù)庫!我們之前竟然誰都沒發(fā)現(xiàn)!”
這個發(fā)現(xiàn)像一顆石子投入平靜的湖面,激起了千層浪。
王博猛地轉過頭,臉上寫滿了難以置信,他一個箭步沖到小李身后,死死地盯著屏幕上那個刺眼的名字和同樣刺眼的CPU占用率。
“怎么可能?這個進程是哪來的?為什么會出現(xiàn)在線上服務器里?!”他咆哮道。
`【倒計時:1分37秒】`
“王總,現(xiàn)在不是追究這個的時候!”張偉的反應極快,他當機立斷地吼道,“小李,立刻給我殺了這個進程!立刻!馬上!”
“是!”
小李的手指在鍵盤上翻飛,敲下了kill指令。
回車。
就在指令生效的那一瞬間,會議室大屏幕上那條瘋狂滾動的紅色瀑布,戛然而止。
整個世界,仿佛都安靜了下來。
幾秒鐘后,綠色的運行日志開始一條條地刷新出來。
`【系統(tǒng)內存已釋放】`
`【數(shù)據(jù)庫索引開始自動重建】`
`【服務器負載已從98%降至35%】`
`【系統(tǒng)恢復正常】`
“通了!通了!APP可以正常訪問了!”前臺傳來了運營同事興奮的尖叫聲。
會議室里先是死一般的寂靜,隨即爆發(fā)出雷鳴般的歡呼和掌聲。一群精疲力竭的程序員們互相擁抱,慶祝著這場劫后余生。張偉一屁股癱坐在椅子上,長長地舒了一口氣,汗水浸透了他的襯衫。
王博呆呆地站在原地,看著屏幕上恢復正常的日志,又看了看角落里那個低著頭玩手機、仿佛一切都與他無關的身影,眼神復雜到了極點。
我悄悄地將手機揣回兜里,準備趁著眾人慶祝的混亂場面,溜之大吉。今天的運動量已經嚴重超標了,我得趕緊回家躺著補充一下“咸魚能量”。
然而,我剛走到門口,一只手就搭在了我的肩膀上。
是張偉。
他看著我,眼神里充滿了感激、困惑和一絲探究:“林宇……謝謝你。真的。今天,你救了我們整個技術部,也救了我。”
我連忙擺手,露出憨厚的笑容:“哎呀張總,您可別這么說,我就是運氣好,瞎蒙的,瞎蒙的?!?/p>
“運氣好?”張偉顯然不信,他壓低聲音,“你怎么會知道那個進程的?那個東西,連王總都不知道。”
“我……我真就是以前偶然聽人說起過,印象里有這么個事兒。今天這情況,死馬當活馬醫(yī)唄?!蔽依^續(xù)裝傻。這套說辭我已經駕輕就熟了。
張偉還想再問什么,但他的手機響了。他看了一眼來電顯示,臉色瞬間變得嚴肅起來。
“是CEO?!彼麑ξ易隽藗€口型,然后走到一旁接電話。
我趁機拔腿就走。
回到工位,我火速關掉電腦,背上我的雙肩包,準備以百米沖刺的速度逃離公司。
然而,我還是晚了一步。
我的手機響了。
是一個陌生的內部短號。
我猶豫了一下,還是接了。
電話那頭傳來一個沉穩(wěn)而富有磁性的聲音,不容置疑,帶著一股天生的上位者氣息。
“是林宇嗎?”
“……我是?!?/p>
“來我辦公室一趟。頂樓,總裁辦公室。”
電話掛斷了。
我握著手機,站在原地,呆若木雞。
完了。
我好像……玩脫了。