中间件框架工程师
职位描述
作为机器人软件框架核心成员,负责公司自研机器人中间件框架(集实时 M-to-N 通信、分布式数据总线、任务调度、数据回放与 AI 推理于一体)的架构设计与研发。主导底层通信链路、调度执行引擎与数据总线的高性能演进,支撑上层机器人业务在 x86、ARM、NVIDIA Jetson 等多平台上的实时、可靠运行。需具备扎实的现代 C++ 系统级功底、并发与性能优化能力,以及跨模块架构设计和落地经验,推动框架的稳定性、吞吐与延迟指标持续提升。
主要职责
1. 核心框架研发:负责中间件各核心模块(底层通信 fabric、消息总线、任务调度、推理基础设施)的设计、开发与维护,保障现代 C++ 代码质量、可移植性与实时性。
2. 高性能通信:主导 M-to-N 发布/订阅与 RPC 链路的性能优化,包括共享内存零拷贝、无锁数据结构、进程内/跨进程/跨节点多传输(TCP/Multicast/共享内存/PCIe)与 QoS 策略设计,持续压低延迟、提升吞吐。
3. 调度与执行引擎:负责数据流 DAG 拓扑、线程池、执行单元生命周期(初始化→执行→故障恢复)、多维运行状态管理与调度可视化,保证复杂业务图的正确执行与故障恢复。
4. 多平台适配:完成 x86_64、aarch64、NVIDIA Jetson(Orin/Thor)、Android ARM64 等平台的编译、适配与性能调优,处理平台差异(SoC、线程库、加固环境)带来的兼容性问题。
5. 稳定性与可观测:结合故障管理(FMEA)、数据/线程/SoC 监控与分布式日志体系,建设框架的可观测能力,定位并根治线上崩溃、内存问题(UAF/ABA)与竞态。
6. 工程化建设:完善基于 CMake / Conan 的构建体系、CI(静态检查、单元测试、覆盖率)与发版流程,推动模块解耦与依赖治理,提升整体研发效率。
7. 跨团队协同:与上层业务(感知、调度、数据回放)、AI 推理及硬件团队紧密配合,将框架能力沉淀为清晰的 API 与文档,支撑业务快速接入。
职位要求
1. 教育背景:本科及以上学历,计算机、软件工程、自动化、机器人或相关专业。
2. 经验要求:3 年以上 C++ 系统/中间件研发经验,有通信中间件、机器人框架、DDS/ROS、或高性能分布式系统研发背景者优先;主导或深度参与过大型 C++ 框架/基础库的设计与落地。
3. 核心能力:精通现代 C++,深入理解多线程/并发、内存模型、无锁编程、共享内存与零拷贝;熟悉网络通信与序列化(Protocol Buffers / FlatBuffers 等);具备扎实的性能分析与调优能力(perf、ASAN/TSAN、Perfetto 等)。
4. 工程能力:熟悉 CMake / Conan 构建体系与 CI/CD 流程;有良好的模块化设计、代码规范与单元测试意识。
5. 平台经验:有 ARM/嵌入式/NVIDIA Jetson(Orin/Thor)等异构平台开发或交叉编译经验者优先;了解 DDS(如 FastDDS)、ROS2、CyberRT 等机器人通信中间件者优先。
6. 加分项:深入理解 Linux 底层调度机制(CFS/实时调度类、CPU 亲和性/绑核、线程优先级、NUMA、cgroup、中断隔离等),能从系统调度层面参与任务编排的设计与优化;熟悉机器人实时系统、SLAM/感知/推理链路、CUDA 加速,或有复杂系统性能优化(延迟/吞吐)实战经验者优先。
投递