Software Engineer, Sensors and System Software (C++, Linux)
Avride
Salary undisclosed
Need a reasonable accommodation to apply or interview? Contact us.
JobMinglr uses automated technology to recommend jobs based on profile information and job preferences. Match Score does not determine eligibility for a position, prevent a user from viewing or applying to a job, or make hiring decisions on behalf of an employer.
Description
Software Engineer, Sensors and System Software (C++, Linux)
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 Software Engineer responsible for integrating the diverse array of sensors and various embedded hardware into our software pipelines. In this critical role, you will be responsible for designing, developing, debugging and maintaining the core software stack as well as cultivating deep expertise in the sensor domain, serving as a key resource and guiding other team members towards optimal solutions.
You will:
- Design, develop, optimize and maintain low-latency, robust device drivers and software pipelines for Camera, LiDAR, Radar, IMU, GNSS, Microphones, and other autonomous vehicle sensors and actuators.
- Develop and optimize algorithms for timestamping, filtering and preprocessing sensor data to remove noise, false detections and artifacts before providing synchronized data to the perception and localization subsystems.
- Develop and maintain data analysis pipelines to monitor sensor health, provide early detection of out-of-spec behavior and identify performance bottlenecks.
- Write userspace C++ and Python software for the embedded Linux computers in our vehicles.
- Collaborate with cross-functional teams, including embedded, perception and localization to integrate sensors into the overall autonomous vehicle platform, to ensure optimal sensor performance and debug the hardware and software related issues.
- Grow into and act as an expert in the sensor domain by understanding the technical characteristics, features and available parameters of the sensors, as well as their underlying principles of operation and application nuances.
- Write and maintain C++ software that reads, timestamps and checks data from cameras, LiDARs, radars, IMUs and GNSS receivers.
- Bring new sensors and computers into our software, on the bench and on the vehicle.
- Find and fix problems that cross software, network and hardware: dropped packets, wrong timestamps, a device that stops sending.
- Write tools and tests in Python to check sensor data and help other teams debug.
- Work with the perception, localization, firmware and hardware teams, and take part in the team's support rotation.
Required Qualifications:
- Bachelor's or Master's degree in Computer Science, Robotics, Electrical Engineering, Math, Physics or related STEM fields or equivalent years of experience.
- Minimum of 2 years of experience in production software development.
- Proficiency in modern C++ and Python programming.
- Experience with software running on real hardware: robots, vehicles, drones or embedded devices.
- Everyday use of Linux, including basic networking (IP addresses, TCP/UDP, sockets).
- Strong problem-solving and debugging skills.
- Ability to work in a fast-paced dynamic environment.
- 1+ years of professional software development in C++ (modern C++: RAII, smart pointers, STL containers, threads).
- Daily use of Linux: the command line, building and debugging your own code, basic networking (IP addresses, TCP vs UDP, sockets).
- Experience with software that talks to hardware: a robot, vehicle, drone, embedded board or device, at work, in a research lab or in a serious project or competition.
- Working knowledge of Python for scripts and data checks.
- A degree in Computer Science, Electrical or Computer Engineering, Robotics, Physics or a related field, or equivalent experience.
- Able to work on site in Austin five days a week; the work is on hardware.
Bonus Qualifications:
- Experience debugging network-related issues (Wireshark, tcpdump, ethtool).
- Understanding fundamentals of automotive Cameras (GMSL/FPD-Link), LiDAR, Radar, IMU, GNSS, and other sensor technologies, including their principles of operation, pros/cons, limitations, and calibration techniques.
- Familiarity with ROS or similar frameworks and related communication protocols.
- Experience with developing drivers and/or processing software for radars and camera data or expertise in sensor development.
- Experience with real-time embedded systems, including working in an asynchronous environment with multiple real-time, low-latency, safety-critical systems processes, threads, timers, interrupts.
- Experience in working with the custom Linux based systems for the embedded devices, and understanding of the kernelspace parts of the senors data pipelines.
- Understanding the electronic engineering fundamentals to be able to perform supporting functions like reviewing schematics and designs of embedded devices and performing the bring-up and debugging of the hardware.
- Experience with common automotive hardware interfaces like CAN, SPI, I2C, PCIe, Ethernet.
- ROS or ROS 2, or another robotics middleware.
- Any work with cameras, LiDAR, radar, IMU or GNSS.
- Networking tools: Wireshark, tcpdump, ip, ethtool.
- Embedded Linux, drivers, or NVIDIA Jetson.
- Hardware interfaces: CAN, SPI, I2C, Ethernet.
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.
Avride is an equal opportunity employer and committed to providing reasonable accommodations to qualified applicants and employees with disabilities to ensure they have equal access to employment opportunities. Avride complies with the Americans with Disabilities Act (ADA), if you need a reasonable accommodation to assist with the application or hiring process, or to perform the essential functions of a job, please email jobs@avride.ai.
Benefits
- remote work
How this employer is doing
solid
- H1B: Sponsors Visas
- Expanding
- Sponsors Visas
This role's local market on JobMinglr
Pay for this role
The employer didn't post a pay range for this role. That usually means pay is set in negotiation, which favors whoever arrives with numbers. Check ranges on comparable Software Engineer, Sensors and System Software (C++, Linux) postings in Austin, and analyze any offer before you accept it.
Before you apply, worth reading
How JobMinglr reads this job
Every listing here is scored against your profile before you apply: skills overlap, experience level, location and work arrangement, each weighted and explained. You see the score and the reasons, not just a list. How the matching works.