Senior Embedded Software Engineer - ENG0038375 in Palo Alto, California | DiversityInc Careers
 
This job has expired and you can't apply for it anymore. Start a new search.

Senior Embedded Software Engineer - ENG0038375

Do you imagine a world of zero crashes, zero emissions and zero congestion? We do. We place our customers at the center of everything we do and we are creating vehicles that move humanity to that goal. The capability of our infotainment systems is the core connection between the vehicle and the traveler. We are advancing the sophistication of vehicle infotainment systems at every level of functionality and design to develop beautiful intuitive systems that augment driver awareness, enhance occupant safety, and elevate the traveler experience. 

 The position: 

We are building an Infotainment platform software team which is tasked with two critical roles: co-developing, along with the supplier, the software that will run GM’s next generation infotainment system, and developing the talent and tools necessary to allow GM to take ownership of the resulting software stack.   This team will ultimately be solely responsible for developing, and maintaining GM’s entire infotainment software platform. We are looking for senior engineers with a very solid knowledge in developing Android software who are interested in applying their experience to delivering high quality software for future automotive Infotainment systems.

 

The primary job responsibilities include:

  • 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

Required Qualifications: 

  • 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
 Preferred Qualifications:
  • 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 advanced technology to enhance the usability of complex systems is a plus