Austin, US
Full time
On site

Embedded Linux Software Engineer

Apply now
Apply now

About the Team

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 Role

We 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.

What You'll Need

  • Bachelor's or Master's degree in Computer Science, Robotics, Electrical Engineering and related fields.
  • 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.

Nice to Have

  • 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.

Apply now

Resume/CV*
.pdf only
Attachments must not exceed 10MB
Uploading...
fileuploaded.jpg
Upload failed. Max size for files is 10 MB.
This field is required
Email*
Additional information
This field is required
Submit your application

By clicking Submit, you agree to our Job Candidates Privacy Notice

* Required information

Your application has been sent. Thank you!
We'll get back to you within a week.
Something went wrong. Please, try again.