Senior Software Engineer
General MotorsAbout the role
Job Description
Remote: This role is categorized as remote. The successful candidate may be expected to travel to GM locations at least quarterly.
The Role
We are looking for a Senior Software Engineer with a strong track record of building high visible Android/Qt applications. The ideal candidate will play a key role in developing GM’s next generation infotainment UI.
What You’ll Do
Design, develop and integrate Android/Linux and QNX components for infotainment solutions in GM vehicles.
Responsible for the entire life cycle of the Android/QNX 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
Your Skills & Abilities (Required Qualifications)
Advanced programming and debugging skills with C, C++/11/14, 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 and QNX system architecture, frameworks, build system and key components, and comfortable with making system extensions and modifications.
Understanding of Android OS fundamentals
Solid understanding of software versioning and release management principles, with a focus on codebase organization, branching strategies, and integration processes
Strong analytical skill, debugging capability and problem-solving skills to tackle complex integration challenges through existing code base in C, C++ and Java. Familiar with different debugging methodologies
Ability to create, modify and maintain makefiles and build scripts in complex build system
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
Bachelor's degree in computer science, software engineering, or related degree.
What Will Give You A Competitive Edge (Preferred Qualifications)
Experience with various CI/CD tools and processes
Experience with Yocto Linux
Experience with virtual machine and container technologies
Experience in automotive industry
Experience with Android System UI
Compensation: The compe
Apply for this role
Generate a tailored application kit with a matched cover letter, interview prep, and CV highlights — in under 60 seconds.
Apply Now →Generate Application KitFree account required — sign up in 30s