Senior Software Engineer – Secondary Driving System
Job Description TheSecondary 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 aSenior Software Engineeron 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 inperception, state estimation, vehicle dynamics, systems engineering, and safety to ship robust, fail‑operational behaviors for Super Cruiseand future products. Whatyou’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 andcontrols 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 instate estimation, mapping, localization, and autonomy managementto 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 championsoftware 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 ofperception, planning, controls, and vehicle behavior. • Partner with Safety and Systems Engineering to ensure SDS behaviors and software designs align withfunctional safety, redundancy, and MRM requirements for fail‑operational Eyes‑Off features. • Mentor and unblock other engineersthrough design discussions, code reviews, and example implementations, helping raise the bar for robustness, clarity, and execution speed on the team. Qualifications: • BS, MS, or PhDin Computer Science, Robotics, Electrical/Mechanical Engineering, or a related field; or equivalent practical experience. • 5+ years of professional software engineering experiencebuilding production systems in robotics, autonomous vehicles, or complex real‑time/control systems. • Strongproficiencyinmodern 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 control / trajectory optimization, Classical and modern feedback control design (e.g., PID, LQR, robust control), Handling kinematic and dynamic constraints for ground vehicles • Experience integrating withperception and predictionpipelines (object detection, tracking, prediction,laneor road geometry), even if your core focus is planning and controls. • Demonstratedtrack recordof deliveringreliable, high‑quality autonomous or robotics software, including testing strategies, metrics, and performance tuning under latency/compute constraints. • Strongcommunicationand collaboration skills, with the ability to work across disciplines (ML, systems, platform, safety) and drive clarity in ambiguous technical spaces. • Passion forautomated driving and robotics, and for building systems that measurably improve safety and driver experience. Bonus points: • Background inROSor similar robotics middleware. • Experience withsafety‑criticalsoftware orworking closely with functional safety teams. • Hands‑on experience withGPU/accelerator‑based ML inference, model deployment, and performance optimization in production environments. Remote: This role is based remotely but if you live within a 50-mile radius of Mountain View, you are expected to report to that location three times a week, at minimum. Compensation: The compensation information is a good faith estimate only. It is based on what a successful applicant might be paid in accordance with applicable state laws. The compensation may not be representative for positions located outside of the California Bay Area. • The salary range for this role is $170,600.00 - $261,300.00. The actual base salary a successful candidate will be offered within this range will vary based on factors relevant to the position. • Bonus Potential: An incentive pay program offers payouts based on company performance, job level, and individual performance. Benefits: • Benefits: GM offers a variety of health and wellbeing benefit programs. Benefit options include medical, dental, vision, Health Savings Account, Flexible Spending Accounts, retirement savings plan, sickness and accident benefits, life insurance, paid vacation & holidays, tuition assistance programs, employee assistance program, GM vehicle discounts and more. This job may be eligible for relocation benefits. #GM-AV-1