決定聘請一位 C++ 開發者,通常是帶著一個具體問題來的。某個東西必須夠快,或者必須跑在硬體上,或者必須對接一個只提供原生介面的函式庫。隨後展開的招聘流程,往往把 C++ 當成一項單一技能,而這個假設正是大多數失望結果的源頭。

C++ 不是一個職位。一位出色的遊戲引擎程式設計師,在嵌入式韌體上可能真的做不出東西;一位低延遲交易專家,可能這輩子沒交付過一個圖形介面應用。三個人都是優秀的 C++ 開發者,但只有一個適合你的專案。

一句話版本: 在發布職缺之前,先確定五個 C++ 專長方向裡你真正需要哪一個,因為技能的移轉遠比職稱暗示的要少。英國的合約日價按領域大致在每天 400 到 900 英鎊之間,而考察時最有用的訊號,是候選人依靠工具、執行期偵測器和所有權紀律,而不是依靠個人的細心。


五個 C++ 專長方向,以及它們為什麼很少重疊

在職缺描述裡把領域說清楚,對候選名單品質的提升,超過你能做的任何其他事情。

系統與基礎設施。 資料庫、網路服務、編譯器、媒體管線,以及其他軟體賴以執行的底層。這類開發者思考的是記憶體配置、配置模式、並行性,以及跨作業系統的可攜性。他們通常熟悉建置系統與跨平台工具鏈,因為他們的程式碼必須在任何地方都能編譯。

嵌入式與韌體。 微控制器、即時限制、有限的記憶體,有時沒有作業系統,而且經常完全不做動態配置。這類工作使用語言中一個刻意收窄的子集,往往還要遵循 MISRA 或 AUTOSAR 這樣的編碼規範,並且需要其他專長方向都用不上的硬體除錯能力。

遊戲與圖形。 引擎、算繪、物理,以及對穩定影格預算的追求。自訂配置器、資料導向設計、GPU 管線與著色器工作佔據主導。這裡的效能文化和別處都不一樣,工具也是如此。

低延遲與金融。 在交易系統裡,稱職與卓越之間的差距是用微秒衡量的。快取行為、無鎖結構、繞過核心的網路,以及對生成的組合語言近乎病態的關注。這是市場上薪酬最高的一角,而且領先幅度不小。

桌面與應用。 工程工具、科學軟體、醫療設備與儀器控制,非常常見地建立在 Qt 之上。這類開發者把 C++ 與介面設計、封裝和平台整合結合起來,也最有可能同時寫 QML。如果這描述的正是你的產品,我們關於聘請 Qt 開發者 的指南談了這套框架額外要求的能力。

在一個領域很強的人可以轉到另一個領域,好的工程師也確實經常這麼做。他們做不到的,是在一個已經落後於計畫的專案上,立刻在陌生領域裡高效產出。


2026 年聘請一位 C++ 開發者要花多少錢

C++ 之所以有溢價,是因為供給有限而工作不容出錯。下面的數字反映英國的典型情況,並且隨領域差異很大。

中階 C++ 開發者的合約日價一般在每天 400 到 600 英鎊。資深工程師與專家落在 600 到 900 英鎊之間。低延遲金融工作完全是另一個量級,經常超過每天 1,000 英鎊;而安全關鍵的嵌入式工作因為認證與文件負擔,也有自己的溢價。

正職薪資中階通常落在 55,000 到 80,000 英鎊,資深與主任級角色是 85,000 到 130,000 英鎊。金融與專用硬體公司支付的遠高於這個區間,而他們爭奪的正是你要找的同一批人。

鄰近歐洲以每天 250 到 450 英鎊提供扎實的 C++ 能力,在嵌入式與系統方向尤其有深度。時區接近,讓這種方式對需要頻繁設計討論的工作,比遙遠的離岸安排現實得多,而 C++ 工作通常正需要這樣的討論。

關於成本還有一點實務提醒。C++ 的個體生產力差異比大多數語言都大。一個理解所有權模型的開發者和一個不理解的開發者之間,差的不是兩成,而是能穩定執行多年的程式碼,與每兩週產生一份當機報告的程式碼之間的差別。把日價往下壓,很少是省錢真正發生的地方。


現代 C++ 是另一門語言

最需要弄清楚的一件事,是候選人實際工作在哪個年代的 C++ 裡。2008 年寫的程式碼和今天寫的程式碼之間差距巨大,而不少擁有十五年經驗的開發者,這十五年寫的全是前一種。

現代實務建立在幾件事之上:把資源取得綁定到物件生命週期,透過獨佔指標與共享指標在型別系統中表達所有權,用移動語意讓回傳大型物件變得廉價,以及使用標準函式庫的容器與演算法而不是手寫迴圈。較新的標準加入了 ranges、concepts 與 coroutines,改變了泛型程式碼與非同步程式碼的寫法。

反向訊號是:滿是成對 new 與 delete 呼叫的程式碼庫、出於習慣手寫的複製建構子、在函式之間傳遞的持有所有權的原始指標,以及本該用範本或常數運算式的地方卻用了巨集。這種風格不只是過時。它正是記憶體安全缺陷的來源,而記憶體安全在國防、醫療與關鍵基礎設施領域,如今是採購問題,不再只是工程偏好。

面試裡還有一個值得提出的相關話題:2026 年一個好的 C++ 開發者,對 C++ 在哪裡合適、在哪裡不合適是有看法的。我們在客戶專案上的立場是,這門語言屬於某個元件而不是屬於整家公司;一個能把這個理由講清楚的工程師,比一個到處為 C++ 辯護的工程師更有價值。


如何考察一位 C++ 開發者

五個問題能把深度和熟悉度分開,而且每一個都獎勵細節。

「這個指標歸誰所有?」 給候選人一小段程式碼,請他描述其中的所有權。強的開發者會立刻用生命週期的語言回答,並且會在原始指標作為非擁有觀察者完全正確時明確說出來。弱的答案把智慧指標當成風格偏好,而不是關於誰負責銷毀的宣告。

「你會對程式碼跑哪些工具?」 期待的答案包括位址與未定義行為偵測器、並行程式碼用的執行緒偵測器、clang-tidy 之類的靜態分析,以及把警告提升為錯誤。一個依賴個人勤勉而不是工具的開發者,沒有在大到足以擊敗個人勤勉的程式碼庫上工作過,而每個程式碼庫最終都會大到那個程度。

「說一個你找出來的記憶體缺陷,以及你是怎麼找到的。」 真實的答案是有畫面的,因為這類缺陷讓人難忘。他們會提到症狀出現在離原因很遠的地方、最終抓到它的那個工具,以及團隊隨後禁用某種寫法的教訓。說自己從沒遇到過的人,要麼運氣極好,要麼當時除錯的不是他。

關於工具與判斷力的問題

「你怎麼建置和相依第三方函式庫?」 實務中 CMake 佔主導,搭配 vcpkg 或 Conan 做套件管理,以及在容器裡做可重現建置。回答說建置由同事負責的人,在建置本身就是問題一部分的專案上會很吃力。

「什麼時候你不會用 C++?」 有底氣的工程師樂於回答這個問題,會舉出面向網路的元件改用記憶體安全的替代方案,或者把每週都在變的邏輯放進腳本層。想像不出替代方案的開發者,會條件反射地伸手去拿這門語言,在更簡單的方案就夠用的地方造出昂貴的系統。


合約、服務商,還是正職?

合適的合作形式,取決於工作會持續多久、專業化程度有多高。

合約開發者適合目標明確、範圍有界的工作:一次效能調查、一次移植到新平台、一次函式庫整合,或者一個內部團隊久攻不下的記憶體洩漏。專家能在很短的通知內到位,並帶來跨多個程式碼庫累積的模式辨識,而這正是一個頑固缺陷所需要的東西。

當工作的範圍超出程式碼本身時,找服務商是合理的,而在原生開發裡這很常見。建置基礎設施、跨平台測試、封裝、驅動程式互動與安全審查往往會一起到來。團隊還能在唯一理解執行緒模型的那個人休假時提供連續性。

當 C++ 是你產品的核心且工作持續不斷時,正職招聘才是對的。對時間要現實一點。好的 C++ 開發者很少長期留在市場上,三到四個月的搜尋是常態而不是運氣不好。合約與法遵方面,我們的英國開發者招聘指南 有更詳細的討論。

無論選哪條路,都請要程式碼。一份簡短、自成一體的範例,比多少輪面試都更能說明一個人怎麼思考,而任何認真的 C++ 開發者都有可以拿出來的東西。


與一支交付原生軟體的 C++ 團隊合作

Mecanik 在系統、桌面與貼近硬體的工作上提供可聘請的 C++ 開發者 ,按專案合作或長期駐點都可以。我們承接效能調查、跨平台移植、原生函式庫整合,以及累積了二十年習慣的老程式碼庫的現代化。

如果專案還包含介面層,我們的 Qt 開發者 在同一個團隊裡工作,應用和它下面的引擎不會被拆給兩家供應商。如果你現有的原生程式碼庫已經變成沒人想碰的東西,我們關於遺留軟體現代化 的文章說明了我們如何看待這個決定。

告訴我們這套軟體必須做什麼、必須跑在什麼上面,我們會告訴你這項工作實際需要哪個專長方向。


相關文章: 2026年後端開發遺留 PHP 現代化:2026 指南企業軟體授權模式選擇指南C++ vs Rust 記憶體安全——以現代 C++ 為例的實務比較


常見問題

在英國聘請一位 C++ 開發者要花多少錢? 合約日價通常為中階每天 400 到 600 英鎊,資深專家 600 到 900 英鎊,低延遲金融工作超過 1,000 英鎊。正職薪資一般落在 55,000 到 130,000 英鎊之間,取決於資歷與領域。

所有 C++ 開發者都可以互換嗎? 不能。嵌入式、系統、遊戲、低延遲與桌面應用工作使用語言的不同子集、不同工具與不同的效能文化。請在職缺描述裡寫明領域,因為選錯專長方向,會在一個已經吃緊的專案上多花幾個月的暖身時間。

現代 C++ 開發者和經驗豐富的開發者差別在哪裡? 現代實務依賴用型別表達所有權、資源生命週期管理、移動語意、標準函式庫容器與演算法,以及把偵測器和靜態分析當成日常。用舊風格寫了很多年,和當下的勝任能力不是一回事。

我該聘 C++ 合約開發者還是正職員工? 合約開發者適合有邊界的工作,例如效能調查、平台移植與頑固缺陷,而且幾週內就能開工。正職適合持續的產品開發,但要預留三到四個月的搜尋期,因為強的 C++ 開發者很少停留在市場上。

在往記憶體安全語言移動的趨勢下,C++ 還值得投入嗎? 值得,在它仍然佔主導的領域裡,包括嵌入式系統、圖形、高效能運算,以及任何相依成熟原生生態的專案。務實的做法是寫現代的、經工具檢查的 C++,並有選擇地為面向網路的新元件挑選記憶體安全的替代方案。