Responsibilities
- Develop and maintain drivers, kernel modules, and firmware for embedded Linux systems running on ARM and NVIDIA (Jetson/Tegra) compute platforms.
- Write low-level systems software in Rust and C/C++ for perception-critical components, from board bring-up through production hardening.
- Build, modify, and optimize drivers for high-throughput sensors such as cameras, lidars, IMUs, including capture pipelines, buffer management, and data integrity under sustained load.
- Own the performance of sensing hardware and drive real-time optimizations — implementing timesync, reducing latency and jitter, eliminating dropped frames, and keeping multi-sensor pipelines deterministic under load.
- Test and validate low-level sensor configuration changes across firmware and sensor revisions to confirm correct behavior under different test conditions.
- Profile and optimize GPU and kernel-level performance on NVIDIA platforms (CUDA, TensorRT, scheduling, memory/IO) to meet real-time constraints for perception workloads.
What Success Looks Like
After 30 Days: You've developed a working understanding of our embedded Linux stack, NVIDIA Tegra/Jetson build system, and sensor architecture. You've identified initial performance bottlenecks and created a development plan to address them.
After 60 Days: You've landed driver or kernel-level improvements on at least one sensor pipeline, contributed hands-on to the Yocto/Tegra build alongside the embedded platform team, and built diagnostics for latency, dropped frames, and timing drift. You're actively contributing to the real-time system that handles sensor data ingestion and feeds ML model inference in production.
After 90 Days: You own a driver or firmware subsystem end-to-end, with a measurable reduction in latency and jitter and improved timesync across the camera/lidar pipeline. You're contributing to the real-time perception pipeline, including the system handling sensor data and ML model inference, and to GPU/kernel optimization work with clear impact on overall perception throughput.
Basic Requirements
- Bachelor's or higher degree in Computer Science, Electrical Engineering, or a related technical discipline.
- 4+ years of hands-on experience in embedded, firmware, or systems software engineering.
- Strong knowledge of Linux internals and driver development on ARM-based platforms.
- Proficiency in Rust and C++ for systems-level programming.
- Experience with NVIDIA embedded platforms (Jetson/Tegra).
- Experience developing or maintaining drivers for high-throughput sensors such as cameras and/or lidar, including data capture, buffering, and timestamp synchronization.
- Comfortable debugging across the hardware/software boundary (device tree, kernel logs, oscilloscope, logic analyzer).
- Excellent communication and collaboration skills, with experience working on interdisciplinary teams.
Preferred Qualifications
- Experience with GPU and kernel-level optimization on NVIDIA platforms (CUDA, TensorRT).
- Experience with Yocto-based builds.
- Hands-on experience with V4L2, GStreamer, MIPI CSI-2 camera stacks.
- Experience in autonomous vehicles, robotics, or other safety-critical domains.
- Familiarity with ROS2, sensor fusion, or SLAM.
- Knowledge of and experience contributing to real-time perception streaming pipelines, including GStreamer-based media pipelines.