Senior Software Engineer – Secondary Driving System

General MotorsSunnyvale, CA
Remote

About The Position

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.

Requirements

  • 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 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 with perception and prediction pipelines (object detection, tracking, prediction, lane or road geometry), even if your core focus is planning and controls.
  • Demonstrated track record of delivering reliable, high‑quality autonomous or robotics software, including testing strategies, metrics, and performance tuning under latency/compute constraints.
  • Strong communication and collaboration skills, with the ability to work across disciplines (ML, systems, platform, safety) and drive clarity in ambiguous technical spaces.
  • Passion for automated driving and robotics, and for building systems that measurably improve safety and driver experience.

Nice To Haves

  • Background in ROS or similar robotics middleware.
  • Experience with safety‑critical software or working closely with functional safety teams.
  • Hands‑on experience with GPU/accelerator-based ML inference, model deployment, and performance optimization in production environments.

Responsibilities

  • 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 controls 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.

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.
© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service