1) Strong Knowledge of Android SDK, Kotlin, Android Studio and different versions of Android.
2) Familiarity with RESTful APIs to connect Android applications to back-end services.
3) Strong knowledge of Android UI design principles, patterns, and best practices
4) Experience with offline storage, threading, and performance tuning
5) Ability to design applications around natural user interfaces, such as touch
6) Familiarity with the use of additional sensors, such as gyroscopes and accelerometers
7) Knowledge of the open-source Android ecosystem and the libraries available for common tasks
8) Ability to understand business requirements and translate them into technical requirements
9) Familiarity with cloud message APIs and push notifications
10) A knack for benchmarking and optimisation
11) Understanding of Googles Android design principles and interface guidelines
12) Proficient understanding of code versioning tools, such as Git.