發表會在園區的新會議中心舉辦。
不是我們那棟舊大樓——是母公司去年剛翻修的那棟,有大理石地板、自動感應玻璃門、還有一個可以容納兩百人的多功能廳。嚴副總說要給客戶「最好的第一印象」。S 裝置從一台只有 console 輸出的嵌入式 Linux 盒子,到現在有了 Web 介面、有了漂亮的外殼、有了一本厚達八十頁的英文 datasheet——花了整整五個月。
五個月前我還在韌體部門改 driver bug,覺得自己的人生跟我寫的韌體一樣無聊。
五個月後我站在多功能廳的角落,看著嚴副總在台上用雷射筆指著投影幕上的產品路線圖,跟台下的客戶和合作夥伴說「S Device will redefine enterprise networking」的時候,有一種不太真實的感覺。
像是你在一部電影裡當了五個月的臨時演員,突然有人告訴你:「其實你是主角。」
但主角的座位在角落。
對。我被安排坐在最後一排。
嚴副總的理由是:「技術團隊待命就好,前面留給客戶和業務。」
翻譯:你們是幕後的人,台前的事不用你們操心。
小張坐在我旁邊,手裡抱著他的筆電。他是 demo 環節的備援——萬一台上的展示機出問題,他要在最短時間內用備用機頂上。
「你知道嗎,」小張壓低聲音,「我們花了五個月做出來的東西,嚴副總花了兩週做投影片。你猜客戶會記住哪一個?」
「投影片。」
「Bingo。」
台上的嚴副總正在 demo 環節的前一段——市場分析。他講話的方式跟開內部會議完全不同。內部開會時他像一把刀,每個字都在切割;面對客戶時他像一瓶紅酒,每句話都在醞釀。
「Our vision is not just a device — it's an ecosystem.」
台下有人在點頭。
「他用 ecosystem 這個字了,」小張在旁邊小聲說,「每次用到 ecosystem,代表產品線少於三個但希望客戶以為有很多的時候。」
我差點笑出來。但想到許主任的警告——「不管發生什麼事,不要笑」——硬是忍住了。
Demo 環節。
台上擺了兩台 S 裝置——一台是展示用的 production sample,外殼烤漆亮得可以反光;另一台是備用機,藏在講台底下。兩台都連著網路線,透過一台大螢幕展示 Web 管理介面。
負責 demo 操作的是阿哲。他穿了今天唯一一件有領子的 POLO 衫,頭髮抹了髮蠟,看起來比平時精神了三個等級。
嚴副總:「Now, let me show you the real thing. 阿哲,請。」
阿哲點了一下頭,打開瀏覽器,輸入 S 裝置的 IP 位址。
頁面載入中⋯⋯
載入中⋯⋯
白屏。
什麼都沒有。
我的心跳瞬間從 72 飆到 120。
阿哲的手指在鍵盤上輕輕按了 F5。刷新頁面。
還是白屏。
台下的客戶開始交頭接耳。嚴副總的笑容維持住了,但我注意到他的右手——放在講台邊緣的那隻手——指節開始發白。
阿哲按了第三次 F5。
白屏。然後瀏覽器跳出一行小字:
Connection refused.
完蛋。
Web server 掛了。
小張已經打開筆電了。他的手指在鍵盤上飛快地移動——打開 terminal、SSH 連進備用機。
「備用機狀態正常,」他壓著聲音說,「Web server 在跑。要不要切過去?」
切備用機需要時間——拔網路線、插到備用機上、改螢幕的輸入源。至少要三十秒。在兩百個人面前沉默三十秒,等於一輩子。
我腦子裡的 thread 瞬間排到了最高 priority。
「等等,」我壓低聲音,「讓我先 check 一下。」
我打開自己的筆電。
S 裝置的 IP 我記得。我用 SSH 直接連進展示機的 console。
登入成功。系統還活著。
我下了一個 ps aux | grep lighttpd。
沒有 output。
lighttpd 死了。
快速看了一下 /var/log/messages——最後幾行是 lighttpd 的 OOM kill。記憶體不夠了。
原因瞬間浮現:展示機在 demo 之前被人開了好幾個背景 process 來跑 demo 用的假資料生成器,吃掉了大半記憶體。lighttpd 啟動 FastCGI 的時候記憶體不夠,被 kernel 的 OOM killer 砍掉了。
修法也瞬間浮現:殺掉那些不必要的背景 process,釋放記憶體,然後手動重啟 lighttpd。
我快速打了幾行指令:
kill -9 $(pidof demo_data_gen)
kill -9 $(pidof traffic_sim)
/etc/init.d/lighttpd restart
三行。兩秒。
然後我在心裡默數——一、二、三、四、五——
lighttpd 重啟成功。
我轉頭看台上的螢幕。
阿哲還站在那裡,手放在鍵盤上。嚴副總正在用他那種「一切盡在掌握」的語氣對客戶說:「Technology always keeps us on our toes. Let me refresh this for you.」
阿哲按下 F5。
頁面跳出來了。
登入畫面。白色背景、藍色按鈕。跟凌晨三點那天晚上一模一樣。
但在兩百人面前看到它的感覺完全不同——像看到自己養的小孩在運動會上站在起跑線上,你比他還緊張。
阿哲登入。設定頁面出現。他開始操作——改 hostname、設 VLAN、調 bandwidth limit。每一個操作都很流暢,每一次頁面刷新都精準到位。
台下開始有人拍照。
我長長地呼了一口氣。
小張在旁邊也呼了一口氣。然後小聲說:「你剛剛做了什麼?」
「殺了兩個 process,重啟 Web server。」
「花了多久?」
「大概⋯⋯十秒。」
「十秒。」他看著我,露出那種「我今天的迷因素材有了」的表情。「等一下我要把這件事畫成梗圖。」
「拜託不要。」
Demo 成功了。
嚴副總在台上講了最後一段結語——關於 S 裝置的未來、產品路線圖、以及公司的願景。投影片上有一張很漂亮的時間軸,從今年一路畫到三年後,終點寫著「IPO」兩個大字。
IPO。
當時的我不知道這兩個字母在未來五年裡會變成一個反覆出現的幽靈——時而清晰、時而模糊、最終消散。
但在那個下午,在那間亮堂堂的多功能廳裡,兩百個人拍著手,嚴副總站在台上微微鞠躬,投影幕上的 S 裝置照片閃閃發亮——
那一刻,我覺得好像真的有什麼東西正在發生。
大的東西。
有意義的東西。
發表會結束後,嚴副總把所有 X BU 的人叫到多功能廳的側廳。
他站在前面,鬆開了襯衫最上面一顆扣子。這是我第一次看到他在正式場合之外放鬆的樣子——雖然「放鬆」這個詞用在嚴副總身上,大概跟「微辣」用在朝天椒身上一樣勉強。
「今天辛苦了。」他說。
全場安靜。嚴副總開場說「辛苦了」,這在 X BU 的歷史上大概是第一次。
「產品發表會只是第一步。接下來我們要做的事情更多——量產、銷售、技術支援、產品迭代。」他頓了一下。「所以我做了一個決定。」
他看了一圈在場的所有人。
「從今天開始,X 事業部正式升格為獨立編制。公司已經同意——我們成立『X 產品事業部』,直接向董事長報告。人員編制、預算、專案管理,全部獨立運作。」
嗡——全場開始低聲議論。
「簡單說,」嚴副總嘴角微微上揚,那是他極少數展現類似笑容的時刻,「我們有自己的部隊了。」
他的目光掃過所有人,最後落在一個意味深長的停頓上。
「歡迎來到——地獄事業部。」
他沒有用這個詞。他說的是「X 產品事業部」。
但下一秒,小張在 LINE 群組裡發了一則訊息。
我的手機震動。打開來看:
小張:恭喜各位,我們剛被正式編入地獄。
底下立刻噴出一串回覆:
阿寧:所以剛才那個是入伍典禮?
小芳:有入伍就有退伍吧⋯⋯吧?
小張:在地獄,退伍叫人間蒸發。
我看著手機螢幕,嘴角忍不住上揚。
然後我把手機收進口袋,抬頭看向前方。嚴副總已經在跟許主任討論後續的組織規劃了。
許主任轉頭看了我一眼,微微點了一下頭。
那個點頭的意思大概是:「你看,門已經打開了。」
至於門後面是什麼——
我們走進去才會知道。
字數:約 3000 字














