Responsibilities
Develop scalable, testable, and reliable solutions.
Follow best practices and improve application performance.
Research, identify, and recommend industry best practices for solving technical problems.
Work very closely with architecture groups and deliver solutions.
Apply design patterns, best practices and development frameworks and techniques.
Participate as a developer in software engineering phases including requirements analysis, architecture & application design.
Build reusable components, frameworks and libraries which can be leveraged across departments.
Requirements
Expert level Android development with 10+ years of experience using Java, Kotlin, RxJava and RxAndroid.
Exposure to development of applications across different form factor (mobile, tablet, etc) supporting different Android versions.
Working experience of app architecture like MVVM, MVI and MVP
Exposure to performance tuning, power consumption & material UI is a PLUS.
At least few full lifecycles mobile applications built with Android SDK published in play store
Working experience with Rest APIs integrations and third-party libraries such as Dagger, Picaso, Firebase, SQLite, etc.
In-depth understanding of package manager, bound services, AIDL (Android Interface Definition Language), Activity Life cycle & content providers.
Understanding how to engineer the RESTful, Micro services and architecture.
Working experience with test frameworks like mockito, espresso & TDD-BDD frameworks for Android
Proven object oriented development skills.
Willingness to learn new areas.
Working knowledge of the general mobile landscape, architectures, trends, and emerging technologies.