Infotainment Application Software EngineerSupporting a team of 20-30 software developersDesign and develop Android based infotainment solutions for automotive consumer devices.Responsible for the entire life cycle of the assigned domain, including requirements, system design, development, 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.Provide clear and complete documentation based on the definition of the software development process.Collaborate with team members in software development activities using the Scrum/Agile development process.Work closely with various Infotainment teams to support triage and resolution of system issueRequirementsBachelor's degree; preferably in Computer Science3-5 years in software developmentJava ProgrammingDevelopment experience with Android frameworks (service, JNI, native service, HAL, etc.), familiar with Android local unit tests and instrumented tests.Software design and implementation experience in an object-oriented environmentCommercial software development experience with Java, C++ or CExposure to SCM tools such as: Git, Gerrit, Jenkins, JIRAPrior experience with vehicle infotainment, telematics or navigation systems a plusExperience with automotive and/or portable consumer electronic devices is a plusHistory of success in applying advanced technology to enhance the usability of complex systems is a plusExperience in communication network protocols like CAN, UART, SPIExperience with script languages such as Python, Perl or Shell will be a plus.Agile experience a plusCreative, disciplined with a strong sense of ownership, responsibility and on schedule delivery commitmentSSVs will consist of 2 rounds - 1) phone screen/technical assessment; 2) video conference with manager