General Motors is a leader in the automotive industry focused on developing autonomous vehicles. The Staff Software Engineer, Reliability will work on multi-sensor system services and frameworks, ensuring the development of reliable software features for autonomous vehicles by collaborating with various teams and driving engineering excellence.
Responsibilities:
- Collaborate with hardware, systems engineering, program management, product management and peer software teams to develop critical reliability software features for the autonomous vehicle. Includes developing and debugging of application and middleware software for existing and next generation sensing data pipelines on the vehicle
- Root-cause analysis of complex problems involving multiple cross-functional partners, including hardware and software
- Identify reliability issue trends, provide clear guidance on reliability requirements, develop reliability design guidelines, and apply lessons learned to enable continuous improvement
- Design and implement shared infrastructure and tooling among the AV Platform teams to monitor and analyze embedded software and data quality metrics. Identify opportunities to unify approaches, improve reliability and increase developer velocity
- Own the development quality and ensure the solutions are scalable, secure, and optimized for customer experience and performance. Raise the bar on engineering excellence by producing best-in-class code, documentation, testing, and monitoring
- Partner with cross-functional teams to architect and implement embedded software observability and monitoring solutions
- Work with the engineering teams to architect and build services to simplify troubleshooting and operational response to incidents and Autonomous Vehicles fleet outages
- Own technical projects, participate in design reviews and provide input for the reliability section of others’ design reviews
- Ensure efficiency of the vehicle change process involving embedded software changes and dependencies
- Participate in on-call rotation
- High focus on collecting and inferring metric documentation to be used by others to build and maintain system
- Contribute to the roadmap and software planning activities within the team, helping drive the vision of how the team should evolve
- Guide and mentor developers on the team
Requirements:
- 6+ years of experience professional experience with multi-sensor system services and frameworks
- Bachelors Degree in relevant field or relevant work experience
- Proven experience writing production software to improve data quality and reliability of safety critical systems including root cause and corrective actions
- Proficiency with C++11 or later and Python
- Proficiency in debugging and troubleshooting firmware-related issue
- Experience driving complex embedded software projects through the full lifecycle of product development
- Experience architecting and delivering Embedded Systems solutions that support multiple generations of the product
- Experience engaging in communication at senior management levels and influencing technical strategies
- Experience applying and mentoring team members on software development best practice
- Clear and concise written and verbal communication skills
- 8+ years of professional experience with multi-sensor system services and frameworks
- Experience with safety-critical development (FDA, FAA, Automotive)
- Familiarity with reliability engineering principles (FMEA, FTA, and other reliability assessment techniques)
- Knowledge of relevant functional safety industry standards and regulations
- Experience with different types of sensors and environmental sensing systems
- Knowledge of embedded software testing methodologies and tools as well as quality assurance processes and methodologies
- Experience developing on and for Embedded Linux / POSIX systems