最后一張交接單簽完,筆尖劃破了紙。
人事小姑娘別開眼,把離職證明推過來。
窗外是熟悉的城市天際線,我在這里看了二十五年。
收拾好的紙箱不重,一個技術員半輩子的痕跡,輕得讓人心慌。
電梯下行時,肖建強的電話追進來。
“明華,等等!”他在那頭喘氣,背景是急促的腳步聲,“直接來我辦公室,那個凌云系統……八千萬的單子,你真能放下?”
我按了一樓。
玻璃門在身后合攏時,他追出來了,頭發有些亂。“老蔡,條件可以談。項目不能沒有你。”
我把紙箱換了只手,騰出的手摸了摸褲兜,車鑰匙冰涼的。“不必了肖董。”
他盯著我。
“下周,”我朝馬路對面新銳科技的大樓抬了抬下巴,“它到那邊,我負責。”
他臉白了。
我沒笑。只是轉身,九月的風灌進襯衫,空蕩蕩的。
![]()
01
會議室的空調太冷。
我捏著那張薄薄的A4紙,“結構性優化名單”幾個加粗黑字有點刺眼。
手指往下移,看到自己名字:蔡明華,技術中心,總監。
后面跟著一串數字,工齡二十五年,補償金按N 1算。
數字不小,但算上房貸,撐不了幾個月。
葉學軍坐在長桌那頭,我的正對面。
他今天穿了深灰色西裝,新打的領帶顏色很跳。講話時,他目光掃過全場,唯獨在我這里停頓了一下,又輕飄飄地移開。
“……為了公司長遠發展,擁抱變化。”他聲音平穩,甚至帶著點沉痛,“有些決定很艱難,但必須做。感謝各位多年的付出。”
我看著他開合的嘴。
想起二十年前,他也是坐在下面,穿著不合身的廉價西裝,記筆記時手指凍得發紅。
我帶他跑第一個項目,在客戶機房熬了三天,最后癱在走廊吃盒飯。
他噎著了,我把自己那瓶水遞過去。
他嗆出眼淚,說師傅,這行真苦。
我說嗯,但東西做出來,值。
現在他稱我“蔡總監”。
散會了。人潮往外涌,低聲交談像蜂群嗡鳴。有人拍我肩膀,是測試部的老張,嘴動了動,最后只嘆了口氣,走了。
我坐著沒動。
葉學軍收拾好講稿,走過來。“師傅。”他又叫了一聲,這次很輕。
我抬頭。
“晚上……一起吃個飯?”他臉上有種復雜的東西,像愧疚,又像解脫,“有些事,想跟您聊聊。”
“聊什么?”我把名單折起來,放進襯衫口袋,“聊怎么優化我?”
他哽住了。
“不用了。”我站起來,腿有點麻,“手續怎么走?我下午就辦。”
走出會議室時,聽見他在后面說:“補償金財務會優先處理,您放心。”
我沒回頭。
放心?
我四十九了,老婆陳雅琳上個月剛從原來的會計事務所被“優化”出來,現在每天關在書房里刷題備考,一碰就炸。
兒子蔡曉峰大四,考研差三分,簡歷海投出去,回音寥寥。
每月一號,銀行準時扣走一萬二的房貸。
車貸剛還清,可車子也老了,發動機聲音像哮喘。
我拿什么放心?
走廊墻上貼著新標語:“顛覆自我,涅槃重生”。紅底白字,鮮艷得滑稽。
回到工位,幾個年輕下屬圍過來,眼神躲閃。
小趙,我帶了四年的徒弟,眼睛紅了。
“蔡總,這……太突然了。凌云系統下個月就要交付測試了,架構那邊……”
“葉總會安排。”我打斷他,開始收拾抽屜。
東西不多。
幾本厚重的技術手冊,邊緣磨得發白。
一個用了十年的保溫杯,杯身磕掉了幾處漆。
幾張合影:部門團建,技術峰會,還有一張是和肖建強在公司上市那天的合照,照片里我們都笑著,頭發都比現在多。
我把合影扣過來,沒放進紙箱。
抽屜最底層有個硬皮筆記本。
翻開,里面是凌云系統最早期的架構草圖,鉛筆畫的,線條已經模糊。
旁邊密密麻麻記著問題和思路,有些打了問號,有些打了勾。
最后幾頁,是近半年私下研究的替代方案雛形——我總覺得公司現在用的架構太激進,隱患很大,提過幾次,葉學軍說我想多了,要擁抱新技術。
我把筆記本塞進電腦包內側夾層。
紙箱很快滿了。
抱著它去電梯時,路過葉學軍的辦公室。
玻璃墻里,他正在打電話,背對著門,手勢很大,似乎在解釋什么。
窗戶反射出他的半張臉,眉頭皺著,但嘴角是上揚的。
電梯門關上,鏡面里映出我的臉。
疲憊,眼袋很重,鬢角白頭發比上周又多了幾根。襯衫領子有點松了,陳雅琳最近心神不寧,熨衣服老是走神。
數字一層層往下跳。
我想起昨晚回家,她在書房里對著電腦屏幕掉眼淚。
我推門進去,她立刻擦了臉,聲音硬邦邦的:“飯在鍋里。”我問她今天考得怎么樣,她沉默了很久,說:“蔡明華,我四十六了,跟一群二十出頭的人搶一個初級崗位。”說完就把門關上了。
那聲悶響,現在還在我腦子里。
電梯到達一樓,“叮”一聲,很清脆。
我抱緊紙箱,走出去。前臺的姑娘看了我一眼,迅速低下頭。陽光從旋轉門照進來,明晃晃一片。
手機震了。
是老同學曾鵬飛,新銳科技的老板。上周他約我喝茶,被我婉拒了。這次,我盯著屏幕上跳動的名字,拇指懸在接聽鍵上。
紙箱有點沉,我換了只手。
然后按下了綠色鍵。
02
曾鵬飛約在離公司兩條街的咖啡館。
我先把紙箱扔進后備箱。車子發動時,儀表盤跳出保養提示,逾期三十天了。沒管它。
咖啡館很安靜,下午人少。
曾鵬飛坐在靠窗角落,朝我招手。
他比我胖了些,但精神頭足,穿著Polo衫,手腕上那塊表我認得,上次拍賣會圖冊上見過。
“明華,這兒。”他聲音洪亮,引得旁邊一桌人側目。
我坐下,服務生過來。點了美式,曾鵬飛要了壺普洱。
“聽說了。”他開門見山,給我倒茶,“老肖這次不地道。葉學軍那小子,翅膀硬了就啄眼珠子。”
我沒接話,看著茶杯里旋轉的葉片。
“我也就不繞彎子了。”他身體前傾,壓低聲音,“新銳科技的情況,你知道。B輪,錢差不多了,就差個能鎮場子的大項目,還有扛旗的人。凌云系統,我們盯了很久。你,我請了不止一次。”
“我以前不能走。”我說。
“現在能了。”他靠回椅背,“條件我上次說了,技術合伙人,basesalary(基本工資)比你現在低百分之二十,但有干股,項目獎另算。凌云系統如果能拿下來,落地,你那份不會少。”
“比現在低?”
“明華,你四十九了。”他語氣軟下來,但話硬,“市場上這個年紀,除非是CTO級別空降,否則就是往下走。我給的是合伙人,看中的是你的技術、你對凌云系統的理解,還有……”他頓了頓,“你跟客戶那邊的關系。”
我懂。我就是那把鑰匙。
“薪資低是暫時的。”他補充,“只要項目成,后續融資進來,一切好談。但前提是,項目得成。而且得快,投資方等著看。”
“對賭。”
“可以這么理解。”他坦然,“商業就這樣。我以前找你,是錦上添花。現在,算是雪中送炭吧。但炭也不是白送的。”
美式上來了,我喝了一口,苦得皺眉。
“你需要我做什么?”我問。
“三件事。”他伸出三根手指,“第一,我需要一份能讓投資方和客戶信服的、關于凌云系統的完整技術評估與可行性方案,特別是現有架構的風險分析。要快,一周內。”
“第二,我需要你判斷,如果我們介入,最快多久能拿出一個可演示的、比原方案更可靠的替代品?哪怕是雛形。”
“第三,”他看著我,“如果可能,我需要你影響客戶那邊的技術決策人。不用做任何違規的事,只是……讓他們愿意給我們一個公平競爭,或者緊急接盤的機會。”
窗外有救護車拉著笛過去,聲音尖銳。
我腦子里閃過凌云系統那些復雜的模塊圖,閃過葉學軍團隊正在使用的、我認為有根本缺陷的分布式架構,閃過客戶技術總負責人老吳那張嚴肅的臉——去年行業年會,我們喝過一次酒,他抱怨過現有供應商“總想用最潮的技術忽悠人,基礎都不扎實”。
“方案,我有一些現成的思路。”我慢慢說,“但需要完善。時間……太緊。”
“你有選擇嗎,明華?”曾鵬飛問得很直接。
我沒有。
房貸、陳雅琳的沉默、兒子簡歷上“父親職業”那一欄可能即將變成“待業”、銀行賬戶里不斷減少的數字……它們像一圈冰冷的柵欄,把我圍在中間。
“項目獎金,怎么算?”我問了個很俗的問題。
曾鵬飛笑了,好像等我問這句。“如果按八千萬合同額算,你帶隊拿下并成功交付,百分之一點五的專項獎。一百二十萬。稅后。”
一百二十萬。能解燃眉之急。
“前提是項目得成。”我又重復了他的話。
“對。”他點頭,“敗了,你基本工資都難拿滿。我也得卷鋪蓋滾蛋。所以,”他舉起茶杯,“我們是綁在一起的。”
我沒舉杯。
“給我看看合同草案。”我說,“還有,我需要接觸你們技術團隊,現在,馬上。我要知道你們到底有多少底子。”
“下午就去公司。”曾鵬飛痛快地說,“合同電子版發你,細節可以談。”
離開咖啡館時,下午的陽光斜射過來,拉長我的影子。
手機又震了,是陳雅琳。
我接起來。
“辦完了?”她的聲音很干,背景音是翻書聲。
“嗯。”
“賠了多少?”
我說了數字。那邊沉默了幾秒。
“才這么點?你不是總監嗎?干了二十五年……”
“雅琳。”我打斷她。
她也停了。呼吸聲透過聽筒傳過來,有點重。
“晚上……回來吃飯嗎?”她問,語氣軟了一點,但繃著。
“回。可能要晚點,去見個人。”
“誰?”
“曾鵬飛,我那個開公司的同學。”
“他?”她聲音立刻警惕起來,“找你干嘛?你不是說不去他那兒嗎?”
“見面聊。”
“蔡明華,”她突然連名帶姓叫我,“你別病急亂投醫。他那公司聽說也不穩……”
“我知道。”我看著馬路對面新銳科技的大樓,玻璃幕墻反射著刺眼的光,“晚上回去說。”
掛了電話,手心有汗。
我鉆進車里,沒立刻發動。拿出那個硬皮筆記本,翻到最后幾頁。那些潦草的草圖、公式、疑問句,此刻像有了生命。
對賭。
我四十九歲了,還要拿全家的指望,去賭一個老同學畫的餅。
引擎點火,聲音比平時更吵。
后視鏡里,咖啡館的招牌越來越遠。
我打了把方向,朝新銳科技開去。
03
新銳科技在創意園區,loft風格,裸露的管道,彩色墻面,隨處可見的懶人沙發和零食柜。空氣里是咖啡豆和年輕人的味道。
曾鵬飛帶我穿過開放辦公區。不少人都抬頭看,眼神好奇。技術團隊在二樓隔間,十幾個年輕人,對著多屏顯示器,鍵盤敲得噼啪響。
曾鵬飛拍手:“各位,停一下。介紹位大牛,蔡明華,蔡總。以后可能是咱們的技術合伙人。凌云系統,他知道的比原廠還多。”
稀稀拉拉的掌聲。有人打量我,目光里有審視,也有不以為然。
曾鵬飛把我交給技術負責人,一個三十出頭、扎著小辮子的男人,叫阿Ken。
他跟我握了下手,很隨意。
“蔡總,久仰。看過您發在《架構評論》上的幾篇文章。”
“那都是好幾年前了。”我說。
“基礎的東西,不過時。”阿Ken把我引到一塊白板前,“我們目前對凌云系統的了解,主要基于公開招標文件和行業分析。聽說原廠……就是你老東家,用了最新的‘星塵’分布式架構?”
“是。”我拿起筆,在白板上畫了個簡單的三層結構,“他們用的是一種激進的全異步微服務架構,號稱能無限擴展。但忽略了核心交易模塊的數據強一致性和追溯需求。”
我圈出幾個關鍵點,寫下幾個技術名詞。
阿Ken表情認真起來,湊近看。“你是說,他們在用最終一致性模型處理必須實時同步的交易?”
“對。為了追求吞吐量,犧牲了關鍵路徑上的事務完整性。平時壓力小可能沒問題,一到峰值,或者出現節點故障,數據對不上是小事,怕的是連環錯亂,整個訂單流和結算體系崩潰。”
旁邊幾個年輕工程師也圍了過來。
“那審計怎么辦?”一個戴眼鏡的女孩問。
“所以他們做了很復雜的補償和核對機制,”我在旁邊畫了一團亂麻,“但邏輯太繞,本身就容易出bug。而且延遲很大,真出問題,可能幾個小時甚至一天后才暴露,損失早沒法挽回了。”
阿Ken摸著下巴:“我們有團隊研究過類似架構,一致認為風險高。但如果不用這個,性能指標能達到招標要求嗎?客戶那邊很看重并發處理能力。”
“有別的路子。”我翻到筆記本某一頁,上面是我自己琢磨的混合架構草圖,“核心強一致,外圍eventualconsistency(最終一致性)。用新的消息隊列和緩存策略做緩沖,犧牲一點極限性能,換穩定性和可維護性。具體數據我測算過,能滿足標書要求,而且長期成本更低。”
我把幾個關鍵數字寫出來。
周圍安靜了,只有空調出風口的嗡嗡聲。
阿Ken看著那些數字和草圖,眼神變了。“蔡總,這些……你驗證過?”
“部分模塊做過仿真。”我說,“更詳細的,需要時間和資源。”
曾鵬飛不知何時也站在后面,這時開口:“資源給你。阿Ken,你全力配合蔡總。我們要在一周內,拿出一份能讓老吳他們信服的東西。”
“老吳?客戶那個技術大拿?”阿Ken挑眉。
“對。”曾鵬飛看我一眼,“明華,老吳那邊,你有幾分把握?”
我想起老吳抿著酒抱怨的樣子。“五分吧。他不喜歡花架子。但光說不練不行,我們得有實實在在的東西,哪怕是個能跑起來的簡化原型。”
“一周,原型加方案。”曾鵬飛拍板,“明華,你牽頭。需要什么,直接說。從今天起,你算我們顧問,按天付酬,簽正式合同前都算。”
按天付酬。蚊子腿也是肉。
我點頭。“好。我先要一臺高配工作站,權限訪問你們現有的測試環境和代碼庫。另外,我需要兩個熟手,一個搞后端架構,一個懂消息中間件。”
阿Ken立刻點了兩個人。
接下來的幾個小時,我沉浸進去。熟悉他們的開發環境,看現有代碼,討論技術細節。時間過得很快,窗外的天暗下來。
手機在口袋里震了好幾次,是陳雅琳。
我沒接。
晚上八點多,曾鵬飛叫人買了盒飯。我扒拉了幾口,繼續改草圖。九點半,曾鵬飛說要送我回去。
“不用,我開車了。”我保存文檔,活動了下僵硬的脖子。
“明華,”在電梯里,他忽然說,“今天看你講技術,眼睛里有光。跟下午在咖啡館不一樣。”
我沒吭聲。
“我知道你家里壓力大。”他聲音低下來,“但有時候,人被逼到墻角,才能跳得更高。這關闖過去,什么都好了。”
電梯門開,地下車庫涼颼颼的。
“闖不過去呢?”我問。
曾鵬飛咧嘴笑,拍拍我肩膀。“那就一起完蛋唄。放心,我墊背。”
車里,我終于給陳雅琳回電話。
“你在哪兒?”她聲音很急,帶著壓抑的火氣。
“新銳科技,剛談完事。”
“談到現在?飯都涼了!”
“你們先吃,別等我。”
“蔡明華!”她提高了聲音,“你到底在搞什么?工作丟了就丟了,我們慢慢找不行嗎?非要往火坑里跳?曾鵬飛那人靠譜嗎?他那公司……”
“雅琳。”我打斷她,聲音疲憊,“我們賬戶里還有多少錢?”
她頓住了。
“算上剛賠的,還能撐幾個月?”我追問。
電話那頭是漫長的沉默。我聽見她吸鼻子的聲音。
“……三個月。”她聲音啞了,“最多三個月,如果曉峰工作還沒著落,如果我再考不過……”她說不下去了。
“所以,沒有慢慢找這個選項。”我看著車庫昏黃的頂燈,“曾鵬飛這里,是個機會。風險大,但成了,能翻身。”
“敗了呢?”她問,帶著哭腔。
我沒法回答。
“……什么時候回來?”她最終妥協了,聲音軟塌塌的。
“快了。你們先睡。”
掛了電話,我把額頭抵在方向盤上。
很累。但腦子里那套架構圖卻異常清晰,各種細節、關聯、潛在問題,像走馬燈一樣轉。
我啟動車子,開出車庫。
城市夜景流淌過車窗,霓虹閃爍。
路過老公司大樓,那里還有不少窗戶亮著燈。
不知道葉學軍還在不在加班,用他那套漂亮的“星塵”架構,編織一個可能一觸即破的夢。
手機屏幕亮了一下,是阿Ken發來的消息:“蔡總,您下午提的那個緩存穿透問題的解決方案,我們試了一下,初步測試結果很好。明天繼續?”
我回了一個字:“好。”
家越來越近。
我知道,推開門,要面對的是陳雅琳通紅的眼睛,或許是沉默的冷戰,或許是更激烈的質問。兒子曉峰可能躲在房間打游戲,避免和我們交談。
那是一個需要安撫和支撐的家。
而我,剛剛把全家拖上了一條更窄、更危險的鋼絲。
我踩下剎車,在小區門口停了一會兒。
樓上的燈還亮著,客廳的,陳雅琳通常會在那里等我。書房也亮著,她大概又在刷題。
我深吸一口氣,松開剎車,緩緩開進地庫。
該面對的,總得面對。
04
陳雅琳坐在沙發上,沒開電視。
我開門進去,她扭頭看了一眼,沒說話。茶幾上擺著涼透的飯菜,用盤子扣著。
“吃過了?”她問,聲音平淡。
“吃了點盒飯。”我脫鞋,把電腦包放下。
“哦。”她站起身,開始收拾碗筷,“洗澡水給你留著。”
“雅琳。”我叫住她。
她停住,背對著我。
“今天跟曾鵬飛談了,條件還行。”我盡量讓聲音聽起來平穩,“項目成了,有一筆可觀的獎金。能解決眼前問題。”
“眼前問題……”她重復著,肩膀微微發抖,“蔡明華,我們家現在的問題,是錢能解決的嗎?”
她轉過來,臉上有淚痕,但眼神很硬。
“我四十六了!每天跟那些小年輕一起上課,做題,他們看一眼就會的東西,我要琢磨半天!你知道我多怕嗎?我怕考不過,怕找不到工作,怕變成你的拖累!”她聲音哽住,用力抹了把臉,“現在你又……你把工作丟了,一聲不吭跑去跟人賭什么項目!輸了怎么辦?我們去睡大街嗎?”
“不會輸。”我說,但底氣不足。
“你怎么保證?”她走近兩步,盯著我,“靠你那些圖紙?靠你那個老同學的空頭支票?蔡明華,我們不是二十歲了!我們輸不起了!”
她說得對。我們輸不起了。
兒子房間的門開了一條縫,又悄悄合上。
“曉峰今天……”我換個話題。
“他投了十幾份簡歷,一個面試通知都沒有。”陳雅琳跌坐回沙發,雙手捂著臉,“他問我,媽,我爸是不是被公司開除了?我怎么說?我說是優化?他懂什么叫優化!”
房間里只有她壓抑的抽泣聲。
我走過去,想抱她肩膀。她躲開了。
“別碰我。”她聲音悶悶的,“我累了。你去洗澡吧。”
我僵在那里。
最終,我拿起換洗衣服,走進浴室。
熱水沖下來,霧氣升騰。
我閉上眼,腦子里卻是兩套架構圖在打架,是曾鵬飛說的“對賭”,是老吳那張嚴肅的臉,是葉學軍在會議室里平靜宣布名單的樣子。
還有陳雅琳的眼淚。
洗了很久。出來時,客廳燈關了,主臥門緊閉。我推了推,反鎖了。
我在門口站了一會兒,轉身去書房。
打開臺燈,攤開筆記本和從新銳帶回的資料。屏幕的光映在臉上,冰涼。
我必須盡快把方案做出來。不僅是給曾鵬飛和老吳看,也是給我自己一個交代——證明我的判斷是對的,我的技術還有價值,我還沒被時代拋棄。
后半夜,客廳有輕微響動。我出去看,陳雅琳在廚房倒水。穿著睡衣,身影單薄。
我們隔著餐桌對視。
“還不睡?”她先開口,聲音沙啞。
“弄點東西。”我說。
她點點頭,端著水杯往回走。走到臥室門口,停了一下,沒回頭。“……別熬太晚。”
門輕輕關上了,沒鎖。
我站在原地,心里那塊硬邦邦的東西,裂開了一道縫。
回到書房,繼續工作。
窗外天色蒙蒙亮時,初步的技術對比分析報告完成了。
風險點、替代方案的優勢、原型搭建計劃、時間估算……洋洋灑灑十幾頁。
我把它發給阿Ken,抄送曾鵬飛。
然后靠在椅背上,揉著發脹的太陽穴。
手機屏幕亮起,曾鵬飛回復:“收到。上午十點,碰頭會,討論如何呈現給老吳。”
還有一條,是阿Ken的:“蔡總,牛!有些點我們完全沒想到。原型搭建已經啟動,等你來指揮。”
我關掉屏幕,看向窗外。
天亮了,淡青色,邊緣泛著魚肚白。城市開始蘇醒,車流聲隱約傳來。
新的一天。
也是賭局的倒計時。
我洗漱,換衣服。陳雅琳還沒醒,我留了張紙條在餐桌上:“我去新銳。晚上回。”
想了想,又加了一句:“鍋里有粥。”
輕輕帶上門。
05
接下來幾天,我像上了發條。
白天泡在新銳科技,跟阿Ken他們打磨原型。
晚上回家,經常是后半夜,在書房繼續完善方案細節。
和陳雅琳的交流僅限于“吃了沒”、“早點睡”這種機械對話。
兒子曉峰更是躲著我,偶爾碰面,眼神一觸即離。
家像個臨時旅館,安靜,冰冷。
但我沒時間處理這些。賭局的輪盤已經開始轉動,停不下來。
第五天下午,原型的核心鏈路跑通了。
雖然簡陋,但關鍵的交易流程和數據一致性驗證,結果比預想還好。
阿Ken很興奮,幾個年輕工程師看我的眼神也多了佩服。
曾鵬飛把我叫進他辦公室,關上門。
“老吳那邊,我約了明天下午。”他直接說,“私下碰面,喝茶。不能帶任何資料,就是聊。”
我點點頭。這種私下接觸,分寸很重要。
“你想怎么聊?”曾鵬飛問。
“不談具體方案,只談風險。”我說,“他對技術有潔癖,最煩隱患。我們就從技術人角度,探討當前主流激進架構可能存在的共性問題,特別是對金融級可靠性的挑戰。引他發問,然后……點到為止。”
“他會信?”
“他懂行。只要點破,他自己會去查證。葉學軍他們為了趕進度,很多測試是繞過去的,痕跡抹不干凈。老吳只要起疑,深入查,一定能發現問題。”
“然后呢?”
“然后,”我看著他,“等他主動問我們有沒有解決辦法時,再提見面詳談,展示我們的東西。”
曾鵬飛沉吟片刻。“有把握他一定會問?”
“七成。”我說,“老吳這人,把項目看得比命重。他擔不起出大問題的責任。”
“好。”曾鵬飛拍板,“明天我跟你一起去。你主聊,我幫腔。”
事情定下,心里卻更懸了。像等待宣判。
晚上回家,難得早了點。陳雅琳在廚房炒菜,油煙機嗡嗡響。我放下電腦包,走過去。
“回來了?”她沒回頭,聲音混在炒菜聲里。
“嗯。今天早點。”
“洗洗手,準備吃飯。曉峰,出來吃飯!”她朝客廳喊。
兒子磨磨蹭蹭出來,看了我一眼,坐下。
三菜一湯,普通的家常菜。氣氛有些僵。
“爸,”曉峰忽然開口,扒拉著米飯,“你……在新公司怎么樣?”
我愣了一下。這是他這幾天第一次主動跟我說話。
“還行,在做一個項目。”我盡量輕松地說。
“哦。”他點點頭,猶豫了一下,“我們學校有秋招會,我投了幾家。有家做云服務的,讓我下周去初面。”
“好事啊。”陳雅琳立刻說,臉上有了點光彩,“好好準備。”
“嗯。”曉峰低頭吃飯,又小聲補充,“那家公司……用的技術,好像跟你們以前做的有點像。”
我心里動了一下。“叫什么名字?”
他說了個名字。不是行業龍頭,但也在發展期。
“面試好好表現。”我說,“技術基礎扎實,態度端正,就有機會。”
“我知道。”他悶悶地說。
吃完飯,曉峰回了房間。陳雅琳收拾碗筷,我在旁邊幫著擦桌子。
“他最近……好像壓力也很大。”陳雅琳小聲說。
“你那邊,”她頓了頓,水流聲嘩嘩的,“順利嗎?”
“明天去見個關鍵人。”我沒瞞她。
她手停了一下,沒再問。
晚上,我躺在床上,睜著眼看天花板。陳雅琳背對著我,呼吸均勻,但我知道她也沒睡著。
“明華。”她忽然輕聲開口。
“嗯?”
“……要是,要是真不行,我們把房子賣了吧。”她說得很慢,每個字都很重,“回我老家那邊,買個小的。壓力就沒這么大了。”
我心里一酸。
“還沒到那一步。”我轉過身,手搭在她肩膀上。這次,她沒躲。
“我就怕……”她聲音哽住,“怕你太拼了,把身體拼垮了。也怕……怕你心里有火,憋壞了。”
我手臂收緊了些。
“我有數。”我說。
其實我沒數。前面是懸崖還是坦途,看不清。但此刻,身邊這個人的溫度是真實的。
我必須闖過去。
為了這個家,也為了胸口那團憋了太久的、屬于技術人的火。
06
第二天下午,茶室包間。
老吳準時到了,穿著樸素的夾克,手里拿著個保溫杯。見到我和曾鵬飛,他點點頭,沒什么表情。
寒暄幾句,都是場面話。茶藝師表演完離開,包間里安靜下來。
曾鵬飛起了個頭,聊行業動態,聊技術趨勢。我偶爾插幾句,都是些不痛不癢的觀點。
老吳聽著,偶爾“嗯”一聲,手指摩挲著保溫杯。
時機差不多時,我把話題引向最近幾個業內知名的項目事故,都是因為過度追求新架構導致的數據混亂或服務崩潰。
“是啊,”我嘆了口氣,“現在很多團隊,為了追求技術亮點和性能數字,忽略了最根本的穩定性和數據準確性。特別是金融、交易相關的系統,一旦出問題,就是大麻煩。”
老吳抬眼看我。“你們……老公司那邊,凌云系統用的架構,聽說也挺新?”
來了。
“是,用了‘星塵’那套全異步微服務。”我斟酌著詞句,“理念很先進,理論上擴展性無敵。但我們對核心模塊的數據強一致性要求特別高,他們用最終一致性加復雜補償機制,我覺得……風險系數不小。”
“你跟他們提過?”老吳問。
“提過。”我苦笑,“但項目趕進度,可能……測試驗證上,有些環節就被壓縮或者繞過去了。當然,這只是我的個人擔憂,也許他們后面有更好的解決方案。”
我沒說死,留了余地。
老吳端起茶杯,沒喝,又放下。
包間里很靜,能聽見隔壁隱約的談笑聲。
“數據一致性出問題,”老吳慢慢說,“最可怕的是問題不立即暴露。等發現時,可能已經產生了不可逆的業務錯誤,或者對賬對到死也對不平。”
“對。”我點頭,“而且排查極其困難,鏈路太長,日志分散。”
老吳看著我,眼神銳利。“如果是你,你會怎么做?”
我心跳快了一拍。曾鵬飛在桌子底下輕輕碰了下我的腿。
“如果是我,”我坐直身體,“我會在核心交易鏈路,堅持用強一致性模型,哪怕犧牲一點極限吞吐量。用更高效的同步協議和緩存策略來彌補。外圍非核心業務再用最終一致性。架構可能沒那么‘炫’,但勝在穩,好維護,長期成本也更可控。”
“有現成的設計思路嗎?”老吳追問。
我和曾鵬飛對視一眼。
“有一些初步的構想和測算。”曾鵬飛接過話頭,“但不太成熟,還需要完善。吳總要是感興趣,我們可以找個時間,詳細匯報一下?”
老吳沉默了片刻。
“下周吧。”他說,“下周三下午,我正好有空。你們帶上具體的東西,不要虛的,我要看實實在在的數據和設計。”
“沒問題!”曾鵬飛立刻答應。
老吳又喝了一口茶,站起身。“今天就到這吧。我還有個會。”
送走老吳,回到包間,我和曾鵬飛都沒說話。
過了一會兒,曾鵬飛猛地捶了一下桌子,低吼:“有戲!”
我松了口氣,后背一層冷汗。
“趕緊回去準備!”曾鵬飛抓起外套,“下周三,必須拿出個能鎮住他的東西!”
我知道,真正的戰斗,現在才開始。
回去的路上,我接到葉學軍電話。
“師傅。”他聲音聽起來有點疲憊,“方便說話嗎?”
“你說。”
“凌云系統……第一階段交付測試,出了點問題。”他頓了一下,“數據核對總有幾個批次對不上,時好時壞。你以前……遇到過類似情況嗎?”
我心里咯噔一下。
他們的架構問題,這么快就冒頭了?還是只是小毛病?
“可能網絡延遲,或者補償邏輯沒覆蓋全。”我沒把話說透,“多查查日志,特別是邊緣case的處理。”
“查了,日志太散,不好定位。”他嘆氣,“師傅,你……最近忙嗎?要不,回來幫我們看看?就當顧問,按市場價付錢。”
我差點笑出來。
市場價?讓我回去給一個裁了我的項目救火?
“抱歉,學軍。”我說,“我接了新項目,時間排不開。”
那邊沉默了很久。
“是去曾鵬飛那兒了吧?”他問,語氣復雜。
“……也好。”他聲音低下去,“那,不打擾了。”
掛了電話,我看著車窗外飛速后退的街景。
葉學軍的求助,像一顆投入湖面的石子。漣漪會擴散,問題只會越來越嚴重。
老吳那邊,必須加快速度。
我給阿Ken打電話:“原型優化加快,下周二前,我要一個更穩定、更能體現優勢的演示版本。另外,方案文檔重新梳理,突出風險對比和我們的可靠性設計。”
“明白!”阿Ken聲音透著緊張和興奮。
回到家,已經晚上十點。
陳雅琳還沒睡,在沙發上織毛衣——她心煩時就愛織東西,但很少織完。
“怎么樣?”她問。
“見了人,有下一步機會。”我簡單說。
她點點頭,沒多問,繼續織。毛線針碰撞,發出細微的咔嗒聲。
我洗了澡,坐在她旁邊。
“曉峰呢?”
“睡了。”她停下手,看著我,“明華,你這幾天,瘦了。”
“有嗎?”
“有。”她伸手,碰了碰我的臉頰,很快收回去,“別太拼。實在不行……就像我說的,房子賣了,咱們換個活法。”
我握住她的手。織了一半的毛衣粗糙溫暖。
“再給我點時間。”我說。
她看著我,眼圈慢慢紅了,點點頭。
這一晚,我睡得很沉。
但夢里全是代碼和架構圖,還有老吳審視的目光。
![]()
07
接下來幾天,是在極限壓力下沖刺。
新銳科技的會議室成了臨時指揮所。白板畫滿又擦掉,咖啡消耗以桶計。阿Ken帶著團隊連軸轉,幾個小伙子眼睛熬得通紅,但沒人抱怨。
原型演示版本磕磕絆絆,但總算在周二晚上跑通了核心場景。數據一致性測試結果漂亮得讓人不敢相信。
方案文檔也最終定稿,厚厚一沓,每一頁都浸著心血。
周三早上,我和曾鵬飛最后過了一遍演示流程。每一個技術點如何闡述,老吳可能問的問題如何應對,都反復推敲。
下午,我們提前到達客戶公司附近的商務中心,租了間小會議室做準備。
兩點半,老吳準時出現,還帶了兩個技術骨干。
沒有寒暄,直接開始。
曾鵬飛做了簡短開場,然后交給我。
我打開投影,從行業痛點講起,自然過渡到凌云系統現有架構的潛在風險。
我用了很多比喻,把復雜的技術問題講得通俗。
老吳帶來的兩個人開始低頭記錄。
講到關鍵處,我展示我們做的對比測試數據。同樣的業務壓力下,現有架構出現數據偏差的概率是我們的十七倍,平均故障恢復時間是我們的六倍。
老吳的眉頭皺緊了。
“數據來源可靠?”他問。
“測試環境模擬,參數公開,可復現。”我調出測試配置和日志截圖。
他點點頭。
然后,我切換到我們的混合架構設計圖,詳細講解核心思路,如何平衡性能與一致性。
接著,現場演示簡化版原型。
看著屏幕上流暢的業務流和實時同步的數據校驗結果,老吳帶來的一個年輕工程師忍不住低聲說:“這個穩。”
演示結束,會議室一片安靜。
老吳雙手交叉放在桌上,看了我很久。
“你們這個方案,從設計到實現,需要多久?達到招標要求的完整版。”他問。
我看曾鵬飛。曾鵬飛接過話:“如果獲得現有系統的基礎資料和接口規范,六到八個月。我們可以分階段交付,核心模塊優先。”
“基礎資料……”老吳沉吟,“這涉及到商業機密和合同問題。”
“我們理解。”我說,“但這套方案的優勢在于,即使沒有全部資料,核心設計理念是獨立的,我們可以基于公開接口規范進行適配開發,只是時間和風險會稍微增加。”
這是實話,也是談判策略。
老吳和帶來的兩個人低聲交換意見。
幾分鐘后,他抬起頭。
“今天先到這里。方案和演示留下,我們需要內部評估。另外,”他看著我,“蔡工,你們這個原型,包括測試數據,能留一份給我們技術團隊參考嗎?放心,簽署保密協議。”
“可以。”曾鵬飛立刻答應。
送走老吳一行,我和曾鵬飛回到會議室,關上門。
兩人都沒說話,靠在墻上。
“你覺得……”曾鵬飛先開口。
“五五開吧。”我說,“他心動了。但牽扯太大,他一個人決定不了,還得走流程,還可能面臨來自原合同方的壓力。”
“葉學軍那邊……”
“問題估計捂不住了。”我說,“老吳回去一定會查。只要一查,紙包不住火。”
正說著,我的手機響了。是個陌生號碼,但地址顯示是老公司所在區。
“請問是蔡明華先生嗎?”一個年輕男人的聲音,有點急。
“我是。”
“我是凌云系統項目組的小李,吳總讓我們聯系您,想盡快安排一次……緊急技術咨詢。關于現有系統的一些……異常數據。”
我看了一眼曾鵬飛。他眼神一亮。
“什么時候?”我問。
“越快越好!最好是……現在能過來嗎?或者您給個地址,我們過去也行!”小李語氣焦急。
問題爆發了。比預想的還快。
“我現在在外地。”我冷靜地說,“可以把問題現象描述一下嗎?我看看能不能遠程給點思路。”
小李語速飛快地描述了一通。果然是核心交易鏈路的數據核對大面積出錯,補償機制失效,已經影響到部分真實業務。他們查了兩天,毫無頭緒。
我心里有數了。這正是“星塵”架構在那個特定場景下的致命缺陷。
“聽起來像是分布式事務的邊界條件沒處理好,導致狀態機死鎖。”我給了個方向,“查查網關層的超時設置和重試策略,還有,看看有沒有循環依賴的消息。”
“啊!對!有可能!”小李那邊傳來敲鍵盤的聲音,“謝謝蔡工!我們馬上查!”
掛了電話,曾鵬飛已經湊過來。“怎么樣?”
“火燒眉毛了。”我說,“老吳這是雙管齊下,一邊評估我們的方案,一邊讓他們自己人死馬當活馬醫。醫不好,我們的機會就來了。”
“能醫好嗎?”曾鵬飛問。
我搖頭。“架構層面的根本問題,臨時打補丁沒用。只會越補越亂。”
果然,不到兩小時,那個小李又打來電話,聲音帶著哭腔:“蔡工,按您說的查了,好像有點關系,但改了還是不行……吳總發火了,讓我們必須今晚給出解決方案……您,您能過來一趟嗎?價錢好說!”
“抱歉,”我依然平靜,“我現在有合同在身,不方便直接介入其他公司的項目。不過,如果問題真的很緊急,或許可以建議吳總,考慮啟動緊急預案,比如……引入具備備選方案能力的第三方進行風險評估,甚至接管。”
電話那頭沉默了。小李顯然沒這個權限。
“我……我跟吳總匯報一下。”
這次,電話掛斷后,再沒打來。
但我和曾鵬飛知道,老吳那邊,天平正在急劇傾斜。
晚上十點,曾鵬飛接到一個電話。他走到窗邊,低聲說了很久。
掛斷后,他走回來,臉上是壓抑不住的激動。
“老吳的秘書。”他聲音發緊,“約我們明天上午,去他們集團總部。見分管領導和技術決策委員會。帶上全部方案,做好……替代方案匯報的準備。”
成了。
至少,進門的機會拿到了。
我長出一口氣,才發現手心全是汗。
“明天,是場硬仗。”曾鵬飛握拳,“贏了,通吃。輸了……”
他沒說下去。
我們都知道輸不起。
我拿起手機,想給陳雅琳發個消息。打了幾個字,又刪掉。算了,等明天結果吧。
窗外,城市燈火璀璨,每一盞燈下,可能都有一個正在掙扎或等待宣判的家。
我們的那盞,明天會亮,還是滅?
08
第二天上午的匯報,規格很高。
橢圓形的會議室里坐了七八個人,除了老吳和他的技術骨干,還有分管副總裁、法務、采購的負責人。氣氛嚴肅。
流程和昨天類似,但問題更尖銳,更偏向商業和風險。
法務問知識產權,采購問成本和時間,副總裁問如果切換供應商,對現有業務的中斷風險有多大。
我和曾鵬飛配合著,一一作答。我負責技術可行性和風險保障,他負責商業條款和項目落地。
交鋒激烈。
中途休息時,我和曾鵬飛在走廊透氣。他點了根煙,手有點抖。
“那個副總裁,好像傾向于保原合同。”他低聲說。
“正常。換供應商麻煩,也有責任。”我喝口水,“關鍵還是看老吳和那幾個技術的人的態度。他們要是咬定現有方案風險不可控,上面就得掂量。”
回到會議室,繼續。
老吳終于開口,直接問技術團隊:“你們評估,現有系統架構的問題,徹底解決需要多久?成功率多高?”
他帶來的一個資深架構師推了推眼鏡,艱難地說:“吳總,我們分析了蔡工之前指出的方向,也做了深入測試。問題……比預想的復雜。涉及到架構根本邏輯,要徹底解決,可能……需要重構核心模塊。時間……至少三個月,還不能保證完全根除隱患。而且,重構期間,系統需要降級運行。”
會議室一片寂靜。
三個月,還不能保證。降級運行,意味著業務受影響。
副總裁臉色沉了下來。
老吳看向我:“蔡工,你們的方案,如果現在啟動,最快什么時候能提供一個可用的、能逐步替換現有問題模塊的版本?”
“核心交易模塊,如果獲得必要接口支持,兩個月內可以提供第一個穩定版本,進行并行驗證和灰度替換。”我給出一個謹慎但進取的時間。
“兩個月……”副總裁沉吟。
“而且我們的架構是平滑遷移設計,”我補充,“可以模塊化替換,不影響主體業務運行。”
技術決策的天平,在那一刻,肉眼可見地傾斜了。
后面的討論,轉向了具體的切換方案、合同細節、知識產權交割等繁瑣但至關重要的問題。
會議持續到下午一點才散。沒有當場拍板,但讓我們回去等消息。
走出大樓,陽光刺眼。
“有希望。”曾鵬飛嗓子啞了,“就看他們內部博弈了。老吳肯定會力推我們。”
“他現在自身難保。”曾鵬飛冷笑,“項目出這么大紕漏,夠他喝一壺的。肖建強肯定也急了。”
正說著,我的手機震動。是肖建強。
我看著屏幕上跳動的名字,對曾鵬飛說:“肖建強。”
曾鵬飛示意我接。
我走到一邊,接起來。
“明華。”肖建強的聲音很急,沒了往日的沉穩,“你在哪兒?我們得談談。”
“肖董,我在客戶這邊剛開完會。”
“凌云系統的事,你知道了?”他直接問。
“聽說了點。”
“明華,回來吧。”他語氣帶著懇求,雖然很淡,“條件你開。那個項目,八千萬的單子,離了你,我看要黃。葉學軍……他擔不起。”
我看著馬路上川流不息的車,曾鵬飛在不遠處抽著煙,目光炯炯地看著我。
“肖董,”我聲音很平靜,“我記得,優化名單是您簽的字。”
那邊沉默了。
“當時……有當時的情況。”肖建強試圖解釋,“公司需要降低成本結構,需要年輕化……”
“我理解。”我打斷他,“商業決策嘛。所以,我現在也是基于商業決策。我接了新工作,簽了合同,要對新公司負責。凌云系統這個項目,我現在是站在新銳科技這邊,爭取為客戶提供更好的解決方案。”
“明華!”他急了,“你非要這樣?二十五年情分……”
“肖董,”我再次打斷,語氣依然平靜,但每個字都清晰,