The Sensors and System Software team is crucial to autonomous driving, developing the core software that allows our vehicles to perceive and understand the world around them. Join our team and directly contribute to groundbreaking autonomous driving technology, revolutionizing transportation. Work with state-of-the-art sensors and technologies, pushing the boundaries of perception. Learn from top engineers, tackle complex challenges, and expand your expertise in real-time systems, embedded software, and sensor fusion. Thrive in a dynamic team of experts, fostering innovation and intellectual stimulation.
About the RoleWe are seeking a highly experienced Embedded Linux Software Engineer responsible for building and maintaining the custom Linux-based systems that power our cutting-edge embedded devices. You'll work closely with hardware and sensor team colleagues to develop and optimize the low-level software that drives our core technologies.
What You'll Do- Perform initial board bring-up on new hardware revisions, working closely with hardware engineers to debug and validate system functionality.
- Working closely with other teams to build and maintain our custom Linux distributions to enable testing, manufacturing and production operations for various embedded devices.
- Write, port, and debug complex Linux device drivers for a wide array of vehicle-critical peripherals, including: GMSL/FPD-Link cameras, automotive Ethernet and various peripherals: I2C, SPI, PCIe, GPIO, and UART.
- Support the users by providing technical support and debugging cross disciplinary software and hardware-related problems.
- Develop, optimize and maintain low-latency, robust low-level userspace software for Camera, LiDAR, Radar, IMU, GNSS, Microphones, and other autonomous vehicle sensors and actuators using C++/Python.
- Minimum of 5 years of experience in embedded software development.
- Strong proficiency in C/C++ programming for real-time embedded systems, including working in an asynchronous environment with multiple real-time, low-latency, safety-critical systems processes.
- Strong skills in Python and Bash for automation, testing and supporting tasks
- Proven, hands-on experience with embedded Linux kernel, including preempt_rt, device drivers and system services development for ARM-based platforms.
- Demonstrable experience with board bring-up on custom hardware.
- Understanding the electrical engineering fundamentals to be able to perform schematics and designs reviews and hardware debugging using oscilloscope, logic analyzers, etc.
- Experience with common automotive hardware interfaces like CAN, SPI, I2C, PCIe, Ethernet.
- Experience with Linux networking and debugging network-related issues.
- 5+ years of experience in software engineering, preferably in self-driving cars or other autonomous vehicles or robotic systems
- Experience with the Nvidia embedded platforms, including the video processing subsystem - ISP, SerDes, Hardware encoding.
- Understanding fundamentals of Camera, LiDAR, Radar, IMU, GNSS, and other sensor technologies, including their principles of operation, pros/cons and limitations.
- Familiarity with ROS or similar frameworks and related communication protocols.
Candidates are required to be authorized to work in the U.S. The employer is not offering relocation sponsorship, and remote work options are not available.
What We Do
Avride is a leading developer in the autonomous vehicle and delivery robot industry.
Our dynamic team, composed of a few hundred engineers develops and operates autonomous cars and delivery robots across the globe, shaping the future of mobility and logistics.
At Avride, we are committed to making the roads safer and more accessible for everyone. At the core of our philosophy is the belief in the transformative power of technology. Every product we develop, every test we conduct, and every service we launch is anchored in our vision of creating a safer and more sustainable world with help of cutting-edge technologies and breakthrough solutions