Android Automotive Software Developer
On-siteKanata, Ontario, Canada
Job Summary
Design, develop, test, integrate, and maintain embedded software components for Android Automotive, infotainment, and vehicle platform systems using C++, Java, and Kotlin. Implement, customize, and debug Android platform functionality within AOSP, including system services and framework-level components. Develop and troubleshoot automotive HAL components, specifically modern Stable AIDL interfaces, while contributing to software architecture decisions regarding component design and data flow. Own features through multiple development phases, including requirements analysis, implementation, testing, and release, while diagnosing complex issues related to crashes, memory corruption, and system stability. Collaborate with product owners, architects, and test teams to deliver reliable vehicle software.
Required Qualifications
- Bachelor's degree in Computer Science, Software Development, Computer Engineering, Electrical/Computer Engineering, or a related technical discipline
- 4+ years of software development experience, including strong hands-on experience with modern C++
- Strong knowledge of C++17 or newer, including memory management, object-oriented programming, polymorphism, multithreading, synchronization, concurrency, lambda expressions, debugging, and performance optimization
- Experience with Android Automotive OS, AOSP, Android platform architecture, Android system services, or Android framework integration
- Experience developing, integrating, or troubleshooting automotive Hardware Abstraction Layer components, including Stable AIDL HALs
- Familiarity with AOSP build systems and configuration, including Android.bp, Soong, Android.mk, or similar tools
Desired Qualifications
- Experience developing Android applications or platform services using Java and/or Kotlin
- Experience with Android IPC and service development, including AIDL, Binder, Bound Services, Foreground Services, Messenger, WorkManager, or similar technologies
- Experience with automotive software platforms, infotainment systems, digital cockpit systems, CAN, ASPICE, FMEA, QNX, Automotive Grade Linux, or similar technologies
- Experience using profiling, debugging, static analysis, dynamic analysis, unit testing, or mock frameworks such as SonarQube, Klocwork, Valgrind, Mockito, MockK, or equivalent tools
Hiring someone like this?
Get your role in front of qualified candidates on Sorce.