We are looking for an Android native developer responsible for the development and maintenance of applications aimed at a vast number of diverse Android devices written in Java. 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
* Successful candidate will have 3+ years of experience building high-quality Android apps.
* 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
* Experienced with MVVM architecture (Must have)
* Strong understanding of full app development life cycle (Must have)
* Experienced with data-binding library (Must have)
* Experienced with offline storage using ROOM library (Must have)
* Experienced with Android background and foreground services (Must have)
* A solid foundation of modern Java data structures, algorithms, and software design and can consistently deliver testable, scalable, highly-readable code using OO best practices. (Must have)
* Experienced with Android multi threading (Must have)
* Experienced with Java Collections framework (Must have)
* Experienced with firebase and cloud messaging.
* Ability to understand business requirements and translate them into technical requirements
* A knack for benchmarking and optimization.
* Understanding of code versioning tools, such as Git
Brownie points if you have
* Experience and/or published apps in React Native.