Software Engineer (Autonomous Driving Systems)

Role
Software engineers for autonomous driving systems at Turing are responsible for ensuring the safety and stability of the system—so that full autonomous driving can become part of the world’s infrastructure.
The advanced models developed by ML engineers and others need a reliable, safe, and stable system foundation to run on real roads. You’re responsible for building and maintaining the application layer and overall system architecture that makes that possible. Through developing systems that run in Linux environments, you carry the critically important mission of supporting the trustworthiness of this future technology from its foundation.
What You’ll Do
- Develop Linux applications for on-vehicle computers (Ubuntu on NVIDIA Orin)
- Build and maintain web applications
- Develop and operate data collection systems
- Design and develop infotainment features
- Design and develop OTA (Over-the-Air) software update infrastructure
- Design and develop fleet management platforms
- Implement performance tuning and quality improvement measures
*OTA (Over-the-Air): technology that updates software wirelessly over a network connection.
What We’re Looking For
You have extensive experience developing applications in Linux environments. Turing’s autonomous driving systems run on Ubuntu on NVIDIA Orin hardware—Linux application development experience is a required qualification. You have experience in environments demanding high stability and safety. You take ownership of system-wide safety and reliability. You have experience with complex systems composed of multiple components or modules. Experience with loosely-coupled system design, including PUB/SUB communication, is valued.
Tech Stack
- Linux (Ubuntu) application development on embedded hardware (NVIDIA Orin)
- Web application development
- Systems programming (C/C++, Python)
- Data collection and streaming systems
- OTA and fleet management platforms
- Performance profiling and optimization tools
What Makes This Role Special
The greatest advantage of working as a software engineer for Turing’s autonomous driving systems is contributing to an extraordinarily ambitious goal: making full autonomous driving a part of social infrastructure. No matter how advanced the models are, they mean nothing without a safe system to run them on. This team carries the foundational, high-impact role of guaranteeing the safety and stability of that system.
Ten or fifteen years from now, when autonomous driving has become part of everyday infrastructure, you’ll be able to look back and say: the systems you built were a meaningful part of making that happen. Leveraging your Linux application development experience to build next-generation social infrastructure is a uniquely valuable career achievement.
Key Qualifications
- Extensive experience developing applications in Linux environments (required — Turing’s AV systems run on Ubuntu on NVIDIA Orin)
- Experience with embedded software development
- Experience with development in real-time or near-real-time environments such as autonomous driving or robotics
- Ability to take ownership of system-wide safety and stability
- Experience with complex system development composed of multiple components and modules
- Experience with loosely-coupled system design and PUB/SUB communication patterns
Cross-Functional Collaboration
With Software Engineers (MLOps)
You’ll coordinate on data collection from real-world devices and the format and content of data output. As the upstream source of MLOps data pipelines, you work together to ensure data is written correctly, error-free, and in training-ready formats. This includes adjusting data output formats and addressing errors—working on the “upstream” of the pipeline.
Working on the fundamental challenge of how to make real-world data usable for model training, your work at the very source of the ML pipeline is both technically important and deeply impactful on downstream model training quality.
With ML Engineers
You’ll coordinate on passing model output signals to other systems and optimizing model performance on the autonomous driving system. From the system side, you ensure models run smoothly and signals are passed to other modules at speed.
You act as the bridge that delivers advanced ML research as a safe, stable product to the world. The technical challenge of maximizing model performance while ensuring system robustness is both difficult and deeply rewarding.
Join us :
Take on the challenge of fully autonomous driving
with a diverse team of talented members
from various backgrounds.