About the job
Join Our Innovative Team
The Sensors and System Software team plays a pivotal role in the realm of autonomous driving, crafting the essential software that empowers our vehicles to interpret and navigate their surroundings. By joining our team, you'll make a direct impact on revolutionary autonomous driving technologies, reshaping the future of transportation. Collaborate with cutting-edge sensors and technologies, and push the limits of perception. Learn from industry-leading engineers, confront complex challenges, and deepen your knowledge in real-time systems, embedded software, and sensor fusion. Flourish in a vibrant team of experts that encourages innovation and intellectual growth.
Role Overview
We are on the lookout for a highly skilled Embedded Linux Software Engineer who will be responsible for the development and maintenance of custom Linux-based systems that power our advanced embedded devices. You will collaborate closely with hardware and sensor teams to develop and enhance the low-level software that drives our core technologies.
Key Responsibilities
- Conduct initial board bring-up on new hardware revisions, partnering with hardware engineers to troubleshoot and validate system functionality.
- Collaborate with cross-functional teams to build and maintain custom Linux distributions, facilitating testing, manufacturing, and production operations for various embedded devices.
- Develop, port, and debug intricate Linux device drivers for critical vehicle peripherals, including GMSL/FPD-Link cameras, automotive Ethernet, and various interfaces such as I2C, SPI, PCIe, GPIO, and UART.
- Provide technical support to users by troubleshooting and resolving interdisciplinary software and hardware-related issues.
- Create, optimize, and sustain low-latency, robust low-level userspace software for Camera, LiDAR, Radar, IMU, GNSS, Microphones, and other sensors and actuators for autonomous vehicles using C++ and Python.
Required Qualifications
- Bachelor's or Master's degree in Computer Science, Robotics, Electrical Engineering, or related fields.
- At least 5 years of experience in embedded software development.
- Strong expertise in C/C++ programming for real-time embedded systems, including proficiency in working within an asynchronous environment with multiple real-time, low-latency, safety-critical processes.
- Solid skills in Python and Bash for automation, testing, and supporting tasks.
- Demonstrated hands-on experience with the embedded Linux kernel, including preempt_rt, device drivers, and system services development for ARM-based platforms.
- Substantial experience with board bring-up processes.

