This list contains only the countries for which job offers have been published in the selected language (e.g., in the French version, only job offers written in French are displayed, and in the English version, only those in English).
GM is looking to hire a Senior Android Software Engineer to lead design, development, and long-term maintenance of in-vehicle infotainment (IVI) apps and OTA update clients on Android Automotive OS (AAOS) for GM’s next-generation software-defined vehicles. The engineer will own major features end-to-end (architecture, implementation, validation, launch, OTA) and set the bar for safety, performance, reliability, and maintainability across Vehicle Applications & Services, with software deployed at scale across global fleets. This engineer will own features from concept through production and fleet-wide OTA rollout by collaborating with UX on automotive interaction patterns and multi-display HMI (cluster, center stack, HUD), Systems/platform on AAOS/AOSP integration and vehicle signals, QA/validation on vehicle-level test plans and defect resolution, Product on feature definition, trade-offs, and prioritization.
Job Responsibility
Design, develop, build, and maintain IVI apps and services on AAOS / embedded Android to evolve OTA update clients with robust rollback, error handling, and fault recovery
Own UX and interaction flows for key scenarios (e.g., media, navigation integrations, app-store experiences, messaging), ensuring experiences are intuitive, glanceable, compliant with Android Automotive UX, driver-distraction, safety guidelines and meet GM and regulatory requirements
Drive performance on constrained hardware to optimize startup/resume times, frame rate, animation smoothness and manage memory, CPU, I/O for predictable behavior
Integrate apps with vehicle properties, VHAL, navigation, media, voice assistants, and back-office services via AAOS APIs and IPC (AIDL, gRPC or similar) and instrument apps with logging, metrics, and traces for observability, field triage, and continuous improvement
Define and collaborate on unit, integration, UI, and bench/in-vehicle test coverage and ensure fast cold-boot and resume and support multi-version AAOS/Android and long vehicle lifecycles
Apply and evolve clean, modular Android architectures (e.g., MVVM + Jetpack) for large, long-lived automotive codebases by partnering with platform teams on AOSP/AAOS customization and integration
Diagnose and fix issues across app, framework, and system layers
Contribute to architectural decisions on system services, permissions, and security models and influence platform-level improvements in stability, performance, security, and developer efficiency
Define and implement various test strategies like Unit tests (e.g., JUnit, MockK/Mockito), UI tests (e.g., Espresso, UI Automator), System/integration tests
Build and maintain test automation for emulators and on-bench environments and integrate automated testing into CI/CD pipelines and automated build systems
Provide technical leadership and mentorship to mid-level and junior engineers includes leading code and design reviews and champion best practices
Requirements
Bachelor's degree in CS, Software Engineering, EE/CE, or related field, or equivalent experience
5+ years of Android development with production Android apps or Android-based embedded software and proven experience on AAOS or deeply embedded Android platforms
Expert Kotlin skills
strong proficiency in Kotlin and/or Java, Android SDK, and modern Android patterns (coroutines/Flow, Jetpack, MVVM or similar)
Deep understanding of App/activity lifecycles, Background limits, scheduling, background work, Coroutines/Flow, concurrency, configuration changes, Memory management, profiling, and performance tuning, Android permissions, security, and system services
Track record of designing, implementing, and shipping complex features end-to-end in large codebases with strong debugging skills
Demonstrated performance optimization on resource-constrained devices (UI, networking, I/O, rendering), with measurable improvements
Strong grounding in software quality with experience automated testing, code reviews, defensive and secure coding
Experience writing and maintaining: Unit tests (JUnit, MockK/Mockito), UI tests (Espresso, UI Automator), System/integration tests
Hands-on experience with CI/CD pipelines, automated builds, and Git workflows in multi-team environments
Effective cross-functional collaboration with UX, product, validation/QA, and platform/system engineers
Clear written and verbal communication, able to drive decisions and explain complex topics to varied audiences
Demonstrated use of advanced Android concepts (DI, background work, concurrency, profiling) in new features, bug fixes, and refactoring
Nice to have
8+ years of experience working directly in AOSP/AAOS platform related code
Knowledge of VHAL and vehicle property APIs
Experience building or integrating OTA update mechanisms
Familiarity with driver-distraction rules and in-vehicle HMI guidelines (OEM, regulatory, industry)
Experience with long-lifecycle automotive software, safety-critical or regulated systems (functional safety, cybersecurity, etc.)
Strong debugging with logs, traces, and system-level tools
Demonstrated technical leadership: Leading designs for complex features/subsystems, Mentoring engineers, Influencing standards, patterns, and tooling