General Motors is a company committed to leading change for a safer and more equitable world. The Principal Software Engineer will be responsible for designing and implementing complex software on embedded systems, leading initiatives, and ensuring high-quality standards in software development.
Responsibilities:
- Work with executive leadership to set the technology direction for embedded system development with a focus on robotics solutions
- Define a technical vision for mission-critical parts of embedded systems development
- Work across orgs to ensure that the joint architecture across the full stack is coherent and is capable of solving relevant problems
- Lead large initiatives involving many stakeholders by driving impact analysis and ensuring alignment with (and existence of) the larger architectural roadmap
- Maintain alignment between senior leadership and engineering teams through effective executive communication
- Maintain very 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
- Mentor others and be a role model for the team
- Providing technical leadership, guidance and mentorship to our robotics senior+ engineers as they propose, prototype, evaluate, and iterate solutions, as well as through their career progression
- Set and maintain a high technical bar for hiring
- Advances recognized leading edge technologies and fosters an environment of innovation in others
- Drive architecture standards, patterns, and principles; to disseminate information and strategy across the engineering org; to provide a sounding board for engineering teams addressing complex design topics, and to review/approve impactful, cross-cutting architecture designs
Requirements:
- Proven experience writing production-quality software in multiple shipping products on custom hardware
- Proficiency with C
- Experience with Linux kernel or other RTOS driver development
- Successful use of accelerator hardware (e.g., FPGA, DSP, embedded GPU, Tensor Processing Units)
- Familiar with heterogeneous compute systems (i.e., a mix of Intel, ARMv8, other processor types)
- Experience in kernel drivers/frameworks and embedded-linux build system
- Experience applying and mentoring team members on software best practices
- Effective at influencing others and building consensus even over contentious technical debates
- Excellent verbal and written communication skills -- able to advise leadership at the director+ level on technical strategy
- Expert at scoping and leading large ambiguous cross-functional engineering projects