Embedded Software Engineer, Perception (All Levels)
Los Angeles, CA·Posted 3d ago
airoboticsrust
<div class="content-intro"><p>Parallel Systems is pioneering autonomous battery-electric rail vehicles designed to transform freight transportation by shifting portions of the $900 billion U.S. trucking industry onto rail. Our innovative technology offers cleaner, safer, and more efficient logistics solutions. Join our dynamic team and help shape a smarter, greener future for global freight.</p></div><p><strong><span data-contrast="none"><span data-ccp-parastyle="heading 1">Embedded Software Engineer, Perception</span></span><span data-ccp-props="{"134245418":true,"134245529":true,"335559738":360,"335559739":80}"> (All Levels)</span></strong></p> <p><span data-contrast="none">Parallel Systems is seeking an experienced Firmware Engineer to build the low-level software that powers the perception sensing stack on our fully autonomous, battery-electric rail vehicles. In this role, you'll own the drivers, kernel components, and firmware that get high-throughput camera and lidar data off the sensor and into our perception pipeline reliably, in real time, and at scale. You'll work at the boundary of Linux, ARM, and NVIDIA compute platform, partnering closely with the embedded platform engineers who maintain our custom Linux platforms to bring up hardware, harden drivers, and squeeze every millisecond of latency out of our sensing pipeline. If you like living close to the kernel, the hardware, and the timing budget, we'd love to work with you.</span><span data-ccp-props="{"134245418":true,"134245529":true}"> </span></p> <p><span data-ccp-props="{"134245418":true,"134245529":true}"><strong>We are open to candidates across a range of experience levels, excluding recent graduates.</strong> </span></p> <p><strong><span data-contrast="none"><span data-ccp-parastyle="heading 3">Responsibilities</span></span></strong><span data-ccp-props="{"134245418":true,"134245529":true,"335559738":281,"335559739":281}"> </span></p> <ul> <li><span data-contrast="none">Develop and maintain drivers, kernel modules, and firmware for embedded Linux systems running on ARM and NVIDIA (Jetson/Tegra) compute platforms.</span><span data-ccp-props="{"335559738":240,"335559739":240}"> </span></li> <li><span data-contrast="auto">Write low-level systems software in Rust and C/C++ for perception-critical components, from board bring-up through production hardening.</span><span data-ccp-props="{"335559738":240,"335559739":240}"> </span></li> <li><span data-contrast="auto">Build, modify, and optimize drivers for high-throughput sensors such as camera, lidars, IMUs, including capture pipelines, buffer management, and data integrity under sustained load.</span><span data-ccp-props="{"335559738":240,"335559739":240}"> </span></li> <li><span data-contrast="auto">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.</span><span data-ccp-props="{"335559738":240,"335559739":240}"> </span></li> <li><span data-contrast="auto">Test and validate low-level sensor configuration changes across firmware and sensor revisions to confirm correct behavior under different test conditions</span><span data-ccp-props="{"335559738":240,"335559739":240}"> </span></li> <li><span data-contrast="auto">Profile and optimize GPU and kernel-level performance on NVIDIA platforms (CUDA, TensorRT, scheduling, memory/IO) to meet real-time constraints for perception workloads.</span><span data-ccp-props="{"335559738":240,"335559739":240}"> </span></li> </ul> <p><strong><span data-contrast="none"><span data-ccp-parastyle="heading 3">What Success Looks Like:</span></span></strong><span data-ccp-props="{"134245418":true,"134245529":true,"335559738":281,"335559739":281}"> </span></p> <ul> <li><strong><span data-contrast="none">After 30 Days: </span></strong><span data-contrast="none">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.</span><span data-ccp-props="{"335559738":240,"335559739":240}"> </span></li> <li><strong><span data-contrast="none">After 60 Days: </span></strong><span data-contrast="none">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.</span><span data-ccp-props="{"335559738":240,"335559739":240}"> </span></li> <li><strong><span data-contrast="none">After 90 Days: </span></strong><span data-contrast="none">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.</span><span data-ccp-props="{"335559738":240,"335559739":240}"> </span></li> </ul> <p><strong><span data-contrast="none"><span data-ccp-parastyle="heading 3">Basic Requirements:</span></span></strong><span data-ccp-props="{"134245418":true,"134245529":true,"335559738":281,"335559739":281}"> </span></p> <ul> <li><span data-contrast="none">Bachelor's or higher degree in Computer Science, Electrical Engineering, or a related technical discipline</span><span data-ccp-props="{"335559738":240,"335559739":240}"> </span></li> <li><span data-contrast="none">4+ years of hands-on experience in embedded, firmware, or systems software engineering.</span><span data-ccp-props="{"335559738":240,"335559739":240}"> </span></li> <li><span data-contrast="auto">Strong knowledge of Linux internals and driver development on ARM-based platforms.</span><span data-ccp-props="{"335559738":240,"335559739":240}"> </span></li> <li><span data-contrast="auto">Proficiency in Rust and C++ for systems-level programming.</span><span data-ccp-props="{"335559738":240,"335559739":240}"> </span></li> <li><span data-contrast="auto">Experience with NVIDIA embedded platforms (Jetson/Tegra)</span><span data-ccp-props="{"335559738":240,"335559739":240}"> </span></li> <li><span data-contrast="auto">Experience developing or maintaining drivers for high-throughput sensors such as cameras and/or lidar, including data capture, buffering, and timestamp synchronization.</span><span data-ccp-props="{"335559738":240,"335559739":240}"> </span></li> <li><span data-contrast="auto">Comfortable debugging across the hardware/software boundary (device tree, kernel logs, oscilloscope, logic analyzer).</span><span data-ccp-props="{"335559738":240,"335559739":240}"> </span></li> <li><span data-contrast="auto">Excellent communication and collaboration skills, with experience working on interdisciplinary teams.</span><span data-ccp-props="{"335559738":240,"335559739":240}"> </span></li> </ul> <p><strong><span data-contrast="none"><span data-ccp-parastyle="heading 3">Preferred Qualifications:</span></span></strong><span data-ccp-props="{"134245418":true,"134245529":true,"335559738":281,"335559739":281}"> </span></p> <ul> <li><span data-contrast="none">Experience with GPU and kernel-level optimization on NVIDIA platforms (CUDA, TensorRT).</span><span data-ccp-props="{"335559738":240,"335559739":240}"> </span></li> <li><span data-contrast="none">Experience with </span><span data-contrast="auto">Yocto-based builds.</span><span data-ccp-props="{"335559738":240,"335559739":240}"> </span></li> <li><span data-contrast="auto">Hands-on experience with V4L2, GStreamer, MIPI CSI-2 camera stacks.</span><span data-ccp-props="{"335559738":240,"335559739":240}"> </span></li> <li><span data-contrast="auto">Experience in autonomous vehicles, robotics, or other safety-critical domains.</span><span data-ccp-props="{"335559738":240,"335559739":240}"> </span></li> <li><span data-contrast="auto">Familiarity with ROS2, sensor fusion, or SLAM.</span><span data-ccp-props="{"335559738":240,"335559739":240}"> </span></li> <li><span data-contrast="auto">Knowledge of and experience contributing to real-time perception streaming pipelines, including GStreamer-based media pipelines.</span><span data-ccp-props="{"335559738":240,"335559739":240}"> </span></li> </ul><div class="content-pay-transparency"><div class="pay-input"><div class="description"><p><span style="font-size: 12px;"><em>We are committed to providing fair and transparent compensation in accordance with applicable laws. Salary ranges are listed below and reflect the expected range for new hires in this role, based on factors such as skills, experience, qualifications, and location. Final compensation may vary and will be determined during the interview process. The target hiring range for this position is listed below.</em></span></p></div><div class="title">Target Salary Range:</div><div class="pay-range"><span>$154,000</span><span class="divider">—</span><span>$212,000 USD</span></div></div></div><div class="content-conclusion"><p><span style="font-size: 10pt;"><em>Parallel Systems is an equal opportunity employer committed to diversity in the workplace. All qualified applicants will receive consideration for employment without regard to any discriminatory factor protected by applicable federal, state or local laws. We work to build an inclusive environment in which all people can come to do their best work.</em></span></p> <p><span style="font-size: 10pt;"><em>Parallel Systems is committed to the full inclusion of all qualified individuals. As part of this commitment, Parallel Systems will ensure that persons with disabilities are provided reasonable accommodations. If reasonable accommodation is needed to participate in the job application or interview process, to perform essential job functions, and/or to receive other benefits and privileges of employment, please contact your recruiter.</em></span></p></div>