编程与软件开发

在迪拜招聘 C++ 开发工程师

游戏和嵌入式设备之外的复杂、资源受限软件,从交易和仿真系统到跨平台桌面应用。

  • Google 评分 4.7
  • 200+ 家客户
  • 2018 年起扎根迪拜
45 分钟获取书面固定报价

迪拜招聘 C++ 开发工程师的需求,通常出现在正确性和资源使用这两点都真正重要的场合:一个有严格时间要求、处理数据的交易或风控系统,一个进行大量计算的工程或仿真工具,或是一个必须在多个操作系统上都可预测运行的跨平台桌面应用。负责维护该语言官方网站的 Standard C++ Foundation,将 C++ 标准化描述为一个由国际委员会推动的、持续进行中的过程,而不是一门定下来就搁置一旁的语言。

本页刻意不涉及游戏。搭建或委托开发一款真正的游戏,属于我们专门的游戏开发工程师和 Unity 开发工程师页面,因为这类工作有自己的一套引擎、工具链和交付方式。本页涵盖的是 C++ 在游戏之外真正擅长的一切:那些响应缓慢或不可预测会带来实际代价的系统,以及那些为了灵活性而愿意承担面向对象语言额外复杂度的场景,相比纯 C 更划算的地方。

C++ 开发工程师负责搭建的内容

迪拜C++开发工程师:典型工作

刻意排除游戏之外,C++ 仍然发挥独特作用的领域。

交易与金融系统

处理时间和可预测性直接相关的软件,构建时会仔细考量内存和资源的使用方式。

工程与仿真软件

用于建模、分析或仿真的计算密集型工具,C++ 在这里能提供脚本语言无法企及的性能。

跨平台桌面应用

同一份代码库可以在 Windows、macOS 和 Linux 上编译并可预测地运行,三者之间共享逻辑。

其他软件所依赖的库

基于稳定接口构建的可复用组件,一旦出错就会影响之后所有链接它的软件。

老旧 C++ 代码库的现代化

把现有代码库升级到当前的 C++ 标准,用后续版本新增的更安全特性替换较旧、风险更高的写法。

性能分析与调优

找到并修复系统中真正缓慢的那部分,依据的是实际测量,而不是猜测。

大多数需要在迪拜招聘 C++ 开发工程师的企业,需要的是以上多项的组合,而不只是清单中的某一项,因此在简报中说明实际的问题很重要。

值得关注的技能

迪拜C++开发工程师招聘前应核实的技能

关于复杂度和资源使用的判断力,而不只是语法知识。

技能或工具良好水平的表现为什么重要
现代 C++ 实践使用当前标准的特性和惯用写法,而不是委员会早已改进过的陈旧风格较旧的写法往往安全性更低,也更难维护,不如现代替代方案
资源与内存所有权能清楚说明一段内存归谁所有、何时释放,并使用语言自身的所有权工具来表达所有权混乱是大多数严重 C++ bug 的根源
构建系统与跨平台工具熟悉项目实际使用的构建系统,并了解目标平台之间的差异一个只能在某位开发工程师自己电脑上构建的代码库,并不算真正完成
性能测量先分析后优化,而不是猜测代码哪一部分慢把精力花在优化错误的地方,会浪费时间却解决不了真正的问题
阅读老旧代码库能够熟练处理用较早风格写成的代码,而不做不必要的重写许多 C++ 工作是维护并扩展一个已经存在的系统

Standard C++ Foundation 的官方网站 详细记录了委员会的工作进展,一位持续关注它、而不是仅凭多年前养成的习惯做事的候选人,通常更了解真正让现代 C++ 更安全的那些特性。面向需要维持多年的系统时,这种时效性值得在招聘时直接核实。

与我们合作的方式

迪拜C++开发工程师:合作方式

一个持续演进的交易平台或仿真产品,通常适合专职开发人员,长期嵌入您的团队,而不是只为一次交付而临时加入。一次性能审计、一次跨平台移植,或一次老旧代码库的现代化改造,则更适合限定项目,一次性报价并在结束时附带文档移交。如果您更希望搭建自己长期的系统工程团队,招聘支持会由我们负责寻找和技术评估,您来完成录用。当开放性的问题涉及架构层面,例如一个系统的结构或性能特征是否需要重新思考,这类决策更适合通过咨询服务在投入任何搭建工作之前做出。

合作模式一览

  • 持续演进的产品:专职,嵌入您的团队
  • 一次审计、移植或重建:限定项目
  • 搭建自己的团队:招聘支持
  • 开放性的架构问题:先做咨询

请直接说明以上哪一种适合您,我们会据此确定范围。

评估候选人

迪拜C++开发工程师:面试检验方式

区分真正系统级判断力与仅仅熟悉语法的检验方式。

  1. 询问他们解决过的一个真实性能问题

    具体哪里慢、如何测量出来的,以及做了什么改动解决了它,而不是一句泛泛的“写代码很注重性能”。

  2. 询问他们在自己代码中如何管理所有权

    能清晰、具体地说明自己项目中内存所有权是如何表达的,是一个有力的信号;含糊其辞则是一个警示信号。

  3. 让候选人阅读一份老旧的代码库

    询问他们会改动什么、会保留什么不动。一个什么都想重写的人,在维护工作繁重的项目中可能是一个代价高昂的选择。

  4. 如果相关,询问他们的跨平台经验

    如果项目面向不止一个操作系统,询问在实践中究竟有哪些差异,而不只是理论上的差异。

  5. 核实他们对您所用构建系统的熟悉程度

    请对方描述如何从零搭建项目的构建流程,这能迅速区分真实经验和仅仅熟悉某个教程的搭建方式。

无论选择哪种合作模式,招聘前都值得走完这些检验,因为它们都不依赖于合同的具体形式。

认证

迪拜C++开发工程师:认证有意义吗

本身意义有限,因为标准是由委员会而非单一厂商制定的。

一个国际委员会,而非考试机构

C++ 标准由 ISO 工作组 WG21 制定,该组织本身并不开展任何认证项目。培训机构颁发的徽章反映的是完成了一门课程,而不是在真实条件下交付过一个系统。

迪拜C++开发工程师:更看重交付成果而非徽章

在真实的性能或可靠性压力下搭建或维护过的一个系统,才是值得询问的证据。请候选人讲一遍这个系统,并说明其中的决策依据。招聘前的这一次对话,比任何徽章都更能说明问题。

本页属于 编程与软件开发 类别,是 迪拜招聘开发人员 板块的一部分。不涉及面向对象的更底层工作,单独由我们的 C 开发工程师 页面负责。如果实际交付物是一款游戏或互动类 Unity 作品,我们的 游戏开发工程师Unity 开发工程师 页面更合适,而面向新系统工作的内存安全选项则在我们的 Rust 开发工程师 页面上。

直接解答

常见问题

除了游戏之外,C++ 开发工程师通常做什么工作?

性能关键、往往也很复杂的软件,其中可预测的资源使用至关重要:交易系统、工程与仿真软件、跨平台桌面应用,以及其他软件所依赖的各类库。

C++ 开发工程师和游戏开发工程师或 Unity 开发工程师是一回事吗?

不是。游戏引擎和互动类作品由我们专门的游戏开发工程师和 Unity 开发工程师页面负责。本页讲的是游戏之外的 C++,这类系统对正确性和性能的要求同样很高,只是最终交付物不是一款游戏。

对于新项目,C++ 和纯 C 有什么不同?

C++ 在 C 的基础上增加了面向对象、模板和庞大的标准库,代价是学习和审查的复杂度更高。对于新的、性能敏感的系统,C++ 或 Rust 通常比纯 C 更适合作为起点。

C++ 目前还在积极开发吗,还是已经是一门遗留语言?

仍在积极开发。ISO C++ 标准由一个国际委员会按固定周期定期发布新版本,不断加入现代语言和标准库特性,并不是一门被冻结在旧风格中的语言。

C++ 开发工程师能维护用较旧风格写成的老代码库吗?

可以,这是很常见的工作。安全地阅读并修改一个在现代特性出现之前就已写成的老 C++ 代码库,是一项与编写全新的现代 C++ 同样有价值、但完全不同的技能。

书面固定价格

发送您的需求,45 分钟内获取工作范围和价格。

  • 开工前书面确认的一个固定金额
  • 无任何义务,也不会催促签约
  • 英文和阿拉伯文作品,正确处理从右到左排版
  • 一个团队负责设计、营销、网站、媒体和文案

获取您的固定价格报价

工作时间内 45 分钟给出书面范围和价格,无任何义务。

提交即表示您同意我们就您的咨询与您联系。 隐私政策

致电 WhatsApp 获取报价