1. Translate designs and wire frames into high quality code
2. Design, build, and maintain high performance, reusable, and reliable Java code
3. Ensure the best possible performance, quality, and responsiveness of the application
4. Identify and correct bottlenecks and fix bugs
5. Help maintain code quality, organization, and automization 6. 6. Strong knowledge of Android SDK, different versions of Android, and how to deal with different screen sizes
7. Familiarity with Restful APIs to connect Android applications to back-end services
8. Strong knowledge of Android UI design principles, patterns, and best practices
9. Experience with offline storage, threading, and performance tuning
10. Ability to design applications around natural user interfaces, such as "touch"
11. Familiarity with the use of additional sensors, such as gyroscopes and accelero meters
12. Knowledge of the open-source Android ecosystem and the libraries available for common tasks
13. Ability to understand business requirements and translate them into technical requirements
14. Familiarity with cloud message APIS and push notifications