Principal Software Engineer, ADAS Compute Platform
General MotorsAbout the role
Job Description
If you are a Principal Software Engineer with a passion for creating high-performance, fault-tolerant systems and have experience in leading complex software projects, we encourage you to apply for this exciting opportunity. Join us in shaping the future of automated driving technology!
Job Description:
We are seeking a highly skilled and motivated Principal Software Engineer to lead the design and development of the operating system (OS) for our autonomy subsystem, including levels L1, L2, L3, and L4. This OS encompasses a traditional OS Kernel and a critical middleware layer responsible for coordinating complex activities between various services. Your role will involve designing and implementing high-performance, reliable, and fault-tolerant systems essential for automated driving.
Key Responsibilities:
Architectural Leadership: Design and oversee the development of the middleware layer that integrates with the OS and AI/ML applications. Focus on high performance, reliability, and fault tolerance.
Cross-Functional Collaboration: Engage with key stakeholders including Automated Driving teams, Safety team, Systems Engineering, and the Software Defined Vehicle (SDV) team to ensure cohesive and effective system integration.
Innovation and Strategy: Drive innovation in new methods and initiatives, especially in areas with undefined procedures. Develop and communicate strategic visions specific to your responsibilities.
Prototype Development: Build prototypes and contribute to the implementation phase as needed. Leverage modern software engineering practices to ensure robust and scalable solutions.
Mentorship and Guidance: Provide technical leadership and mentorship to engineering teams. Help remove roadblocks and resolve potential issues to maintain project momentum.
Technical Influence: Shape the technical strategies and approaches of partner teams to align with overall project goals.
Technical Responsibilities:
Middleware Architecture: Lead the architectural design and implementation of the middleware layer that supports interactions between the OS and AI/ML applications.
Performance and Reliability: Ensure that the systems are built for high performance, reliability, and fault tolerance, leveraging extensive experience in these areas.
Hands-On Development: Maintain strong C++ coding skills and hands-on involvement in software development. Experience in embedded development is preferred but not mandatory.
Qualifications:
Experience: Significant experience in software architecture and development, with a focus on high-performance and fault-tolerant systems. Experience in building and managing complex middleware layers is highly desirable.
Technical Skills: Proficiency in C++ is essential. Experience with embedded systems, Linux, Windows, or Mobile OS is beneficial.
Leadership: Proven ability to provide technical leadership, drive initiatives, and mentor other engineers.
Communication: Strong skills in creating and communicating strategic visions, preparing presentations, and collaborating cross-functionally.
Problem-Solving: Ability to observe, identify, and address roadblocks and issues effectively.
Apply for this role
Generate a tailored application kit with a matched cover letter, interview prep, and CV highlights — in under 60 seconds.
Apply Now →Generate Application KitFree account required — sign up in 30s