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.
Role: The Principal Software Engineer at General Motors should be an experienced leader who cares deeply about software and software quality. As a Principal Software Engineer, you will be responsible for designing, documenting, and implementing complex, highly scalable, low-latency software in C++ on high performance Autonomous Vehicles (AV) Integrity Platform software. Your work will be the foundational software which the rest of AV builds upon. This role is focused on software development for the Autonomy Interface Software domain that includes AV Sensing, AV Health, and Vehicle Abstraction solutions.
At General Motors, we believe in engineering leaders who remain deeply technical and understand the challenges their teams are facing. The ideal candidate will be comfortable switching context from programming in C++, designing elegant software architectures, defining how to test, benchmark, and debug complex systems, and providing mentorship for staff and senior software engineers.
What you’ll do:
- Define and lead software strategy for new technology and highly complex features for AV Integrity Platform development with a focus on sensing, health monitoring, and abstraction layers
- Define a technical vision and roadmap for mission-critical parts of AVIP development
- Work across orgs to ensure that the joint architecture across the full stack is coherent and can solve relevant problems
- Maintain alignment between senior leadership and engineering teams through effective executive communication
- Maintain high-quality bar in projects from the start and champion quality improvements by implementing better technical practices
- Work with other teams to define the system level architecture and strategies for implementation
- Initiate large projects with complex architecture, breaking it down to the right logical components so others can be utilized effectively
- Improve and deliver reliable software through requirements generation, continuous integration, automated testing, issue tracking, and code reviews
- Provide technical leadership, guidance and mentorship to Senior and Staff engineers as they propose, prototype, evaluate, and iterate solutions, as well as through their career progression
- Lead large initiatives involving many stakeholders by driving impact analysis, and ensuring alignment with the larger architectural roadmap
- Drive architecture standards, patterns, and principles