● Translate designs and wireframes into high quality code ● Design, build, and maintain high performance, reusable, and reliable Java code ● Ensure the best possible performance, quality, and responsiveness of the application ● Identify and correct bottlenecks and fix bugs ● Help maintain code quality, organization, and automatization Requirements ● 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