Senior Software Engineer – Secondary Driving System
Verfasst am 2026-07-16
-
Software Entwicklung
Software-Ingenieur, Robotik, Eingebettete Software ingenieur, Software-Architekt
Job Description
At General Motors, our product teams are redefining mobility. Through a human-centered design process, we create vehicles and experiences that are designed not just to be seen, but to be felt. We’re turning today’s impossible into tomorrow’s standard —from breakthrough hardware and battery systems to intuitive design, intelligent software, and next-generation safety and entertainment features.
Every day, our products move millions of people as we aim to make driving safer, smarter, and more connected, shaping the future of transportation on a global scale.
Our Embodied AI teams are redefining what’s possible in driver assistance and automated driving. We pair human‑centered design with cutting‑edge robotics, optimization, and machine learning to create systems that are not just intelligent, but intuitive and trustworthy.
The Secondary Driving System (SDS) is an independent perception, planning, and controls stack that keeps the vehicle operating safely for a limited time if the primary driving system becomes unavailable, requesting driver takeover and, when needed, executing a Minimal Risk Maneuver (MRM) to bring the vehicle to a safe stop.
As a Senior Software Engineer on the Secondary Driving System team within Embodied AI, you will be a strong individual contributor working across the autonomy stack, with a particular emphasis on motion planning and controls in a robotics context. You’ll design and build production‑quality C++ software that spans ML‑based perception, tracking, prediction, planning, and controls, enabling SDS to safely handle faults and reach a minimal risk condition when the primary system cannot.
You will collaborate closely with experts in perception, state estimation, vehicle dynamics, systems engineering, and safety to ship robust, fail‑operational behaviors for Super Cruise and future products.
What you’ll be doing- Develop and optimize production‑grade C++ software across the SDS stack, integrating ML‑based perception (object detection, tracking, prediction, lane and road features) with analytical planners and classical controllers under tight latency and compute constraints.
- Design and implement planning and control algorithms for the Secondary Driving System, including lane‑keeping, obstacle avoidance, lane changes to shoulder, and controlled stopping behaviors tailored to MRM scenarios and limited operational horizons.
- Work with partners in state estimation, mapping, localization, and autonomy management to define and implement interfaces and contracts that enable reliable SDS engagement in response to primary stack failures.
- Own features end‑to‑end: requirements clarification, design reviews, implementation, simulation/HIL bring‑up, on‑road testing, and iteration based on metrics and driver feedback.
- Apply and champion software engineering best practices: clean interfaces, code reviews, automated testing, continuous integration, performance profiling, and observability for on‑road incidents.
- Analyze and debug complex integration issues, using logs, telemetry, and principled experiments to root‑cause problems at the intersection of perception, planning, controls, and vehicle behavior.
- Partner with Safety and Systems Engineering to ensure SDS behaviors and software designs align with functional safety, redundancy, and MRM requirements for fail‑operational Eyes‑Off features.
- Mentor and unblock other engineers through design discussions, code reviews, and example implementations, helping raise the bar for robustness, clarity, and execution speed on the team.
- BS, MS, or PhD in Computer Science, Robotics, Electrical/Mechanical Engineering, or a related field; or equivalent practical experience.
- 5+ years of professional software engineering experience building production systems in robotics, autonomous vehicles, or complex real‑time/control systems.
- Strong proficiency in modern C++ (e.g., C++14/17 or later), with experience in large, multi‑contributor codebases; familiarity with Python for tooling, prototyping, and data analysis.
- Experience in motion planning and controls, including: trajectory generation and tracking, optimal control / model‑predictive…
Um nach Stellen zu suchen, sie anzusehen und sich zu bewerben, die Bewerbungen aus Ihrem Standort oder Land akzeptieren, klicken Sie hier, um eine Suche zu starten: