郵件彈出來的時候,我剛好敲完最后一組測試代碼。
屏幕的光映著我熬紅的眼。
那封來自人事部的通知,標題簡短得刺眼。
點開,附件是一份表格。
我的名字,孤零零地懸在榜首。
后面跟著的“優(yōu)化”二字,冰冷又模糊。
沈經(jīng)理坐在我對面,指尖無意識地摩挲著茶杯沿。
她沒多說什么,只是把一份需要簽字的文件推過來。
我花了三分鐘,清空抽屜,移交權限。
走出技術部玻璃門時,身后一片死寂。
電梯下行,數(shù)字跳動。
大廳旋轉門外的陽光有些晃眼。
我剛邁出去,一個身影匆匆追來,攔在我面前。
是宋婧琪。
她氣息微促,看了看四周,壓低聲音快速說道。
話里的內容,讓我握住文件袋的手,緊了緊。
然后,我笑了。
舉起那個薄薄的紙袋。
她的目光落在袋口露出的紅色公章上,愣住了。
![]()
01
加班到深夜,整層樓只剩下我這一盞燈。
服務器運行的嗡鳴是唯一的背景音。
屏幕上滾動的日志像是流淌的河,我試圖從里面撈出那個導致間歇性宕機的鬼影。
這項目跟了快半年,核心模塊是我一手搭起來的。
最近一周,它像生了病,總在深夜抽搐幾下。
我必須趕在正式上線前把它摁住。
走廊傳來極輕的腳步聲,由遠及近,又在不遠處停下。
大概是巡邏的保安。
我沒抬頭,手指在鍵盤上敲得飛快。
排查到第三個可疑服務時,內網(wǎng)通訊軟件跳動起來。
是部門的老趙。
“光赫,還沒走?”
“嗯,有點問題要處理。”
“別太拼了,有些事……急不來。”他頓了頓,敲過來一句,“最近,多留點心。”
光標在那句話后面閃爍。
我回了句“明白”,對話便沉寂下去。
老趙是部門里的老人,話不多,但從不無的放矢。
我靠在椅背上,揉了揉發(fā)澀的眼角。
留什么心?
這念頭只是一閃而過。
代碼邏輯、性能瓶頸、該死的隱晦Bug,這些已經(jīng)占滿了我的腦子。
人際關系、辦公室風向,對我來說,比解決這個分布式系統(tǒng)的數(shù)據(jù)一致性難題還要費解。
窗外,城市的光污染讓夜空呈現(xiàn)一種渾濁的暗紅色。
我起身去茶水間沖了杯速溶咖啡,味道苦澀。
端著杯子往回走,路過市場部那片區(qū)域。
幾張辦公桌上還凌亂堆著文件,其中一張桌子格外干凈,只擺著一盆綠蘿和一個小相框。
相框里是肖凱安和宋婧琪的合影,背景像是某個海外名校的草坪,兩人笑得燦爛。
肖凱安是市場部總監(jiān),公司里的紅人。
宋婧琪,據(jù)說是新來的市場專員,低調,漂亮,但總給人一種距離感。
關于她是董事長女兒的傳聞,私下里飄了很久,沒人證實,也沒人否認。
我收回目光,不關我的事。
坐回位子,咖啡的暖意短暫地驅散了疲憊。
我重新扎進代碼的迷宮。
問題最終定位在一個第三方中間件的版本兼容性上,很隱蔽,但找到了根源就好辦。
當我寫下修復方案的最后一筆注釋時,天邊已經(jīng)泛起了魚肚白。
關掉電腦,站起身,骨頭縫里都透著酸。
走過空曠的辦公區(qū),感應燈隨著我的腳步次第亮起,又在我身后熄滅。
電梯鏡子里的男人,頭發(fā)亂,臉色差,眼睛里布滿血絲。
可我腦子里很清明,甚至有點攻克難題后的輕松。
那時我還不知道,有些看似無關的腳步聲,有些語焉不詳?shù)奶嵝眩€有那盆在別人桌上過分翠綠的植物,都是伏筆。
生活這張網(wǎng),正在我視線之外,悄悄收緊。
02
上午的部門例會,氣氛比往常沉。
經(jīng)理照例講了講項目進度,話不多。
然后,副總程杰來了。
他四十多歲,頭發(fā)梳得一絲不茍,深色西裝挺括,臉上總掛著恰到好處的笑,可眼神很少真正帶溫度。
他在主位坐下,目光緩緩掃過一圈。
“最近公司整體戰(zhàn)略在調整,有些部門和個人的思路,也得跟著變一變。”
他聲音不高,語速平穩(wěn)。
“技術很重要,但不能只盯著自己那一畝三分地,鉆牛角尖。”
“公司是個整體,講究協(xié)同,講究大局觀。”
“有些人,技術能力或許有,但缺乏商業(yè)敏感,不懂配合,甚至,”他停頓了一下,端起茶杯抿了一口,“成為內部協(xié)作的阻力。”
他沒有點名。
但他的目光,像無意間掃過的探照燈,在我臉上停留了那么零點幾秒。
又移開了。
我坐在靠邊的位置,背脊下意識挺直了些。
手里轉著一支筆,筆帽磕在桌面上,發(fā)出極輕的嗒的一聲。
我知道他說的是之前市場部要的一個用戶數(shù)據(jù)畫像模型。
他們要得非常急,口徑一變再變,底層數(shù)據(jù)卻給得殘缺不全。
我按他們的要求趕出了初版,卻在評審會上被肖凱安指出“缺乏業(yè)務洞察,無法直接應用”。
我當時解釋了幾句,關于數(shù)據(jù)質量和模型邊界的問題。
肖凱安笑著打斷我,說:“陳工,技術要為業(yè)務服務,不能總拿技術困難當擋箭牌。”
程杰當時也在場,沒說話,只是微微點了點頭。
現(xiàn)在想來,那大概就是“不懂大局”的注腳。
“接下來一段時間,各部門都要做好‘優(yōu)化’準備,向核心業(yè)務聚焦,淘汰低效、不合拍的環(huán)節(jié)。”
程杰放下茶杯,瓷器與木質桌面接觸,清脆一響。
“大家要有心理準備,也要有正確認識。這,是為了公司更好的未來。”
會議在一種微妙的壓抑中結束。
同事們陸續(xù)起身,收拾筆記本,低聲交談著往外走。
沒有人討論程杰的話,但空氣里飄著一種心照不宣的凝重。
老趙走過我身邊,拍了拍我的肩膀,動作很輕,沒說話。
我落在最后,看著窗外明晃晃的陽光,有些出神。
手里的筆,不知什么時候,停下了轉動。
![]()
03
午飯時間,我通常去離公司兩條街外的一家小面館。
那里嘈雜,煙火氣足,能讓人暫時從代碼和需求里抽離出來。
今天去得晚了些,面館里人不多。
我剛找到角落的位置坐下,旁邊半開放的卡座里,傳來壓低的談話聲。
是采購部的小李和行政部的誰,聲音聽著耳熟。
“名單你看到了?”
“哪輪得到我看?沈薇那兒鎖著呢。不過,聽說技術那邊……動靜不小。”
“嘖,難怪。上次開會,程總那話,明顯就是敲打。”
“誰說不是呢。市場部現(xiàn)在勢頭多猛,肖總監(jiān)又是……那位眼前的紅人。技術部那邊,老跟不上節(jié)奏,出點事不奇怪。”
筷子碰碗的聲音。
“我聽說,不只是節(jié)奏問題。好像……是站隊?”
“噓——小聲點!這種事心里有數(shù)就行。反正,這輪‘優(yōu)化’,肯定先從‘不核心’又‘不合拍’的地方開始。”
他們的聲音更低了,混在面館老板下面、撈面的嘩嘩水聲里,聽不真切。
我低頭看著面前那碗剛端上來的牛肉面。
熱氣蒸騰上來,模糊了眼鏡片。
我摘下眼鏡,用衣角擦了擦。
牛肉燉得酥爛,面條粗細均勻,湯頭上浮著翠綠的蔥花和香菜。
往常覺得噴香的味道,今天聞著,卻有些滯重。
我慢慢吃著,腦子里回放著晨會上程杰的話,老趙的提醒,還有剛才聽到的只言片語。
“優(yōu)化”、“不合拍”、“站隊”……
這些詞像碎片,暫時拼不出完整的圖景,但一種隱約的不安,像面湯底沉淀的油脂,慢慢浮了上來。
技術上的難題,我總有辦法拆解。
可這種彌漫在空氣里、粘稠又無形的東西,讓我無從下手。
吃完飯,我沿著街道慢慢往回走。
春末的風暖洋洋的,吹在臉上很舒服。
路邊行道樹冒出了嫩綠的新芽,生機勃勃。
可我心里那點不安的陰翳,卻沒能被這風和日麗驅散。
手機震動了一下,是項目經(jīng)理發(fā)來的消息。
“光赫,下午跟市場部有個會,關于你們之前那個數(shù)據(jù)模型迭代的,肖總監(jiān)親自參加。準備一下。”
我看著那條信息,停下了腳步。
陽光把我的影子縮成一團,踩在腳下。
04
小會議室里,空調開得有點低。
我?guī)е薷暮蟮姆桨负蜏y試數(shù)據(jù)過來,肖凱安已經(jīng)在了。
他坐在長桌對面,襯衫袖子挽到手肘,露出手腕上一塊價格不菲的表。
正低頭看著手機,嘴角噙著一絲笑。
聽到動靜,他抬起頭,笑容變得職業(yè)化。
“陳工,來了?坐。”
他示意我坐下,自己卻仍靠著椅背,姿態(tài)放松。
“關于那個用戶模型,我們市場部內部又討論了幾次。”
他開門見山,語速輕快。
“方向需要調整。之前要的標簽維度,過于技術化了,不夠直接導向銷售動作。我們需要更聚焦,更銳利,能立刻放進促銷方案里的東西。”
我打開筆記本,調出文檔。
“肖總監(jiān),模型是基于現(xiàn)有數(shù)據(jù)結構和業(yè)務邏輯設計的。如果要大改方向,底層數(shù)據(jù)抓取、清洗流程、甚至部分數(shù)據(jù)源協(xié)議,可能都需要調整。這不僅僅是算法層面的修改。”
“我知道有難度。”肖凱安擺擺手,笑容不變,“但業(yè)務需求瞬息萬變,技術部門不能總說‘不能’,得想想‘怎么能’。程總也強調了,要有大局觀,要服務于公司的業(yè)務增長。”
他提到程杰,語氣自然。
我放在鍵盤上的手指,微微收攏。
“我理解業(yè)務需求的變化。但任何調整都需要評估成本和周期。目前的模型框架,是經(jīng)過多次評審確定的。突然轉向,之前投入的資源,還有后續(xù)的維護……”
“陳工。”肖凱安打斷我,身體略微前傾,雙手交握放在桌上。
他的笑容淡了些,眼神里多了點別的東西。
“公司的資源,要投在能最快產(chǎn)生價值的地方。有時候,必要的舍棄,是為了更好地前進。你說對嗎?”
會議室里安靜了幾秒。
空調的冷風無聲地吹著,我手臂上起了一層細密的疙瘩。
他看著我的眼睛,似乎在等我回答。
又或者,并不真的需要我的回答。
“我明白了。”我聽見自己的聲音說,平靜得有些陌生,“需要新的需求文檔,以及評估數(shù)據(jù)支持的可行性。”
“需求文檔會后發(fā)你。”肖凱安靠回椅背,臉上重新浮起那種輕快的笑,“我就知道,陳工是能溝通的。技術上的事,你多費心。”
會議草草結束。
走出會議室時,迎面碰上宋婧琪。
她抱著一疊文件,似乎正要找肖凱安。
看到我,她腳步頓了一下,目光在我臉上停留了一瞬。
那眼神很靜,像深潭的水,看不出情緒。
她微微頷首,算是打過招呼,便與我擦肩而過。
我聞到一縷極淡的、清冷的香水味。
回到工位,項目經(jīng)理的消息跟著來了:“怎么樣?”
我盯著屏幕,慢慢敲字回復:“需求變更,方向調整。等他們發(fā)新文檔。”
那邊輸入了一會兒,發(fā)來一個嘆息的表情。
“按他們說的做吧。抓緊。”
我關掉對話框,靠在椅子上。
窗外,下午的陽光正烈,把玻璃幕墻照得明晃晃一片,有些刺眼。
那個尚未發(fā)布的、據(jù)說是“鎖在沈薇那里”的名單,像一根無形的刺,悄悄扎進了現(xiàn)實的皮肉里。
隱隱的,開始發(fā)疼。
![]()
05
沈薇約我談話的時間,是下午臨下班前。
消息直接發(fā)到內部通訊軟件,言簡意賅:“陳光赫,請現(xiàn)在來人事部306室一趟。”
沒有多余的字眼。
我關掉正在編寫的代碼注釋,保存。
起身時,對面的同事抬頭看了我一眼,眼神里有些復雜的東西,很快又低下頭去。
走過辦公區(qū),感覺不少目光似有若無地落在我背上。
無聲,卻沉重。
306室是人事部一個小洽談間。
我敲門進去,沈薇已經(jīng)坐在里面了。
她面前擺著一個打開的文件夾,手邊放著一杯冒著微弱熱氣的白水。
“陳光赫,請坐。”她抬了下手,示意我對面的椅子。
我坐下,房間不大,空調溫度適中,但我手心有點涼。
沈薇四十出頭,保養(yǎng)得體,臉上妝容精致,表情卻像戴著一層薄薄的面具,很少有大的波動。
此刻,她臉上就掛著那種標準的、略帶疏離的職業(yè)表情。
“今天請你來,是關于公司近期人員結構優(yōu)化的事。”她開口,聲音平穩(wěn),公事公辦。
她將文件夾轉了個方向,推到我面前。
“這是初步擬定的名單,需要你知悉并確認。”
我的目光落在打開的頁面上。
那是一份表格,標題是“第一階段優(yōu)化名單”。
列頭有工號、姓名、部門、崗位、優(yōu)化原因。
我的視線,幾乎是瞬間,就被第一行抓住了。
工號是我的。
姓名:陳光赫。
部門:技術研發(fā)中心。
崗位:高級工程師。
優(yōu)化原因欄里,寫著:“項目調整,崗位冗余。”
黑色宋體字,清晰,冰冷,不容置疑。
像一根冰冷的針,猛地刺進眼球。
血液似乎嗡地一下沖上頭頂,又在瞬間褪去,留下一種空蕩蕩的涼。
耳朵里有些鳴響,沈薇后面的話變得有些模糊,像是隔著水傳來。
“……公司感謝你過往的貢獻……會根據(jù)勞動法規(guī)定給予補償……手續(xù)會盡快辦理……”
我盯著那份名單,盯著那個位于首位的、自己的名字。
手指無意識地蜷縮起來,指甲抵著掌心,傳來細微的刺痛。
程杰的敲打,肖凱安看似客氣實則步步緊逼的“溝通”,那些零碎的閑言,老趙含糊的提醒……
所有的碎片,在這一刻,“咔噠”一聲,嚴絲合縫地拼湊起來。
拼出了一張早有預謀、緩緩落下的網(wǎng)。
而我,就是網(wǎng)中央那只毫無察覺的蟲子。
“陳光赫?”沈薇的聲音把我拉回現(xiàn)實。
她看著我,面具般的臉上,似乎極快地掠過一絲什么。
像是無奈,又像是別的,太快了,抓不住。
“你……有什么疑問嗎?”她問,語氣公式化。
疑問?
我張了張嘴,喉嚨有些干澀。
能有什么疑問呢?名單在這里,原因在這里。
問為什么是我?問為什么是首位?
那些關于“大局觀”、“不合拍”、“站隊”的潛臺詞,能擺到這張桌面上來討論嗎?
我垂下目光,看著表格下方,那片等著簽字的空白區(qū)域。
紅色的抬頭,黑色的框線。
像一個等待填入答案的、既定的結局。
沉默在小小的洽談室里蔓延。
窗外的光線開始泛黃,是臨近傍晚的色調。
終于,我聽到自己的聲音,干巴巴的,沒什么起伏。
“沒有疑問。”
“補償方案,我看一下。”
06
從人事部出來,手里的文件夾有些沉。
里面裝著協(xié)議、通知,還有幾張需要去各個部門蓋章流轉的單子。
我沒有立刻回技術部。
而是拐進了消防通道,沿著樓梯慢慢往下走了幾層,在某個無人的轉角停下。
窗戶外是城市黃昏前最忙碌的景象,車流像發(fā)光的河。
我靠在冰涼的墻壁上,點燃了一支煙。
平時很少抽,此刻卻需要一點辛辣的氣息壓住胸腔里那股翻騰的、卻無法命名的情緒。
不是憤怒,憤怒需要明確的目標。
不是委屈,委屈需要自憐的余地。
更像是一種巨大的荒謬感,混雜著冰冷的清醒。
一根煙抽完,我把煙蒂摁滅在隨身帶的紙巾里,包好。
重新走上樓梯,回到辦公區(qū)。
部門里比往常安靜,偶爾有敲擊鍵盤的聲音,也顯得小心翼翼。
我走到自己的工位前,開始收拾東西。
個人物品不多:一個用了多年的保溫杯,幾本技術書籍,抽屜里備著的胃藥和眼藥水,還有窗臺上那盆無人照料、半死不活的綠蘿。
我把它們一樣樣放進一個早就閑置的紙箱里。
動作不快,但很穩(wěn)。
有同事抬起頭,欲言又止。
我只是對他們點了點頭,繼續(xù)手里的動作。
清理完私人物品,我坐下來,打開電腦。
登錄內部系統(tǒng),進入權限管理界面。
找到我負責的幾個核心項目代碼庫,將主權限逐一移交給項目經(jīng)理和部門經(jīng)理。
又在團隊協(xié)作文檔里,更新了最新的項目進度、已知問題清單、以及后續(xù)幾個關鍵節(jié)點的技術建議。
這些做完,我看了眼時間。
從我回到工位開始,剛剛過去三分鐘。
我關掉電腦,拔掉電源線。
抱起那個不重的紙箱,站起身。
“光赫……”對面的同事終于忍不住,喊了一聲。
我停下腳步,看向他。
他臉上有不忍,有尷尬,也有兔死狐悲的茫然。
“保重。”他最后只吐出這兩個字。
“謝謝。”我說,“后面的bug清單我更新在文檔里了,麻煩你們跟一下。”
說完,我抱著紙箱,轉身離開。
走過一排排熟悉的工位,穿過那道厚重的玻璃門。
沒有回頭。
電梯從高層降下來,門打開,里面空無一人。
我走進去,按下“1”樓。
金屬門緩緩合攏,映出我模糊的身影,抱著一個寒酸的紙箱,像任何一個最普通的、失意的離職者。
數(shù)字一層層跳動。
下降的失重感,輕微而持續(xù)。
![]()
07
旋轉門將樓內恒溫的、帶著循環(huán)風味道的空氣,與室外傍晚微暖的氣息切割開來。
我抱著紙箱走出來,夕陽的余暉迎面灑了一身。
光線依然有些強,我不適地瞇了下眼。
剛要順著人行道往地鐵站方向走,身后傳來急促的高跟鞋敲擊地面的聲音。
“陳光赫!”
聲音不大,但清晰。
我腳步一頓,回過頭。
宋婧琪從旋轉門里追了出來,氣息有些不穩(wěn),臉頰微微泛紅。
她今天穿了一身淺灰色的職業(yè)套裝,與平時低調的打扮無甚區(qū)別,但此刻追出來的姿態(tài),讓她身上那種疏離感減弱了不少。
她幾步走到我面前,擋住我的去路。
目光先是快速掃過我懷里的紙箱,然后落在我臉上。
眼神里有一種復雜的急切。
“你先別走。”她壓低聲音,同時迅速看了一眼大樓入口方向。
那里人來人往,但似乎沒人特別注意我們這邊。
“有事?”我問。聲音比我想象的平靜。