Embedded Software Engineer, Perception (All Levels)
Overview
In this role you will develop and harden the low-level software powering the perception stack for our autonomous, battery-electric rail vehicles. You will own drivers, kernel components, and firmware on ARM/NVIDIA Jetson platforms, driving real-time data flows from sensors into perception pipelines. You’ll partner with embedded platform engineers to optimize latency, timing, and data integrity across multi-sensor setups. This is an opportunity to shape the efficiency and reliability of high-throughput sensing at scale, directly supporting production ML inference. You’ll work in a fast, cross-functional environment that values clean design, performance, and hardware-software integration.
ResponsibilitiesDevelop and maintain drivers, kernel modules, and firmware for embedded Linux on ARM and NVIDIA platformsImplement low-level systems code in Rust and C/C++ for perception-critical componentsOptimize drivers for high-throughput sensors (camera, lidar, IMU) including pipelines, buffering, and data integrityImprove real-time sensing performance through timesync, latency reduction, and jitter controlTest and validate sensor configurations across firmware and sensor revisionsProfile and optimize GPU/kernel performance on NVIDIA (CUDA, TensorRT) to meet real-time perception constraints
Key requirementsBachelor's or higher degree in Computer Science, Electrical Engineering, or related technical discipline4+ years of hands-on embedded, firmware, or systems software experienceSolid knowledge of Linux internals and driver development on ARM-based platformsProficiency in Rust and C++ for systems programmingExperience with NVIDIA embedded platforms (Jetson/Tegra)Experience developing or maintaining drivers for high-throughput sensors (cameras, lidar) with data capture, buffering, and timestamp synchronizationComfort debugging at hardware/software boundary (device tree, kernel logs, oscilloscope, logic analyzer)Excellent communication and collaboration skillsstrong communicationcollaborationinterdisciplinary teamworkRustC++embedded Linux