General Motors is a leading automotive company focused on innovation and safety, and they are seeking a Staff Software Engineer specializing in Machine Learning. The role involves developing ML and RL models for simulating road users to enhance autonomous vehicle technologies, while collaborating with various engineering teams to optimize production and experimentation processes.
Responsibilities:
- Support the team in developing machine learning (ML) and reinforcement learning (RL) models, including training loop development and optimization
- Streamline integration and create ML infrastructure, metrics, and data pipelines for production model deployment and rapid experimentation
- Work as part of an ML team and contribute strong software engineering (SWE) expertise
- Support the ML team in accelerating project timelines, particularly in areas related to Autopilot, Lane Keep, and autonomous vehicle (AV) technologies
Requirements:
- 4+ years of experience in the field of robotics or latency-sensitive backend services
- Background working with machine learning teams, algorithms, and models
- Strong programming skills in modern C++ or Python
- Proven experience in machine learning and classification. Familiar with ML frameworks such as Tensorflow or PyTorch
- Experience building highly performant ML and system pipelines
- Experience working with RL and sequence prediction (ML) models
- Experience in simulation and robotics is highly desirable, with a preference for candidates from AV or robotics backgrounds rather than solely cloud-focused companies
- Experience with profiling CPU and/or GPU software, process scheduling, and prioritization
- Passionate about self-driving car technology and its impact on the world
- Expertise in setting architectures that are scalable, efficient, fault-tolerant, and are easily extensible allowing for changes overtime without major disruptions
- Ability to design across multiple systems. Ability to both investigate in sophisticated areas as well as a good breadth of understanding of systems outside of your domain
- Ability to wear several hats shifting between coding, design, technical strategy, and mentorship combined with excellent judgment on when to switch contexts to meet the greatest need
- Track record in deploying perception/prediction/av models into real world environments