Skills Strong knowledge of Android SDK, different versions of Android, and how to deal with different screen sizes Familiarity with RESTful APIs to connect Android applications to back-end services Strong knowledge of Android UI design principles, patterns, and best practices Experience with offline storage, threading, and performance tuning Ability to design applications around natural user interfaces, such as “touch” Familiarity with the use of additional sensors, such as gyroscopes and accelerometers Knowledge of the open-source Android ecosystem and the libraries available for common tasks Ability to understand business requirements and translate them into technical requirements Familiarity with cloud message APIs and push notifications A knack for benchmarking and optimization Understanding of Google’s Android design principles and interface guidelines Proficient understanding of code versioning tools, such as Git