17 days ago
Kanata, CanadaMid Level
Responsibilities
- Design, develop, test, integrate, and maintain embedded software for Android Automotive, infotainment, digital cockpit, and vehicle platform systems.
- Develop Android platform services, applications, system-level components, and vehicle-facing software using C++, Java, Kotlin, and related technologies.
- Customize, debug, and maintain AOSP functionality, including Android system services and framework-level components.
- Develop, integrate, and troubleshoot automotive HAL components and Stable AIDL HAL interfaces.
- Contribute to software architecture, component design, interfaces, inter-process communication, data flow, integration points, and deployment strategy.
- Own features or components through requirements analysis, implementation, testing, release, issue investigation, and continuous improvement.
- Diagnose and resolve crashes, memory corruption, race conditions, deadlocks, threading, performance, and system stability issues.
- Collaborate with product owners, designers, architects, developers, test teams, and other stakeholders.
Requirements
- Bachelor’s degree in Computer Science, Software Development, Computer Engineering, Electrical/Computer Engineering, or a related technical discipline.
- 4+ years of software development experience with strong hands-on experience in 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.
- Preferred experience with Android applications or platform services using Java or Kotlin.
- Preferred experience with Android IPC and service development, including AIDL, Binder, Bound Services, Foreground Services, Messenger, or WorkManager.
- Preferred experience with automotive software platforms, infotainment systems, digital cockpit systems, CAN, ASPICE, FMEA, QNX, or Automotive Grade Linux.
- Preferred experience with profiling, debugging, static analysis, dynamic analysis, unit testing, or mock frameworks such as SonarQube, Klocwork, Valgrind, Mockito, or MockK.
Benefits
- Opportunities for personal and professional growth in a collaborative global community.
- Work on diverse projects across automotive, telecommunications, healthcare, and industrial automation.
- An entrepreneurial environment that supports innovation, creativity, and new ideas.
- International experience through global projects.
