Understand the requirement and provide proper time estimation.
Translate designs and wireframes into high quality code.
Designing and developing advanced applications for the Android platform.
Collaborate with cross-functional teams to define, design, and ship new features.
Unit-testing code for robustness, including edge cases, usability, and general reliability
Bug fixing and improving application performance.
Continuously discover, evaluate, and implement new ways to maximize development efficiency.
Experience with libraries such as Retrofit, GSON, Dagger 2, Data Binding, RxJava & RxAndroid.
Work with the team to meet the project deadlines.
Lead a team of developers and assign work among team members equally to meet deadlines.
Training team members to enhance their skills for meeting the company's objectives.
Research on new architecture pattern and implement those. Stay up-to-date on emerging technologies.
Contribute to the continuous improvement of the development process.
Strong Knowledge of Kotlin
Strong knowledge of Android SDK , different versions of Android, and how to deal with different screen sizes
Strong knowledge of Android UI design principles, patterns, and best practices
Experience in offline storage, threading, and performance tuning
Familiarity with cloud message APIs and push notifications
Practical knowledge of Git and its applications
Strong knowledge of Coding design patterns and Architectures like MVP/MVVM/Clean etc.
Familiarity with REST API to connect Android applications with back-end services
Knowledge of the open-source Android ecosystem and the libraries available for common tasks
Ability to design applications around natural user interfaces, such as “touch”
Good verbal and written communication in English.