This role requires advanced expertise in Android development, demonstrated by a proven track record of delivering successful applications. The candidate must apply strong technical skills to develop and maintain robust mobile solutions.
Expert knowledge of Kotlin and Java programming and comprehensive familiarity with the Android SDK.
Proficient in Android Architecture Components such as Lifecycle and ViewModel, along with implementation of design patterns including MVVM, MVI, Clean Architecture, and SOLID principles.
Extensive experience with the Android Framework, covering services (foreground/background), ContentProviders, IPC mechanisms (Binder, AIDL, Messenger, Intents/Broadcasts), and the permissions model including runtime and privileged permissions.
Solid understanding of Android system aspects such as process lifecycle, memory management, out-of-memory behavior, ActivityManagerService, app sandboxing, and security fundamentals.
Skilled in log analysis using logcat, performance profiling, and the use of debugging tools.
Practical experience with Android Studio, Gradle build system, and Git version control.
Familiarity with Linux internals, basic shell operations, SELinux policy, and system-level concepts pertinent to embedded devices.
Experience with Android Automotive OS, including AAOS application models, HMI constraints, and Car APIs.
Ability to troubleshoot complex system-level and application issues methodically.
Effective use of technical tools and resources for performance optimization and debugging.
Capability to understand and adapt to platform-specific constraints and requirements.