General Motors seeks a Senior Software Engineer to lead engineering efforts within the Vehicle Experiences Engine software organization. You will be responsible for designing and developing embedded software platforms for Infotainment and Software Defined Vehicle solutions, including operating systems, BSP layers, core system services, and device drivers.
What You'll Do
- Design, develop and integrate software update and OTA solutions for GM vehicles.
- Own the entire life cycle of the Android/QNX/Embedded Linux domain, from requirements analysis and design documents to code development, review, integration, and maintenance.
- Collaborate with DevQA engineers on test plan development and review.
- Follow an agile process where quality comes first, ensuring solutions meet architectural requirements for 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 the software community.
What We're Looking For
- 10+ years in Software Development on Linux and/or Android.
- Advanced programming and debugging skills with C, C++, Java, and unit test frameworks.
- Experience with development tools and IDEs such as VS Code, Android Studio, Momentics, git, JIRA, CMake, gradle, gcov, SonarQube, etc.
- Solid understanding of Android, Embedded Linux, and QNX system architecture, frameworks, build systems, and key components, with comfort making system extensions and modifications.
- Understanding of Linux OS Concepts, including file systems, IPC, RPC, networking, and serialization.
- Strong analytical skills, debugging capability, and problem-solving skills to tackle complex integration challenges in existing C, C++ and Java code bases.
- Ability to create, modify and maintain makefiles and build scripts in a complex build system.
- Strong verbal and written communication skills.
- Ability to create clear technical documentation for software development guidelines and integration processes.
- Must be a goal-driven self-starter, able to work independently under release pressure.
- Bachelor's degree in computer science, software engineering, or a related field.
Nice to Have
- Experience with OTA or software update and software delivery mechanisms.
- Experience with diff algorithms and diff tools.
- Experience with various CI/CD tools and processes.
- Experience with Yocto Linux.
- Experience with virtual machine and container technologies.
- Experience in the automotive industry.
Technical Stack
- Languages: C, C++, Java
- Platforms: Android, Embedded Linux, QNX
- Tools: git, JIRA, CMake, gradle, gcov, SonarQube
- Other: Yocto Linux
Team & Environment
You will be joining the Vehicle Experiences Engine software organization.
Benefits & Compensation
- Compensation: $158,000 - $241,000
- Medical, dental, and vision insurance
- Health Savings Account
- Flexible Spending Accounts
- Retirement savings plan
- Sickness and accident benefits
- Life insurance
- Paid vacation & holidays
Work Mode
This is a hybrid position open to candidates in New York, Colorado, California, and Washington.
General Motors is committed to being a workplace that is not only free of unlawful discrimination, but one that genuinely fosters inclusion and belonging. All employment decisions are made on a non-discriminatory basis without regard to sex, race, color, national origin, citizenship status, religion, age, disability, pregnancy or maternity status, sexual orientation, gender identity, status as a veteran or protected veteran, or any other similarly protected status in accordance with federal, state and local laws.



