This list contains only the countries for which job offers have been published in the selected language (e.g., in the French version, only job offers written in French are displayed, and in the English version, only those in English).
We’re searching for a Software Engineer to join our Vehicle Platforms team. This role is a unique opportunity for a systems-minded coder to work at the foundational layer of our autonomous trucks, bridging the gap between high-level autonomy software and physical vehicle hardware. You will be instrumental in ensuring our sensors, compute units, and embedded devices function as a seamless, high-performance unit, making this one of the most hands-on software roles at Aurora.
Job Responsibility:
Integrate Core Hardware Components: Write and maintain C++ interfaces and drivers that integrate Lidars, Radars, Cameras, and other embedded devices into the Aurora Driver stack
Support Platform Bring-up: Participate in the initial software "bring-up" of new vehicle platforms, ensuring the onboard compute and sensors are correctly configured and communicating
Optimize Onboard Performance: Profile and optimize code to ensure efficient use of limited CPU, GPU, and memory resources on the vehicle
Monitor Hardware Health: Develop and refine software tools that track the real-time health and telemetry of our hardware components to ensure safe fleet operations
Validate via HIL Infrastructure: Utilize Hardware-in-the-Loop (HIL) environments to test and verify your code changes against real-world hardware before deployment to the road
Requirements:
Bachelor’s or Master’s degree in Computer Science, Computer Engineering, or a related technical field
Strong proficiency in C++: Solid understanding of data structures, algorithms, and memory management (academic or project-based)
Hands-on Systems Experience: At least 1–2 years of relevant experience, which can be demonstrated through multiple internships, significant academic research, or professional work involving hardware-software interaction
Linux Fundamentals: Experience working in a Linux environment with an understanding of command-line tools and system basics
Exposure to Networking Protocols: Familiarity with the basics of data transport, such as TCP/IP, UDP, or serial communication
Nice to have:
Robotics or Embedded Projects: Experience with ROS/ROS2, microcontrollers (Arduino/STM32/ESP32), or hobbyist robotics
Familiarity with Sensors: Prior exposure to Lidar, Radar, or Camera data processing and hardware interfaces
Scripting Skills: Proficiency in Python for automation, data analysis, or building internal support tools
Automotive Knowledge: Understanding of CAN bus protocols or Automotive Ethernet basics
Safety Mindset: Familiarity with concepts of high-availability or safety-critical software design