决定聘请一位 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++ 与 Rust 的内存安全——现代 C++ 实用示例对比 。
常见问题
在英国聘请一位 C++ 开发者要花多少钱? 合约日价通常为中级每天 400 到 600 英镑,资深专家 600 到 900 英镑,低延迟金融工作超过 1,000 英镑。正职薪资一般落在 55,000 到 130,000 英镑之间,取决于资历与领域。
所有 C++ 开发者都可以互换吗? 不能。嵌入式、系统、游戏、低延迟和桌面应用工作使用语言的不同子集、不同工具和不同的性能文化。请在职位描述里写明领域,因为选错专长方向,会在一个已经吃紧的项目上多花几个月的爬坡时间。
现代 C++ 开发者和经验丰富的开发者差别在哪里? 现代实践依赖用类型表达所有权、资源生命周期管理、移动语义、标准库容器与算法,以及把检测器和静态分析当成日常。用旧风格写了很多年,和当下的胜任能力不是一回事。
我该聘 C++ 合约开发者还是正职员工? 合约开发者适合有边界的工作,例如性能调查、平台移植和顽固缺陷,而且几周内就能开工。正职适合持续的产品开发,但要预留三到四个月的搜寻期,因为强的 C++ 开发者很少停留在市场上。
在向内存安全语言迁移的趋势下,C++ 还值得投入吗? 值得,在它仍然占主导的领域里,包括嵌入式系统、图形、高性能计算,以及任何依赖成熟原生生态的项目。务实的做法是写现代的、经工具检查的 C++,并有选择地为面向网络的新组件挑选内存安全的替代方案。
评论