Responsibilities as Sr.Software Engineer
– Lead development team to build Android 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, and GM infotainment certification work.
– Follow GM 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, and releases match certification requirements.
– 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 and certification process.
Required Qualifications:
– Bachelor or Master degree in Computer Science, Computer Engineering or related discipline;
– 5+ years (3+ years with Master) of software development experience.
– Considerable programming experience in Java and C/C++
– Strong Computer Science fundamentals and problem solving skills
– Practical experience in modifying Android internal components and adding new features
– Working knowledge of SCM tools such as: GIT, JIRA, Eclipse IDE etc.
– Practical experience with Scrum/Agile software development process
– Ability to perform diagnostic and investigation based on limited information
– Good communication skill in English and Chinese, interpersonal skill Preferred
Qualifications:
– In-depth knowledge on Android runtime, Java/native heap management and binder communications
– Expertise on Android application frameworks and UI frameworks internals
– Ability to debug software platform stability issues and app crash problems
– Experience with automotive and/or portable consumer electronic devices
– Experience in software performance engineering
– Experience in open source software contribution
– Experience in projection certification engineering, such as CarPlay, CarLife etc.
– Technical documentation skills