The Vehicle Experiences Engine software organization at GM is looking to develop embedded software platforms for Infotainment and Software Defined Vehicle solutions, and is seeking a professional to lead engineering efforts in critical domains.
Requirements
- 10+ years in Software Development on Linux and/or Android.
- Advanced programming and debugging skills with C, C++, Java, and unit test framework
- Development tools and IDE such as VS Code, Android Studio, Momentics, git, JIRA, CMake, gradle, gcov, SonarQube, etc.
- Solid understanding in Android, Embedded Linux and QNX system architecture, frameworks, build system and key components, and comfortable with making system extensions and modifications.
- Understanding of Linux OS Concepts, including file systems, IPC, RPC, networking, serialization, etc.
- Strong analytical skill, debugging capability and problem-solving skills to tackle complex integration challenges through existing code base in C, C++ and Java.
- Experience with OTA or software update, software delivery mechanism
Responsibilities
- Design, develop and integrate software update and OTA solutions for GM vehicles.
- Responsible for the entire life cycle of the Android/QNX/Embedded Linux domain, including requirements analysis, creating design documents, code development and review, integration, and maintenance of infotainment software.
- Work side-by-side with DevQA engineers on test plan development and review.
- Follow agile software development process where quality comes first and ensure that the designed solutions conform to architectural requirements such as scalability, maintainability, reliability, extensibility, testability, usability and security.
- Collaborate with cross-functional teams and external suppliers on design and integration activities.
- Provide, communicate, and support common best practices among software community
- Ability to create, modify and maintain makefiles and build scripts in complex build system
Other
- Bachelor's degree in computer science, software engineering, or related degree.
- Strong verbal and written communication skills.
- Ability to create clear technical documentation for software development guidelines and integration process
- Must be a goal driven self-starter, able to work independently under release pressure
- Travel requirement: less than 25% for this role