![]()
周五下午五點四十七分,星輝科技A3辦公區的日光燈管發出輕微的電流聲。
我盯著屏幕上的郵件,手心全是汗。
“關于星云項目第三階段獎金的分配方案”——發件人是蘇曼,我的直屬上司,技術部總監。郵件的正文很短,短到像一把刀:
“經技術部管理層綜合評估,項目經理陳默在星云項目第三階段中貢獻度未達預期,決定不予發放本階段項目獎金。請HR部門知悉。”
我反復看了三遍。
項目獎金二十萬。
這個項目從去年十月立項到今年六月交付,我帶著十二個人的團隊熬了八個月。最狠的一次,連續加班二十三天,陸晨直接在公司沙發上睡了四個晚上。客戶驗收通過那天,甲方代表說這是他們見過的最完美的技術方案。
而現在,蘇曼用“貢獻度未達預期”七個字,就把我踢出了分配名單。
辦公區的空調發出低頻的嗡鳴聲。隔壁工位的陸晨探過頭來,嘴唇翕動了一下,又縮回去了。其他人都在盯著屏幕,但我能感覺到那些若有若無的目光——像針一樣扎在背上。
我關掉郵件頁面,點開企業微信。
技術部的群里,蘇曼在兩分鐘前發了一條消息:“各位辛苦了,星云項目獎金已發放完畢,請大家查收。”
底下一連串的“謝謝蘇總”。
我的名字不在任何一條感謝名單里。
右手食指懸在“退出群聊”的按鈕上,停了大概五秒鐘。然后我按了下去。屏幕彈出一個確認框:“確定退出‘技術部核心群’?”
確定。
然后是“星云項目組”。
確定。
“星輝科技全體員工群”。
確定。
每退一個群,手指就穩一分。退到第四個的時候,我已經不覺得這是沖動了——這更像是一種物理反應,就像被燙到會縮手,被割到會流血。
電腦右下角的時間跳到17:59。
我關掉電腦,拿上工位抽屜里那本翻了三年的《系統架構設計》,背上那個磨破了邊角的黑色雙肩包,起身離開了工位。
走廊盡頭的總監辦公室里,蘇曼正在打電話,玻璃墻后面投出她挺拔的側影。她今年三十八歲,短發干練,灰色西裝一絲不茍,腳上的高跟鞋走起路來從不發出多余的聲音。
我沒看她第二眼。
電梯下行的時候,陸晨發了條微信過來:“陳哥,你別沖動。”
我沒回。
走出寫字樓大門時,六月的熱風撲面而來。手機在口袋里震動了兩次——是蘇曼的未接來電。我按掉,把手機調成靜音。
打車回家,洗澡,吃泡面,打開電視看了一場球賽重播。
一切都像正常的周五晚上。
直到凌晨兩點十五分,手機屏幕亮了。
蘇曼。
震動持續了八秒,停下,又立刻再次震動。然后是第三次、第四次、第五次。微信消息彈窗像彈幕一樣刷屏:
“陳默,看到消息馬上回我電話!”(02:16)
“星云項目的核心方案出了嚴重漏洞!”(02:16)
“客戶那邊明天早上九點要開緊急會議,必須今晚修復!”(02:17)
“你刪了什么文件?陳默!你到底刪了什么?!”(02:19)
“馬上回公司!通宵修復!”(02:21)
語音消息:三段。
未接來電:十七個。
我靠在沙發靠墊上,看著手機屏幕亮了又暗,暗了又亮。球賽已經結束,電視里在播深夜新聞。客廳的空調發出輕微的沙沙聲。
第七個連環call響起的時候,我接了起來。
“陳默!你終于接了!你知不知道——”蘇曼的聲音帶著明顯的顫抖,那不是憤怒,更接近恐懼。
“您好,請問哪位?”
我的聲音很平靜,平靜到連自己都覺得有點陌生。
電話那頭安靜了大概三秒鐘。那三秒里,我聽到她呼吸驟然停滯的聲音。
“陳默?!”
“不好意思,您撥錯號了嗎?這邊沒有叫陳默的。”
“你——”
“如果沒什么事的話,我先掛了。另外,凌晨兩點多打電話不太合適,建議您明天工作時間再聯系對方。”
我掛斷了電話。
然后關掉了手機。
第二天早上八點,我打開手機時,屏幕上跳出了四十三條未讀消息和二十九個未接來電。最后一條微信是陸晨在凌晨五點半發來的:
“陳哥,蘇總瘋了。她把整個技術部叫回公司通宵改方案,但那份方案的核心架構只有你一個人能看懂。現在整個辦公室都在傳——蘇曼改了你方案里的關鍵參數,結果把系統底層邏輯全改崩了。”
“還有,她在會議室里摔了杯子。我第一次見她這樣。”
我看了這條消息好一會兒。
然后緩緩起身,洗漱,換衣服,背上了那個洗得發白的黑色雙肩包。
今天周六。
但我知道,有些事該去當面解決了。
01
星輝科技的總部大樓在周六早晨看起來格外安靜。只有零星幾個加班的工位亮著燈,電梯間彌漫著保潔阿姨剛拖過地的清潔劑氣味。
我刷了門禁卡。
“滴——”綠燈亮起,系統顯示:“陳默,技術部高級項目經理,驗證通過。”
蘇曼還沒有注銷我的權限。
這個細節讓我在電梯里嘴角動了一下。十七個連環call之后的第二天,她沒有注銷我的門禁——要么是急到忘了,要么是她根本就不敢。
電梯在九樓停下。門一開,我就聽到了技術部的動靜。那個聲音很奇怪,像是很多人在低聲說話,但又不敢太大聲,所有的竊竊私語混在一起變成一種嗡嗡的背景噪音,偶爾被某個人突然拔高的嗓門打斷——“這個參數誰改的?昨天版本里不是這樣的!”
是陸晨的聲音,沙啞得像是熬了整夜。
我推開技術部的玻璃門。
里面的場景讓我停了一下腳步。
十幾臺電腦屏幕全亮著,辦公桌上攤滿了打印出來的系統架構圖,煙灰缸里插滿了煙蒂——星輝科技明明是無煙辦公區。七八個人圍在陸晨的工位旁邊,有人蹲著,有人站著,有人半跪在地上翻文件。
所有人都抬頭看向了我。
陸晨最先反應過來,他站起身的動作太猛,膝蓋撞到了桌腿,疼得齜了一下牙,但嘴里說的是:“陳哥,你總算來了。”
“什么情況?”
我放下包,走向陸晨的工位。人群自動往兩邊讓開一條路。
“你看看這個。”陸晨把一臺筆記本轉向我。
屏幕上顯示的是星云項目的核心方案——系統底層架構的安全驗證模塊。我掃了十秒鐘,眉頭就皺起來了。
這個模塊被人動過。
不只是動過,是被徹底修改了三個關鍵參數。這三個參數一旦變動,整個系統的安全驗證邏輯會全部崩潰。簡單說,就像把一棟三十層大樓的承重墻拆了換了根木頭柱子——外觀看起來還在,但隨時會塌。
“誰改的?”我明知故問。
陸晨咽了口唾沫,聲音壓得很低:“昨晚蘇總讓運維組開了最高權限,她自己進系統改的。她說你的方案‘過于復雜’,要‘優化冗余’。然后——”
“然后等我刪掉備份文件之后,才發現改崩了對吧?”
陸晨沒說話,但他滿眼血絲的表情已經回答了所有問題。
“備份呢?系統自動備份總有吧?”
“被清理了。”運營組的小周從人群后面怯怯地出聲,“蘇總昨晚十一點讓刪掉的,說版本太多會混淆。”
“早上五點半發現崩了之后,她又讓我們恢復。但底層備份被刪了兩次,恢復出來的只有昨天下午三點的版本,那個版本已經被——”小周小心翼翼地斟酌著用詞,“被修改過了。”
被篡改過。他說不出口。
辦公區里安靜了幾秒鐘。
“所以現在,”我環視了一圈所有人熬紅的眼睛,“整個星云項目的核心方案,唯一干凈、完整、可用的版本,在我手里。”
這不是疑問句,是陳述句。
陸晨點了點頭。
我把目光掃向總監辦公室。
玻璃墻后面,蘇曼背對著門口,正在打電話。她的灰色西裝外套搭在椅背上,白色襯衫的后背位置有隱約的汗漬。她那只一向干凈利落、從不做多余動作的右手,此刻正用力攥著電話,指節發白。
隔著玻璃,我聽不清她說什么。但她的肩膀在微微發抖。
“陳哥,”陸晨壓低聲音湊過來,“昨天晚上你到底刪了什么文件?蘇總凌晨打電話的時候一直在說你刪了什么東西,像是——像是比方案本身更讓她害怕的東西。”
我看著玻璃墻那面墻上,蘇曼的影子映在上面,微微晃動。
“一個她以為永遠都不會重見天日的老文件。”
我的語氣很淡。
但陸晨顯然從我眼神里讀到了不一樣的東西——他見過我熬夜寫代碼的狀態,見過我開會和客戶爭吵的強硬,見過我項目交付時舉杯慶祝的笑容。
但他從來沒見過我現在的表情。
后來他告訴我,那個瞬間他想起了三年前,那是他入職星輝科技的第一周。樓下的咖啡機旁邊掛著一面員工榮譽墻,墻上有一張褪色的照片——那是星輝科技在2019年獲得的“中國智能系統創新大獎”,金獎。
照片上有五個人。
正中間的是副總裁蘇震霆,旁邊站著當時還是部門經理的蘇曼。
最左邊是一個戴著黑框眼鏡的中年男人,微胖,笑得有點憨。
照片的下方有一行字:“項目負責人:陳遠山”。
后來那張照片被悄悄換掉了。
換成了另一張沒有陳遠山的版本。
02
三年前的那個秋天,我剛入職星輝科技不到兩個月。
師傅陳遠山是技術部的總工,帶我的第一天就請我在樓下吃了碗蘭州拉面。面是他付的錢,十二塊,找零的三塊錢硬幣他揣進兜里,然后從另外一個兜里掏出手機,告訴我:“小陳,做技術這一行,本事學在自己手里,比任何關系都硬。”
他說話的時候,嘴角還掛著一根沒吸干凈的面條。
那一年,他帶著團隊花了十一個月,做出了“智能安全管理系統”——一套用于大型數據中心的安全監測底層架構。
那是真正的前沿技術。當年全國能做這套系統的人不超過十個,而他陳遠山是其中做得最好的那個。
項目申報了當年的行業創新大獎。
我記得很清楚,陳遠山在提交申報材料的前一天晚上,還在辦公室里改第十五版的系統說明。他讓我幫忙核對格式,我問他:“師傅,這個獎拿下來,公司會給獎勵吧?”
他扶了扶黑框眼鏡,笑了一下:“獎勵?這個獎要是拿下來,你師傅我這輩子就算沒白干了。”
他說這話的時候,眼睛里有光。
那是我見過他最驕傲的時刻。
但后來發生的事情,完全超出了所有人的預料。
大獎評委會公布獲獎名單那天,我在工位上刷著頒獎直播。主持人念到“智能系統創新金獎——星輝科技,智能安全管理系統”的時候,我站起來鼓掌,隔壁工位的陸晨被嚇了一跳。
但鏡頭切到領獎臺上,走上臺的卻不是陳遠山。
是蘇震霆。
星輝科技的副總裁,穿著黑色西裝,面帶微笑,從評委手里接過獎杯。主持人說:“有請項目負責人蘇震霆先生發表獲獎感言。”
項目負責人。
蘇震霆。
我當時愣住了。
更讓我愣住的是站在蘇震霆身后的人——蘇曼。
那時她還只是技術部的部門經理,穿著藍色套裝,站在蘇震霆側后方,鼓掌,微笑,和所有人一起慶祝。
鏡頭掃過臺下。
陳遠山不在。
不僅不在領獎臺上,他甚至不在頒獎典禮的現場。
當天晚上,我打陳遠山的電話,關機。第二天,關機。第三天,終于打通了,他接起來,聲音疲憊得像是老了十歲:“小陳啊,別擔心,師傅沒事。”
“師傅,到底怎么回事?那個項目——”
“別問了。”他打斷我,“陳默,你別問了。”
“可是——”
“我說別問了!”
他幾乎是吼出來這三個字的。
電話掛斷之后,我坐在出租屋的床上,很長時間沒有動。
后來,我在公司的項目檔案里找到了那份申報材料。系統的主設計師一欄,原本寫著“陳遠山”,現在變成了“蘇震霆”。核心技術路徑的分析報告上,陳遠山的署名被挪到了“參與人員”的末尾,排在一個剛入職的實習生后面。
我拿著材料去找蘇曼。
她當時剛從會議室出來,看了一眼我手中的文件,臉上的表情紋絲不變。
“陳默,項目署名的問題是公司管理層的決定,你做好手頭的工作就行。”
“但那個系統是陳工一個人寫的,蘇總根本就不懂架構——”
“陳默。”她打斷我。這次她的聲音更冷,眼底有一種我看不懂的東西,“有些事情,知道得越少,對你越好。”
她轉身走了,高跟鞋踩在大理石地板上,咔、咔、咔,每一聲都像釘子釘在我心里。
兩周后,陳遠山辭職了。
不是正常離職,是被勸退。HR給他的理由是“績效考核不達標”。那個寫了整個系統底層架構、讓星輝科技拿了大獎的人,被以“績效不達標”的名義趕出了公司。
他走的那天,沒有告別。
我趕到他出租屋的時候,他已經搬走了。房東說,三天前的晚上退的房,交完水電費,一個人拖著行李箱走了,沒說去哪里。
陳遠山后來去了深圳,在一家小公司做了半年,又去了杭州,又做了三個月。我想去看他,他說太忙,別來。他的朋友圈從三天可見,變成一個月可見,再變成一條橫線。
2020年冬天的某個深夜,他發了一條僅我可見的朋友圈:
“有些東西丟了就是丟了,找不回來。不是方案被偷了,是人被偷了。”
第二天早上我點進去,這條朋友圈已經刪了。
那之后,他再也沒發過任何動態。
直到2021年春節,我給他發拜年信息,他回了一句:“小陳,新年快樂,好好做技術。”
這是他對我說的最后一句話。
三個月后,陳遠山去世了。
死于重度抑郁引發的并發癥。
他母親在電話里告訴我,去世前的那一周,他每天坐在深圳出租屋的小陽臺上,對著空氣自言自語。有時候是罵人,有時候是哭,有時候是沉默幾個小時。他母親問他怎么了,他說:“媽,我想不明白。”
他不明白,為什么自己寫的代碼、自己做的方案、自己熬的夜,最后變成了別人的功勞。
他更不明白,為什么那些他信任的人,會在他背后,把他推出自己搭建的世界。
陳遠山的葬禮在老家的小縣城里舉行,來的人不到十個,兩個是鄰居,三個是他老家的遠親,還有我和他母親。
沒有人從星輝科技來。
花圈、挽聯、慰問,全都沒有。
那天我站在他的遺像前,黑白照片里的他還戴著那副黑框眼鏡,笑得有點憨。
我在心里說了一句話:“師傅,我一定會弄明白。”
那之后,我開始查。
查2019年的項目記錄,查內部郵件往來,查所有關于那個大獎項目的資料。我用三年時間,一點一點拼出了真相——那個所謂的“核心方案優化”是誰做的,項目申報材料是誰改的,陳遠山的署名是誰刪掉的。
證據就藏在星云項目的方案文件里。
那是我故意埋進去的。
我想在這個項目里,用陳遠山的架構思路,完成他最想做的那套安全驗證模塊。然后,等著蘇曼看到那些熟悉的代碼路徑、熟悉的算法邏輯、熟悉的架構設計。
我等著她認出來。
然后等著她慌。
而昨天晚上,我刪掉的那個文件,不只是方案的備份。
那是一份完整的證據鏈條——原始代碼記錄、篡改日志、內部郵件截圖、項目申報材料的前后兩個版本。
蘇曼凌晨打十七個電話,不是想要我回去修方案。
她是想看我還留著多少證據,以及——
我打算什么時候用它。
03
我推開總監辦公室的門時,蘇曼剛好掛斷電話。
她轉過身,看到是我,眼神在零點幾秒內經歷了從慌亂到強撐鎮定的轉換。她快速抓過椅背上的西裝外套穿上,整理了一下領口,然后坐回辦公椅里。
仿佛這樣做,她就仍然是那個運籌帷幄的總監,而我只是一個闖進她辦公室的下屬。
“陳默,你總算來了。方案的事——”
“方案的事可以等會兒再說。”我拉過她對面的椅子坐下,動作很慢,和她急促的語調形成鮮明對比,“先說說你昨晚為什么打十七個電話。”
蘇曼的臉色變了一瞬,但她很快恢復過來。
“我是你的直屬上司,項目出了緊急問題,給你打電話是——”
“我退群了。”我打斷她,“我在退群的時候,個人理解是我已經主動解除了和星輝科技的一切協作關系。一個已經退群的員工,凌晨兩點被連環call十七次,這不叫正常的工作溝通。”
她的手指在桌面下不易察覺地攥緊了。
“陳默,你不要得寸進尺。項目獎金的事——”
“蘇總,我真的不是來跟你討論獎金的。”我身體微微前傾,讓自己的視線與她平齊,“我來,是想跟你聊一個人。”
“誰?”
“陳遠山。”
這個名字出口的瞬間,蘇曼的手停住了。
不是那種自然的停頓,而是像被按下了暫停鍵——手指半彎著懸在空中,嘴唇微張,呼吸短暫地斷了鏈。
大概過了三秒鐘,她才說:“陳遠山的事情已經是三年前了,你現在提他做什么?”
“因為昨天晚上我刪掉的文件里,”我頓了頓,“有他一整套原始代碼的記錄。”
蘇曼的臉“刷”地白了。
那種白不是緊張導致的蒼白,而是血液瞬間從面部退潮一樣的白。她的手指從桌面上收回,放在了大腿上——我注意到她的指尖在發顫。
“你怎么會有那個?”她的聲音壓低到近乎嘶啞,“那些代碼在項目交接的時候已經全部——”
“全部被覆蓋了?被替換了?被寫成蘇震霆的架構了?”我接上她的話,“對,公司的版本確實被替換了。但師傅在寫那套系統的時候,有一個習慣——他會在每段核心代碼里埋一個只有自己知道的識別標記。”
“什么標記?”
“時間戳注釋。”我說,“他會在注釋里寫下當天的日期。2019年3月12日,他寫下了第一版架構;5月7日,他完成了安全驗證模塊;7月23日凌晨三點十一分,他修掉了最后一個bug。這些日期,就藏在代碼注釋里,一行都沒改過。”
蘇曼的喉嚨動了動。
“而公司的最終版本里,”我繼續道,“這些時間戳注釋全部被刪了。但刪得不干凈——有一個鏡像備份落到了運維部一個老員工手里。那個老員工,去年離職的時候,把備份拷給了我。”
我現在還記得拿到那個備份的場景。
那是一個下著小雨的下午,老師傅以前的同事老徐在樓下的咖啡廳,遞給我一個移動硬盤。
“小陳,你師傅當年的事,我一直沒敢說。”老徐的手在發抖,“蘇震霆是你師傅當年招進公司的,你師傅信任他,把項目核心都給他看過。但他用你師傅的方案,換了自己的位置。那次獲獎之后,蘇震霆從部門經理直接升了副總裁。蘇曼——她當時是你師傅的副手,所有資料都要經過她的手。”
老徐說到這里,狠狠吸了一口煙。
“我不說是為了保住工作。但我要退休了。這些東西,你拿著。”
我接過了那個硬盤。
里面存著2019年智能安全管理系統的所有原始文件、郵件往來、會議記錄。
還有一段蘇曼在某個深夜,用內部系統修改項目申報材料的操作日志。
“所以,”蘇曼的聲音把我拉回現實,“你從一開始加入星云項目組,就已經——”
“已經有準備。”我點頭,“星云項目的核心架構,我用的就是師傅當年的思路。我故意沒改他的那套安全驗證邏輯,故意保留了那些識別標記。我在等。”
“等什么?”
“等你發現。”我說,“我等你看到方案里的代碼風格的時候,反應過來這套架構出自誰手。然后看你怎么辦。”
蘇曼閉上眼睛。
她這個動作持續了很長時間,長到我以為她不會再開口。
然后她說了一句話,聲音很輕,但每一個字都像石頭砸進水里:
“陳默,你知道陳遠山當年最信任的人是誰嗎?”
“是我。”
她睜開眼睛,眼眶是紅的。
“而我最對不起的人,也是他。”
辦公室外,陸晨和小周他們還在圍著電腦修方案。日光燈管的電流聲比昨天更大了,嗡鳴聲像某種低沉的背景音樂。
蘇曼從辦公桌最下面那個上鎖的抽屜里,拿出了一個牛皮紙信封。
信封上,手寫著三個字:陳遠山。
“你以為我愿意這么做?”她的聲音開始發顫,“你以為我不知道這是錯的?”
她撕開了信封。
里面的東西“嘩啦”一聲全都倒在了桌上——
十幾張手寫的信紙,一封封,都是陳遠山當年寫給蘇曼的工作記錄和技術探討。紙張的邊角已經泛黃,但折痕清晰,看得出曾被反復折疊、打開、再折疊。
“這些信,”她抽出了其中一張,“他給我的時候,跟我說:‘曼姐,等咱們拿了大獎,這些手稿就是最好的紀念。’”
她的尾音破了。
“可那個大獎,最后被我爸拿走了。”
我爸。
她說的是——我爸。
04
蘇震霆是蘇曼的父親。
這件事,星輝科技上上下下幾乎沒有人知道。蘇曼入職的時候用的是母姓,后來恢復本姓,也沒有人把技術部一個部門經理,和四年前才空降到公司的副總裁聯系在一起。
“我媽在我六歲那年跟他離婚了。他每年給我打一次生活費,從不見我。我讀大學的時候申請公司的實習崗位,面試我的HR不知道他是我爸。后來他空降到星輝科技,也沒認我。直到——”
“直到陳遠山那個項目。”
“對。”蘇曼的聲音越來越低,“那個大獎的評選,公司很重視。我爸當時剛空降過來,需要一個能拿得出手的業績。他找到我,讓我把陳遠山的申報材料給他看。”
“你給了。”
“我給了。”她重復了一遍,像在確認,“我給了。因為我當時以為他只是想了解項目情況。但我沒想到,他繞過我,直接讓品牌部改了申報材料,把陳遠山的名字換成了他的,然后讓法務部逼著陳遠山簽了一份‘技術成果歸屬協議’。”
“什么協議?”
“內容很簡單,”蘇曼的嘴角扯出一個苦澀的弧度,“如果你師傅同意將系統架構的技術成果歸屬于公司,公司可以給他一筆‘特殊貢獻獎’——一個月的工資。如果他不簽,就以‘泄露商業機密’為由起訴他。”
我愣住了。
“那份協議,”蘇曼繼續說,“是我拿著去找他簽的。”
她的眼淚終于下來了。
不是嚎啕大哭,只是悄無聲息地往下淌。她用手背擦了一下,但眼淚又涌了出來,索性不再擦了。
“他簽的時候,看著我,說了四個字:‘曼姐,沒事。’”
她說這四個字的時候,聲音碎得不成樣子。
“他明明是被我害的,他卻跟我說‘沒事’。”蘇曼雙手捂住臉,“那天之后他就辭職了。我不敢送他,我甚至不敢給他發一條信息。因為我覺得自己不配。”
辦公室里的空氣變得沉重。
窗外開始下雨了,雨點打在玻璃上,啪嗒啪嗒地響。
“那后來呢?”我問。
“后來我把所有他的工作記錄和信都留下了。”蘇曼松開手,眼眶紅得厲害,“我鎖在這個抽屜里,誰都不讓碰。我告訴自己,總有一天我要把這些東西還給他。但——”她頓住,說不下去了。
但陳遠山死了。
他沒能等到這一天。
“所以你在星云項目里發現陳遠山的代碼痕跡時,”我的聲音很平靜,“你是什么感覺?”
蘇曼沉默了很久。
“像被一把刀捅了。”她說,“但不是你捅的。是我自己這三年的愧疚,在看到那些代碼的時候,全都翻了上來。我知道,你是他的徒弟。我猜到了你手里可能有什么。但我什么都沒做。”
“你不是什么都沒做。”我說,“你扣了我的項目獎。”
蘇曼愣了一下,然后緩緩點頭。
“對。我扣了你的獎金。因為我不敢面對你。我不敢面對一個被我用同樣方式對待過的人——我欠了陳遠山的,現在又在你的項目里指手畫腳。我覺得,只要把你推開,把你趕走,我就不用天天看到你,不用天天想起陳遠山。”
她抬起頭,看向我。
“陳默,我是一個懦弱的人。”她說,“三年前我沒能保護你師傅,三年后我還在用同樣的方式傷害你。”
她停頓了一拍,然后說了一句讓我意外的話。
“你刪掉的那些證據文件——里面有我爸簽字的那份協議。你是不是準備舉報?”
“是。”
“那你應該舉報。”她說,“你應該舉報。不是為了我,是為了陳遠山。”
我看著她的眼睛。
那雙眼睛此刻沒有任何閃躲,沒有任何算計。她直視著我,像一個已經站在懸崖邊上、決定往下跳的人,表情反而變得輕松了。
“我爸的這個位置、我的這個位置,都是偷你師傅的東西換來的。現在該還了。”
她說完這句話,辦公桌上的座機突然響了。
來電顯示:蘇震霆。
蘇曼看了一眼號碼,沒有接。
電話響了八聲,斷掉。然后她的手機又響了,還是蘇震霆。她按掉了。
“他知道我昨晚連夜改方案的事,估計是打電話來問進度。”蘇曼說這句話的時候,語氣里帶著一種奇異的冷淡,“他從來不關心技術,他只關心明天的客戶會議能不能交代過去。”
她又看了我一眼。
“陳默,我給你二十四小時。你想做什么,就去做。”
她站起身,走向窗邊,背對著我。
她身后的玻璃墻上,雨痕一道一道地蜿蜒而下,模糊了外面的城市輪廓。
我站起身,走向辦公室門口。手搭上門把的時候,我停了一下。
“蘇總。”
“嗯?”
“師傅當年的那些信,能給我一份復印件嗎?”
她轉過身,眼神里有一瞬的訝異,然后是某種我看不懂的情緒波動。
“可以。”她說,“你想要哪一封?”
“所有。”
她點了點頭。
我拉開了門。
走廊里,陸晨和小周他們還在圍在電腦前。看到我出來,陸晨快步走過來:“陳哥,方案的事——”
“方案的事我等會兒處理。”我把手里那個黑色雙肩包搭上肩膀,“先給我半小時。”
陸晨欲言又止地看了我一眼,最后還是點了點頭。
我走向茶水間。
推開門,關上門,把背包扔在椅子上。
然后掏出手機,打開通訊錄,找到一個很久以前存下但從未撥打過的號碼。
行業創新大獎評委會,舉報受理中心。
窗外,雨越下越大。
05
茶水間的咖啡機發出咕嚕咕嚕的加熱聲。
我盯著手機屏幕上那個號碼,拇指懸在撥號鍵上。
評委會的舉報受理流程我知道——需要實名舉報,需要提供詳細的證據材料,需要簽署法律責任的承諾書。一旦受理,評委會會在十五個工作日內啟動調查程序。如果查實,會撤銷當年的獲獎資格,并將結果通報給獲獎方所在的行業協會。
蘇震霆會身敗名裂。
蘇曼作為當時的經辦人,也會被牽連。即使她愿意做污點證人,管理層瀆職和協助偽造申報材料的責任也跑不掉。
我放下手機,從背包夾層里掏出一個牛皮紙信封。
里面裝的是蘇曼給我的那份“技術成果歸屬協議”的復印件。紙頁邊緣泛黃,但油印的字體依然清晰——第2.3條:“乙方(陳遠山)確認,其在星輝科技任職期間完成的一切技術成果,所有權均歸屬于甲方(星輝科技),乙方不得以任何形式主張權利。”
下面,是陳遠山的簽名。
他的字很好認,方方正正的楷體,一筆一劃,每個字都像刻上去的。簽名的位置,紙面上有一小塊圓形的褶皺——那是水滴干涸后留下的痕跡。
我在想,他簽的時候,是不是哭過。
蘇曼說,他當時說了四個字:“曼姐,沒事。”
他是一個不習慣表達憤怒的人。
但他一定很痛吧。
被自己最信任的副手遞過來一份“自愿放棄成果”的協議,被那個自己一手帶進項目的兄弟偷走答卷,被那家常說自己“做技術做到骨子里”的公司一腳踢開。
他最后那段日子,把自己關在深圳的出租屋里,對著空氣說話,對母親說“我想不明白”。
他確實想不明白。
因為他這輩子,從來沒做過任何對不起別人的事。
我把協議收回信封里,重新放回背包夾層。
然后站起身,接了一杯咖啡。
咖啡機的蒸汽噴在臉上,有短暫的熱度。我看著窗外越下越大的雨,忽然想起陳遠山還在公司時,有一次下雨天他忘了帶傘,我撐著傘送他到地鐵站。路上他忽然停下來,指著路邊一棵歪脖子梧桐樹說:“小陳你看,那棵樹被風刮歪了,但它還在長。樹干歪了不要緊,只要根還扎在土里,就能接著往上長。”
他當時根本不知道自己即將被推向懸崖。
但他說的那個道理,我記到現在。
茶水間的門突然被推開。陸晨探進半個身子,臉色很急:“陳哥,客戶那邊提前了,說八點半就要上線看系統。蘇總剛才接完電話直接沖到技術部,說——”
“說什么?”
“說讓你來主持修復。她說她不再插手方案的事了。”
我端著咖啡站了一會兒。
然后拿起手機,關掉了評委會舉報電話的撥號頁面。
不是不舉報了。
但有些事,在舉報之前,我得先做完。
我推開茶水間的門,走回技術部。
十幾雙眼睛全都看向我。
蘇曼站在陸晨的工位旁邊,她的西裝已經脫了,襯衫袖子挽到手肘,頭發也亂了幾縷。她從昨晚熬到現在,眼妝花了也沒補,和平日那個滴水不漏的總監判若兩人。
她看到我走過來,往后退了一步。不是退讓,更像是在為我讓出一條路。
“陳默。”她說,“系統的事,你來接手。”
我點點頭,在陸晨的工位上坐下。
屏幕上還是那個被改崩的安全驗證模塊代碼。我快速滾動了一遍,又調出系統操作日志——凌晨兩點十七分到三點四十八分,蘇曼的權限賬號對系統底層邏輯進行了十四次修改。每一次修改都在試圖“化簡代碼”,但每一次化簡都刪掉了一段她看不懂的核心算法。
“她刪的是師傅當年寫的安全驗證算子的調用接口。”我指著屏幕對陸晨說,“這套算法的封裝結構和其他代碼不一樣,表面上看是冗余步驟,實際上每一個步驟都是多層驗證的觸發條件。刪掉一個,整個驗證鏈就斷了。”
陸晨聽完,眼睛瞪得溜圓:“那你現在——”
“重寫調用接口。給我四十分鐘。”
我打開了自己的私人代碼庫——一個云端的加密文件夾,輸入密碼的時候,十指像彈鋼琴一樣流暢。這套密碼我用了三年,閉著眼睛都能敲對。
文件夾里,是陳遠山寫的原始版本的安全驗證模塊。
2019年3月12日版本、5月7日版本、7月23日凌晨三點十一分修復版。每一個版本都有他手寫的注釋,每一個變量命名的方式都帶著他特有的小習慣——變量首字母一定是大寫,函數名一定用下劃線分割,錯誤提示語句最后一定要加一個“請檢查”。
師傅說:“技術是給人用的,報錯信息要讓人看得懂,而不是讓人更慌。”
他就是這樣的一個人。
我打開了7月23日那個版本。
屏幕上的代碼一行行展開,像是一段被封印了三年的記憶重新被點亮。窗外暴雨如注,鍵盤的敲擊聲和雨聲混在一起,在安靜的技術部里格外清晰。
陸晨捧著筆記本站在我旁邊記錄,小周在一旁準備測試環境,其他同事也各自回到工位,開始同步修復各模塊的依賴關系。
蘇曼一直站在我身后兩米的位置,沒有說話,也沒有走。
我寫了二十五分鐘代碼,調了十分鐘的參數,用五分鐘跑了第一輪測試——全部通過。
“陸晨,接測試環境。”
屏幕上,系統狀態燈從紅變黃,再變綠。
技術部里響起了如釋重負的嘆氣聲,有人鼓掌,有人直接癱在了椅子上。
我揉了揉發酸的手腕,轉頭看向蘇曼。
她的眼眶又紅了,但她沒說謝謝——也許她覺得,她沒資格說這兩個字。
“八點半的客戶對接會議,”我說,“我來主導。你旁聽就行。”
蘇曼張了張嘴,最后只說了一個字:“好。”
墻上的時鐘指向八點十分。
我端起已經涼掉的咖啡,喝了一口,然后靠在椅背上,閉上了十秒鐘的眼睛。
這十秒里,我腦子里閃過的是陳遠山說過的那句話,他說:一個人的本事學在自己手里,比任何關系都硬。
所以今天,我用他留下的本事,修好了他被偷走的系統。
但欠他的東西,還沒還完。
我睜開眼睛,重新拿起手機。
評委會的舉報電話,我最終還是撥了出去。
嘟嘟聲響了四聲。
“您好,這里是中國智能系統創新大獎評委會舉報受理中心。請問有什么可以幫助您的?”
我的聲音很穩:“我要實名舉報。2019年度智能系統創新金獎項目——星輝科技的‘智能安全管理系統’,存在成果竊取和材料造假行為。我有完整證據,可以提供。”
電話那頭停頓了兩秒。
“好的,先生,我現在為您登記。請問您的姓名是——”
“陳默。”
“被舉報方是?”
“星輝科技副總裁蘇震霆、技術部總監蘇曼。前者主導竊取,后者協助偽造材料。”
我報出這兩個名字的時候,身后的蘇曼沒有任何動靜。
她沒有辯解,沒有阻攔,甚至沒有出聲。
她只是站在那里,像一個終于等到了審判的人。
掛斷電話后,我收到了評委會發來的投訴受理回執和證據提交的郵箱地址。
我把手機放在桌上,屏幕朝上。
陸晨悄悄地看了一眼我的手機屏幕,又看了我一眼,然后什么都沒問。
八點二十分,客戶方代表撥入了視頻會議。
系統展示、安全驗證、數據跑通。一切順利。
會議結束時,對方負責人在屏幕那頭豎起了大拇指:“星輝科技果然靠譜。陳經理,方案架構很棒,期待后續合作。”
我說了聲謝謝,然后關掉了視頻。
技術部里所有人都開始收拾東西,有人嚷嚷著要下樓吃早飯,有人說要先回去睡一覺。
蘇曼走向她的辦公室,走到一半,停下腳步,回過頭。
“陳默。”
“嗯。”
“你剛才舉報的時候,把我的名字也報上去了。”
“對。”
她看著我,嘴唇動了動,最終說:“謝謝。”
“為什么要謝我?”
“因為如果你不報我的名字,”她的聲音很輕,“我這輩子都沒辦法從這件事里走出來了。”
她轉身走進辦公室,關上了門。
窗外的雨,不知道什么時候停了。
我背上包,走出技術部。
按電梯的時候,發現手指有點發抖。
不是因為累,而是因為——三年來一直壓在心里的那塊石頭,終于落下了,變成了一聲響。