傳達:講好故事#
人腦天生愛故事。無論是先天神經結構使然,還是故事太普遍而反過來重塑了結構(更可能兩者皆是),結果都一樣:我們天生就用故事思考、記憶。聽到故事時,大腦專責區域啟動,進行心智時間旅行、觸發同理、模擬事件。
相較於一串成就清單或抽象的能力描述,故事能抓住面試官的注意力、把他們拉進你的經歷,並繞過批判防線、活化大腦專屬的敘事處理機制,因而容易被記住。本章教你一套結構,用來回應「請談談某次……」、價值觀與假設性問題。
好的(面試)故事有哪些要素#
跨越千年與地域的故事有相似結構是有心理與生理原因的:我們偏好「問題—行動—解決(problem–action–resolution)」的弧線,越有趣、越貼近個人興趣越好。在面試敘事中,明確把行動連到結果(「因為我做了 X,所以發生了 Y」)的故事更有說服力、也更利於決策。
好故事應包含的關鍵要素:
- 清楚呈現的行動,代表可重複、且對齊所問訊號領域的行為。
- 足夠的情境,讓人能理解這些行動,並構成問題—行動—解決的弧線。
- 足夠的結果,讓人判斷行動是否有效、並評估你是否理解何謂成功。
- 有趣:通常意味著與職位、問題相關,但最好也有獨特、不熟悉的細節。
- 夠短:面試官還有別的問題要問,而且說實話,職涯故事沒那麼娛樂。
STAR:簡單的故事結構#
如果你讀過任何行為面試資料,一定看過 STAR 法:
- Situation(情境):故事的背景脈絡——當時發生什麼、誰參與、為何重要。
- Task(任務):你在該情境中的具體職責或挑戰——你需要達成或解決什麼。
- Actions(行動):你為處理任務採取的具體步驟——做了什麼、怎麼做、為何這樣選。
- Results(結果):行動的成果——什麼改變了、你對業務造成什麼影響。
STAR 由 Development Dimensions International 於 1970 年代提出,固定結構能幫你講出完整弧線、不漏掉面試官評估所需的關鍵片段,好記的縮寫也讓你能臨場組織故事。有些面試官甚至受訓用此結構記筆記。有這套格式,你會遠勝毫無準備的人——但它有些缺點,尤其對資深候選人,而且有更好的選擇。
為什麼 CARL 勝過 STAR#
STAR 對多數候選人有兩大缺點:
- 它缺少對經歷的反思,而反思正是面試官評估你規模的方式——越資深的人越懂得從錯誤中學習、萃取可再利用的智慧。
- 候選人常糾結於區分 Situation 與 Task,兩者在大型專案裡常糾纏在一起,白白浪費準備時間。
我偏好的替代格式是 CARL:
- Context(情境):整體發生了什麼、你如何參與——即 Situation 與 Task 的合併。
- Actions(行動):同 STAR——你採取的具體步驟、怎麼做、為何這樣選。
- Results(結果):同 STAR——行動的成果與商業影響。
- Learnings(學習/收穫):你學到什麼,或對當時抉擇的反思。
在 CARL 裡,Actions 仍是核心,但 Context 可伸縮,以「讓聽者剛好能理解行動及其動機」的最小設定為準。Learnings 則像伊索寓言的寓意,是更自然的收尾,也給你一個舞台展現智慧深度、證明你有自覺並追求成長。
CARL 用一個可伸縮的 Context 取代 STAR 裡易混淆的 Situation/Task,並補上 Learnings。對資深候選人尤其有利,因為反思正是展現規模的關鍵。
故事建構準則#
- Actions 要是複數:面試官想聽你列出盡可能多的相關行動——他們評估的是你能否在他們組織裡靠重複你的行動來重現你的結果。
- Context 與細節極簡:只給理解規模與正當化行動所需的情境。若說故事說到一半、已好一陣子沒提到任何行動,你可能給太多細節了。
- 及早給出所求訊號:你是在回應特定問題、尋求特定訊號,要儘早給出,或至少明確點出故事與問題直接相關。
- 故事約 2 分鐘:長度視問題、面試階段、面試官而定,1 ~ 3 分鐘算典型。超過 3 分鐘你得很清楚自己在幹嘛。
- Results 隨問題類型而變:結果不只是商業成果。衝突故事的結果應包含專案的下場,也包含關係的走向(解決了衝突卻留下惡劣關係,反而是衝突解決能力弱的訊號);指導故事的結果包含被指導者是否成長、是否升遷;溝通故事則反思你選的方式、時機、對象是否有效。
- 避免「童話式結局」:專案很少是完美結果、零取捨、皆大歡喜。多半有事沒按計畫走(屬於 Results),而你能從中學到東西(屬於 Learnings)。
拿捏細節#
「細節不夠。」「細節太多。」這是面試官最常給、也最讓候選人抓狂的回饋。合適的細節是一道光譜,落點取決於你的職位、對象、具體問題,以及你在對話中的位置。
- 用細節達成兩件事:(1) 讓故事可理解、(2) 建立你的可信度。當聽者有足夠脈絡,你的行動才能被理解;細節也證明你真的做過、且理解得夠深。但一旦建立了可信度,多餘的細節就是浪費寶貴時間——選你要深入的地方深入,然後讓敘事繼續前進。
- 細節主要放在 Actions:Actions 是你展現思考、技術深度、領導與決策的地方,面試官在此認識你這位專業工作者。應納入:你考慮過的替代方案、你的推理、具體技術決策、你如何駕馭挑戰、協作與影響力。Context 裡的細節則要相關——別描述組織結構或延遲數字,除非你的故事真的透過那個結構溝通、或根據那個延遲做技術選擇。
- 30 秒法則:若講了約 30 秒還沒進到下一個行動,你八成對這一點給了太多細節。
- 樂於預告可追問處:說「這部分我可以再多談,如果你想聽的話……」然後繼續前進。
細節帶來可信度的對比:與其說「我優化了資料庫查詢讓服務變快、使用者更開心」,不如說「我發現產品列表頁有 N+1 查詢——每個產品都為評論觸發一次獨立的資料庫呼叫。我改用單一 JOIN 加上 eager loading,把 p95 回應時間從 3.2 秒降到 400ms,隔月關於載入緩慢的客服工單下降 60%」。後者沒多花太多時間,卻建立了明顯更高的可信度。
完整範例故事:三則 CARL 示範(可選讀)
以下三則完整故事展示 CARL 結構如何用於常見問題。
1.「你解過最難的技術問題是什麼?」[Staff 級後端工程師]
- Context:付款系統間歇性失敗,影響約 0.1% 交易,罕見到難重現,卻頻繁到每週造成 5 萬美元的客戶補償;發生在高流量時段,顧客被扣款卻拿不到數位商品。經數月多人除錯無果後,我在最資深後端工程師離職時接手為最高優先 P0。
- Actions:先強化分散式追蹤,跨微服務邊界加上 correlation ID、提高生產環境日誌詳盡度,發現失敗集中在流量尖峰的特定資料庫分片;假設是付款與庫存服務間的分散式競爭條件,建了 chaos engineering 測試框架注入人為延遲,跑數千次模擬後可穩定重現——當付款確認在庫存更新後 50ms 內抵達,樂觀鎖會因重試邏輯的細微 bug 靜默失敗;重新設計分散式交易協調器,導入 saga 模式與明確補償邏輯、加上熔斷器、跨服務正確實作冪等鍵;在 staging 以 10 倍負載跑 72 小時,再用 feature flag 灰度上線。
- Results:徹底消除幽靈失敗,每月挽回 20 萬美元營收;我寫的事故文件與 runbook 成了全公司除錯分散式系統的範本,chaos engineering 框架被另外三個團隊採用。
- Learnings:分散式系統除錯需要與單體不同的心智模型(要用機率而非決定論思考);前期投資可觀測性在危機除錯時回報巨大;最難的 bug 常藏在系統之間的縫隙——各元件單獨都對,組合起來卻壞。此後我做系統設計總會考量整合邊界的失效模式。
此故事之所以出色:展現 Staff 級技術深度、可量化的高商業影響、系統化解題、無正式職權的領導(產出物與工具嘉惠他團隊)、以及展現成長的深刻反思。
2.「你做過哪個決策顯著影響了專案走向?」[中階 PM]
- Context:B2B 分析儀表板做了半年、鎖定 Q4 上線與 15 家企業試點;依大量客訪列出 42 項「必備」功能;8 人工程團隊爆肝、已兩度延期、只剩 5 個月跑道;CEO 承受董事會的營收壓力,業務已按原時程向多家財星 500 大預售整套功能。
- Actions:我做了艱難決定——把上線範圍從 42 項砍到 6 項核心。但我知道不能只是宣布,得建立共識並驗證仍有價值:先分析試點使用數據,發現即使已有 30+ 功能,80% 使用階段只碰同樣 6 項;再對最投入的 5 家試點客戶做緊急訪談,答案與數據一致;接著為領導層擬三個情境(維持完整範圍/轉為 6 功能 MVP/尋求過橋資金);對工程提議其餘功能不取消而是上線後兩週衝刺「快速跟進」,並與 EM 確認可乾淨擴充而不需大重構;最棘手的業務對話,我與業務主管逐案重審,發現 15 家預售客戶中只有 2 家初期真的需要核心 6 項以外的功能,為那兩家談了帶交付里程碑的分階段部署;並公開一份路線圖展示上線後的交付速度。
- Results:5 週上線、超前激進時程;15 家預售客戶中 13 家立即轉正,帶來 200 萬美元 ARR、延長跑道 18 個月;更重要的是,快速上線帶來真實生產回饋,推翻了 12 項原規劃功能——我們差點浪費 3 個月做錯東西;工程團隊士氣大幅回升,用新營收多聘了 4 位工程師。
- Learnings:客訪告訴你人們「以為」想要什麼,使用數據才揭示他們「真正」需要什麼;我現在總主張以精簡但卓越的功能集上線,而非全面但平庸;重新框定不只關乎決策本身,更在於為每個利害關係人的具體顧慮打造敘事(同一決策需要對工程、業務、領導講三個不同版本);最難的決策往往是「不做什麼」。
展現的 PM 能力:高風險決策、數據驅動、利害關係人管理、可量化影響、策略思考、成長心態。
3.「描述一個遠比預期久的專案。」[中階工程師]
- Context:我負責把單體 REST API 遷移到 GraphQL,技術主管依端點數估 6 週,本以為只是提升行動 App 效能的直白升級(原本每畫面要 15–20 次 API 呼叫);但我們沒意識到這支 API 三年來已成 12 個內部工具的「影子整合平台」。
- Actions:前兩週順利、甚至超前;接著數據分析儀表板開始失敗——原來該團隊每小時用 regex 爬我們的 REST 端點做報表,遷移打斷了整條管線;緊急會議後發現範圍更大:客戶成功用 API 做了 Chrome 擴充、業務有 Zapier 流程、QA 有自動化測試直打端點,工程端無人知情;我在「強迫全員遷移/永久維護兩套 API/折衷」間選了折衷——建轉接層,在過渡期以 REST 形式暴露 GraphQL 資料;但這揭露更深問題:REST 回應多年來被加了各種無文件欄位,GraphQL schema 逼我們把多年技術債正式化,變成多場與各方釐清實際資料需求的會議;我請技術主管介入,一起做出依賴關係圖與遷移追蹤表、每週開 office hours、寫遷移指南、審程式碼;到第 8 週只完成 40% 時,我與技術主管向主管與 CEO 攤牌,提出三選項(趕工並弄壞內部工具/做對再花 6 週/完全放棄 GraphQL),我們力主做對,並用已發現的技術債佐證。
- Results:專案最終花了 14 週、超過兩倍估時,但延長帶來意外好處:API 回應快 60%、每月省 8K 美元 AWS 費用、行動 App 網路用量同步下降改善低頻寬地區體驗、正式化的 schema 成了單一真實來源、還順帶修好數個靜默損毀資料數月的關鍵 bug。
- Learnings:舊系統的估時若無妥善盤點就是幻想,動任何共用資源前先問「還有誰在用這個?」,我現在總以盤點階段(API 流量分析+利害關係人訪談)開始遷移;有時花更久其實更快(硬趕 6 週會花數月修破損整合並毀關係);專案延長時溝通的重要性呈指數上升——即使延誤,每週展示進度與價值的更新維繫了信任。
展現的工程能力:技術當責、利害關係人溝通、務實解題、從失敗中學習;並避開常見陷阱(不甩鍋、不找藉口、不把延誤定調為純負面)。
4.「談談你犯過最大的錯誤與後續發展。」[經理]
- Context:擔任工程經理第 8 個月,帶 12 位工程師(分後端與前端),一直沒達到 sprint 承諾、跨職能交接造成瓶頸;讀了《Team Topologies》後,我深信重組為全端功能團隊能解決速度問題;工程 VP 給我自主權,加上 Q4 規劃將至、我有壓力要拿出指標。
- Actions:我花一個週末設計自認完美的重組——三個 4 人 pod、依客戶區隔而非技術層劃分,還做了彩色試算表;週一站會宣布時,我期待大家對更高自主權興奮,換來的卻是冰冷沉默、資深後端工程師的鏡頭「神秘」關閉;兩天內裂痕浮現:最資深工程師私下說我毀了三年累積的專長、前端工程師恐慌於突然要負責資料庫設計、後端覺得我貶低其專業;週末我意識到犯了大錯,產品團隊已在問 Q4 交付;我召開緊急會議、坦承錯誤、為未讓大家參與重大決策道歉並請求協助,並花時間說明重組動機、承諾一起解決;接下來兩週我辦協作工作坊,一起盤點真實痛點與我的假設——發現交接問題其實多來自需求不清、速度問題多受技術債影響;我們共同設計混合方案(保留職能專長,設輪值的「功能負責人」端到端擁有功能、同時獲得職能同儕支援);我也向 VP 謙卑說明先前自信宣布的重組正依團隊回饋調整,聚焦於我學到的變革管理。
- Results:協作式重組花 6 週(遠久於原本的週末計畫),但成果好得多:兩個月內 sprint 速度提升,更重要的是團隊士氣回升並超越重組前水準,該季員工調查回饋正面;功能負責人模式成了另外兩個團隊的範本。
- Learnings:再多理論知識也取代不了真正傾聽團隊——書和研討會給你工具,團隊告訴你該用哪個;領導者迅速且公開承認錯誤,比從不犯錯更能建立信任,我在緊急會議展現的脆弱成了與團隊關係的轉捩點;我的工作不是設計完美結構,而是促成團隊設計自己的結構——這種從「經理即架構師」到「經理即引導者」的轉變,從此定義了我的領導風格。
展現的管理能力:自覺、謙遜、團隊領導、從失敗中復原、組織影響力;並真正擁有一個實質錯誤(不用「其實是優點的弱點」閃躲)、展現決策對真實他人的衝擊、快速修正、脆弱式領導與協作解題。
說更長的故事#
上面是中等長度故事(約 3 分鐘)。面對「談談你影響力最大的專案」這類開放問題、或你較資深故事更複雜時,回應可以更長。長故事難講也難聽,需要一套組織系統維持專注。由於長度來自 Actions,把 Actions 依主題分組,並在 Context 之後先列出這些主題——我稱為目錄(Table of Contents)。聽者會知道接下來有什麼,你也能沿途立路標、逐一帶到每個主題。
長故事的結構從單一 CARL,變成:Context → 目錄 → 數個迷你 CARL(每個主題一個,各有自己的 Context、Actions、Results、Learnings)→ 整體 Results → 整體 Learnings。
- 在目錄後暫停:這是讓面試官問基礎問題的自然停頓點,也避免變成獨白。
- 前置結果(front-load results):故事夠長時,你可能被追問帶偏而永遠講不到 Results,所以可把 Results、甚至濃縮版 Learnings 直接放在最前面。
這種立路標與分組,如同簡報換投影片般維持聽眾投入、同時傳達大量行動,也展現你有條理的溝通方式。
延伸案例:長故事的目錄與迷你 CARL 示範
假設你完成一次大型後端重構,涉及:發現重構需求(基於 bug 與開發變慢)、與另一位資深工程師就架構與範圍化解衝突後對齊設計、實作(含自建訊息佇列)、漸進式切流上線(含對付設計盲點造成的意外 bug)。
開場前置結果+目錄:「我最終主導了這套系統的端到端重構,其中有三個部分特別值得談:(1) 我如何發現重構需求並化解與他人的衝突;(2) 我接手實作時遇到的技術難題;(3) 我們如何設計上線流程確保正確性。」
接著逐主題展開迷你 CARL,例如主題 1:
- Context:我約在此三個月前加入團隊,注意到 on-call 體驗遠比前團隊沉重,且上個功能花了兩倍時間、bug 遠超預期。
- Actions:我分析近兩輪 on-call 的 bug,交叉比對難改動的程式碼區塊,證實問題出在多年來只堆功能、不顧耦合與可測試性的義大利麵程式碼;我決定需完整重構,但會議上資深工程師堅持專注功能工作;我事後拿分析給他看,幫他看見需求,我們就投入時間與檢查點來回協商;對齊後我著手擬設計向團隊呈報……
- Results:我讓團隊對齊了投入重構的時間與整體技術路線。
- Learnings:這套蒐集數據、說服關鍵人物的有條理流程,在後來遇到顛簸時,讓專案不被質疑,收穫很大。
然後以「這帶我們到第二部分,技術實作……」銜接下一主題。
調整故事以貼合問題#
不是每個故事都能回答每個問題,但多數故事都有多個值得挖掘的角度。想想好萊塢為同一部電影剪不同預告:只放《魔戒》的感情戲會像愛情片,只放矮人與哈比人的橋段又像喜劇——同一素材,強調不同場景以打動不同觀眾。你的行為故事也一樣,可依問題選擇要凸顯哪些部分。
延伸案例:同一個故事「重剪」回應不同問題
以前述「遠比預期久的專案」(GraphQL 遷移)為例:
- 「談談你在沒有職權下影響他人的一次」:Context 圍繞負責 12 個內部工具的團隊;Actions 強調製作依賴關係圖、辦每週 office hours、建轉接層讓各團隊按自己步調遷移;Results 聚焦你的產出物被他團隊採用。
- 「描述一個有重大取捨的技術決策」:Context 談你如何發現 REST 與 GraphQL 遷移需求衝突;Actions 聚焦各選項分析、量化技術債成本、做概念驗證後決定接受實作時間增加;Results 強調轉接模式成了舊系統遷移的標準;Learnings 反思有時「較醜」的技術解才是對的商業解。
- 「談談你失敗的一次」:Context 講你如何基於天真估算、自信地告訴 CEO Q2 董事會前會完成;Actions 講承諾時程前盤點不足、直到東西壞掉才辨識出利害關係人,以及你如何帶出清楚選項、爭取支持以挽回;Results 強調你對未來估算階段的收穫。
回應價值觀問題#
「談談你對跨團隊溝通的做法」與「請談談某次……」不同。如前章所述,先給框架,再用 CARL 舉一個套用該框架的例子。
例如先給三層溝通框架(依溝通頻率):第一層是與直接互相依賴的團隊做緊密迴圈(共用 Slack、互相參加 sprint review、維護整合點的活文件,目標是近即時掌握阻礙與變更);第二層是與可能互相影響的鄰近團隊做結構化接觸(每月同步、每週簡潔狀態信、公開路線圖,目標是可預測而不淹沒對方);第三層是面向更廣組織的廣播(季度技術分享、wiki 文件、架構決策紀錄,目標是可被發現)。給完框架後,立刻接一個套用它的 CARL 故事。
延伸案例:跨團隊溝通的完整 CARL(Stripe 遷移)
- Context:我們要從 Stripe 遷移到自建付款系統以每年省 10 萬美元手續費;我主導跨 4 個工程團隊的技術執行,下游影響客服、財務、法遵,牽動 15 個微服務、每月數百萬美元交易且需零停機;CEO 已向投資人宣布這筆省錢,失敗不是選項。
- Actions:我立刻套用三層框架。第一層(緊密迴圈):找出直接建置遷移的三隊(付款、訂單管理、客戶資料),建共用 Slack(含 staging 自訂告警)、每早共同站會、維護即時遷移儀表板——付款團隊發現未記錄的 Stripe webhook 時,訂單團隊 10 分鐘內就知道,而非數天後才在 review 得知。第二層(結構化接觸):與財務、客服、行動團隊每週 30 分鐘同步(財務需切換前兩週通知以調整對帳、客服需新錯誤訊息 runbook),每週四下午發固定格式信「本週進度|下週變更|需留意風險」;當我們得延後 Phase 2 一週,這些團隊是第一手從我這聽到、附緩解計畫。第三層(廣播):每兩週發架構決策紀錄、錄技術分享、維護 wiki FAQ——這讓資料倉儲團隊發現我們的計畫、指出新系統會打斷他們的 ETL,是我們完全漏掉的。我也依需要調整層級:把行動團隊臨時從第二層提到第一層 48 小時以修競爭條件;並發第三層廣播給全工程,防止另兩隊引入類似 bug;切換週末時第一層持續開 Zoom、第二層每小時更新、第三層週一早上收摘要信。
- Results:只有 3 分鐘付款降級完成遷移,零重複扣款、零遺失交易;清楚的溝通結構讓客服知道如何處理問題、財務首日就完美對帳;基礎架構主管說這是她參與過最順的跨團隊專案,正因她總知道何時、如何收到更新。
- Learnings:大型專案的焦慮多來自資訊不確定,而非技術不確定——只要團隊相信會即時、直接聽到壞消息,就能承受;第二層團隊反而樂於收到比第一層少的即時資訊,好專注自己的工作又保持知情。
回應假設性問題#
與價值觀問題類似,假設性問題也難以揣測面試官想聽什麼。你能做的就是展現解題與結構化思考,並用相關的職涯例子佐證。以「假設專案落後進度,你會怎麼做」為例,可用這個結構:
- 釐清關鍵情境:光憑題目不會有足夠資訊,別擅自假設或直接跳到解法。問有針對性的問題(「這是對客戶的承諾還是內部期限?」「範圍或資源有彈性嗎?」「錯過的影響是什麼?」),控制在 30 ~ 60 秒,問題太多會顯得優柔或推託。目的是展現你懂「情境決定解法」,而非窮盡每個細節。
- 提出框架或做法:如同價值觀問題,先講你會如何診斷(「先搞清楚為何落後——是技術複雜度、範圍蔓延,還是資源限制?」),再說系統化步驟(「24 小時內評估三件事:現況與目標的真實差距、延誤根因、可用的取捨」),展現你不會慌、而是套用可重複的方法論。
- 提出 2 ~ 3 種可能情境與對應:別硬給單一答案,用分組展現細膩思考(若是低估複雜度,就停止加功能、限時探索;若是範圍蔓延,就逼出帶取捨的優先排序對話;若是團隊速度,就診斷是需要流程改善還是額外專業)。
- 用真實例子落地:最好有相關職涯故事,用簡短 CARL 分享。
- 有力收尾:以向前的動能結束,而非漸弱收場——說你接下來會做什麼(「實施即時修復後,我會做回顧以防復發」)、點出常見陷阱(「最大的錯是往落後專案硬塞人手,卻不修根因」),或把做法結晶為一條原則(「專案落後時,最高槓桿的往往是停下來換做法,而非只是加大力度」)。
運用這些基本說故事技巧,你的故事會既吸引人又切題,凸顯出對齊面試官所評估訊號領域的可重複行動。更進階的技巧見 Part 3:精煉回應。