Join our companys HIL Team Where Real-World Driving Meets Real-Time Simulation Be part of the innovation powering our companys autonomous vehicle technology. Our Hardware-in-the-Loop (HIL) team, part of the Simulation Group, is developing the next generation of simulation platforms – bringing real-world sensor data into the lab to enable faster, safer, and more efficient AV development. The HIL system lets developers replay precise, high-fidelity driving scenarios to test the full autonomous stack – from perception to control – using real sensors, real timing, and real-world complexity.
What will your job look like?
Design & Build a high-performance HIL simulation platform in modern C++ (C++23) for real-time data replay.
Engineer the Core: Develop the data injection engine that streams and synchronizes recorded sensor and vehicle signals with sub-millisecond accuracy.
Solve Real-Time Challenges: Tackle complex software/hardware integration problems across latency, determinism, and networking.
Optimize Deeply: Profile and debug Linux systems from user space to kernel space, resolving bottlenecks in schedulers, drivers, and memory subsystems.
Collaborate Across Domains: Work with algorithm teams, systems engineers, and other stakeholders to deliver scalable, production-ready solutions.
Stay Sharp: Continuously evolve your expertise in C++, real-time systems, performance tuning, and simulation technologies.
What will your job look like?
Design & Build a high-performance HIL simulation platform in modern C++ (C++23) for real-time data replay.
Engineer the Core: Develop the data injection engine that streams and synchronizes recorded sensor and vehicle signals with sub-millisecond accuracy.
Solve Real-Time Challenges: Tackle complex software/hardware integration problems across latency, determinism, and networking.
Optimize Deeply: Profile and debug Linux systems from user space to kernel space, resolving bottlenecks in schedulers, drivers, and memory subsystems.
Collaborate Across Domains: Work with algorithm teams, systems engineers, and other stakeholders to deliver scalable, production-ready solutions.
Stay Sharp: Continuously evolve your expertise in C++, real-time systems, performance tuning, and simulation technologies.
Requirements:
6+ years of professional C++ development experience (C++17 and newer), with strong command of STL, memory models, move semantics, and modern idioms.
Deep knowledge of Linux systems and tooling – including CMake, Conan, GDB, perf, and Valgrind.
Real-world experience with real-time systems, low-latency software, and network-level data handling.
Proven ability in system-wide performance analysis and root-cause debugging of latency issues at driver or memory subsystem level.
A passion for precision, performance, and solving cross-disciplinary challenges.
Bonus Points:
Hands-on experience with embedded Linux, device drivers, or kernel module development.
Familiarity with QDMA or similar DMA technologies.
Background in robotics, automotive systems, simulation, or large-scale distributed systems.
6+ years of professional C++ development experience (C++17 and newer), with strong command of STL, memory models, move semantics, and modern idioms.
Deep knowledge of Linux systems and tooling – including CMake, Conan, GDB, perf, and Valgrind.
Real-world experience with real-time systems, low-latency software, and network-level data handling.
Proven ability in system-wide performance analysis and root-cause debugging of latency issues at driver or memory subsystem level.
A passion for precision, performance, and solving cross-disciplinary challenges.
Bonus Points:
Hands-on experience with embedded Linux, device drivers, or kernel module development.
Familiarity with QDMA or similar DMA technologies.
Background in robotics, automotive systems, simulation, or large-scale distributed systems.
This position is open to all candidates.