Job Description
We are looking for an Android developer responsible for the development and maintenance of applications aimed at a vast number of diverse Android devices. Your primary focus will be the development of Android applications and their integration with back-end services. You will be working along-side other engineers and developers working on different layers of the infrastructure. Therefore, commitment to collaborative problem solving, sophisticated design, and creating quality products is essential.
Responsibilities
· 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
Skills
· Strong knowledge of Android SDK, different versions of Android, and how to deal with different screen sizes
· Need hands on experience on using Dagger, Retrofit, RxJava
· Familiar with CI/CD, Static code analysis, Agile, Unit testing
· 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
· Familiarity with continuous integration