[Skip To Content]

Senior Software Engineer – Secondary Driving System

  • Localização
    • Sunnyvale, California
  • Tipo de trabalho Full time
  • Postou
  • Job Requisition JR-202607936

Descrição

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

Qualifications: 

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

Bonus points: 

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

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

Informações sobre diversidade

A General Motors está comprometida em ser um local de trabalho que não só é livre de discriminação ilegal, como estimula verdadeiramente a inclusão e integração. Acreditamos enfaticamente que a diversidade na força de trabalho cria um ambiente no qual nossos colaboradores podem crescer e desenvolver melhores produtos para nossos clientes. Incentivamos os candidatos interessados a analisar as principais responsabilidades e qualificações de cada função e a se candidatar a qualquer cargo que corresponda a suas habilidades e capacidades. Os candidatos no processo de recrutamento podem, quando aplicável, ser solicitados a concluir com sucesso uma ou mais avaliações relacionadas à função e/ou uma seleção pré-emprego antes de iniciar o emprego.  Para saber mais, acesse Como contratamos.

Declaração de Igualdade de Oportunidades de Emprego (EUA)

A General Motors tem orgulho de ser um empregador que oferece oportunidades iguais.  Todos os candidatos qualificados serão considerados para o emprego, independentemente de raça, cor, religião, sexo, orientação sexual, identidade de gênero, origem nacional, deficiência ou status como veterano protegido. 

Adaptações (EUA e Canadá)

A General Motors oferece oportunidades a todos os candidatos a emprego, incluindo pessoas com deficiências. Se você precisa de uma adaptação razoável para ajudá-lo na sua pesquisa de cargos ou solicitação de emprego, fale conosco pelo e-mail [email protected] ou pelo telefone 800-865-7580. No seu e-mail, inclua uma descrição da adaptação específica que você está solicitando assim como o nome do cargo e o número de requisição do cargo ao qual está se candidatando.