Android SDK: Proficient in Android SDK with strong knowledge of different Android versions.
Android Framework: Solid understanding of Android framework and library components.
Languages: Familiarity with Kotlin/Java/C++ and Android JNI and NDK concepts.
Multithreading: Strong expertise in multithreading concepts.
APIs: Experience working with RESTful APIs to connect Android applications to back-end services.
UI Design: In-depth knowledge of Android UI design principles, patterns, and best practices.
Performance: Proven experience with offline storage, threading, and performance tuning.
User Interfaces: Ability to design applications based on natural user interfaces.
Sensors: Familiarity with additional sensors, including gyroscopes and accelerometers.
Open-Source: Knowledgeable about the open-source Android ecosystem and commonly used libraries.
Technical Specifications: Proficient in understanding business requirements and translating them into technical specifications.
Cloud Messaging: Experience with cloud message APIs and push notifications.
Optimization: Adept at benchmarking and optimization.
Design Principles: Understanding of Google’s Android design principles and interface guidelines.
Dynamic Data: Excellent knowledge of working with dynamic data (JSON & XML) through various interface types, such as REST API.
Object-Oriented Design: Strong fundamentals in object-oriented design, data structures, and algorithms.
Low-Level Libraries: Knowledge of low-level C-based libraries is preferred.
Domain Knowledge: Experience in domain knowledge such as RIL and Android telephony (LTE, CDMA, EvDO, WCDMA, GSM/EDGE, TCP/IP).
System Classes: Experience on Android system classes with phone calls (VoLTE, VoWIFI, 1xCall), SMS, messaging with other apps, Bluetooth, WIFI, IMS registration.