Job opportunities

51
companies
1,303
Jobs

自动驾驶研发工具工程师 (J240226015)

Didi

Didi

Beijing, China
Posted 6+ months ago
职位描述

从事以下一项或多项工作:

1. 负责开发、配置、维护一套构建自动化工具(build automation),将自动驾驶软件代码编译成二进制可执行格式(binary executable),并能对不同的目标环境(targets)进行优化和封装:车载(onboard)系统、仿真(simulation)系统。

2. 优化编译构建工具的内在执行速度,用最短的时间内完成代码到目标软件包的构建;利用缓存和分布式编译等外部优化方法进一步提升该工具端到端的运行速度。

3. 将上述工具部署到云上环境中,支持开发人员异步提交编译任务执行;提出并建立一套指标体系,通过埋点和收集数据,评估、追踪上述系统的运行状况。

4. 开发并维护一套软件依赖管理(dependency management)系统,能快速灵活地将自动驾驶算法开发和运行所依赖的库(libraries)和工具(utilities)部署到车载计算单元、本地开发、以及云上仿真等环境中。

5. 参与开发testing infrastructure,提高CI/CD系统中单元测试的运行速度。

6. 通过其他工具和手段提升自动驾驶软件研发的效率和体验。

任职要求

岗位要求:

1. 计算机、电子工程、信息技术相关专业本科以上学历。

2. 本科学历要求具备三年以上工作经验,硕士及以上学历具备两年以上工作经验。

3. 扎实的计算机系统基础知识,包括但不限于:操作系统、编译原理、网络、计算机组成原理、体系结构。

4. 良好的C++的基础知识,理解C/C++的预处理、编译、链接等过程。

5. 一定的脚本编写能力。熟悉python编程。

6. 较强的学习能力;具备强烈的责任心和自我驱动力。

7. 良好的沟通能力和团队合作精神。

具备以下条件者优先:

1. Bazel构建系统的深度使用经验。

2. 其它主流编译器和构建工具的深度使用经验:gcc/g++, clang, cmake, nvcc等。

3. 了解并熟悉以下工具或系统:docker, dpkg, ubuntu等。

4. 具备自动驾驶仿真系统研发或深度使用经验。

5. 具备云端分布式系统的研发或深度使用经验。