General Motors Senior Embedded Software Engineer - ENG0038006 in Palo Alto, California
Do you imagine a world of zerocrashes, zero emissions and zero congestion? We do. We place our customers atthe center of everything we do and we are creating vehicles that move humanityto that goal. The capability of our infotainment systems is the core connectionbetween the vehicle and the traveler. We are advancing the sophistication ofvehicle infotainment systems at every level of functionality and design todevelop beautiful intuitive systems that augment driver awareness, enhanceoccupant safety, and elevate the traveler experience.
We are building an Infotainmentplatform software team which is tasked with two critical roles: co-developing,along with the supplier, the software that will run GM’s next generationinfotainment system, and developing the talent and tools necessary to allow GMto take ownership of the resulting software stack. This team willultimately be solely responsible for developing, and maintaining GM’s entireinfotainment software platform. We are looking for senior engineers with a verysolid knowledge in developing Android software who are interested in applyingtheir experience to delivering high quality software for future automotiveInfotainment systems.
The primary job responsibilitiesinclude:
- Contribute as designer and developer to building and integrating Linux and Android components into an RTOS based infotainment solutions for automotive consumer devices.
- Responsible for the entire life cycle of the assigned domain, including requirements, system design, development, deployment, and maintenance of the infotainment software.
- Participate in the design of a best-in-class in-vehicle platform for GM infotainment systems.
- Follow our software development process where quality comes first and ensure that the designed solutions conform to architectural requirements such as scalability, maintainability, reliability, extensibility, usability and security.
- Engage in all regular software development activities such as architecture, feature requirements, design, code, and test case reviews to ensure that the team delivers high quality code on time.
- Bridge multiple disciplines, including Engineering, Information Technology, Technical Support, and Marketing, to make appropriate system-level design trade-offs and to identify, capture and refine system requirements and to identify innovation opportunities.
- Work on new feature development, as well as maintenance of existing features and bug fixes
- Collaborate with team members in software development activities using the Scrum/Agile development process.
- Provide clear and complete documentation based on the definition of the software development process
- 10+ years in Software Development in related domains
- 5+ years in designing and developing drivers and low-level libraries
- Strong experience in Linux and Android kernel software development and kernel panic troubleshooting
- Solid experience in RTOS peripheral driver development and optimization as well as application development for
- Working knowledge of implementing embedded systems built on RTOS hypervisors
- Ability to integrate and optimize complex virtualized systems incorporating Linux, Android and RTOS components
- Experience in board bring up projects
- Development experience with C, C++, scripting languages such as Python, Perl
- Working knowledge of Scrum/Agile software development process
- Experience in developing and deploying products in global markets
- In depth experience with SCM tools such as: Git, Gerrit, OpenGrok
- Creative, disciplined with a strong sense of ownership, responsibility and on schedule delivery commitment
- High level of interpersonal skills to work effectively in a geographically dispersed team, good team worker
- Outstanding verbal and written communication skills
- Minimum bachelor's degree in Computer Science, Software Engineering, or related degree. Advanced degrees preferred
- Prior experience with vehicle infotainment, telematics or navigation systems
- Experience with automotive and/or portable consumer electronic devices is a plus
History of success in applying advancedtechnology to enhance the usability of complex systems is a plus