Responsibilities
-Design, build and maintain high performance, scalable, reusable and reliable Java & Kotlin code.
-Lead a team of android developers and collaborate with the design, product and backend teams to deliver a finished product.
-Handle the adaptability of app across various android devices and network bandwidths.
-Foster a culture of writing unit-tests for robustness, including edge cases, usability, and general reliability.
-Take ownership of product/features: End to end development with testing and meeting the deadline.
-Contribute best-in-class programming skills to develop highly innovative, consumer-facing mobile products.
-Ability to contribute to the back end, when required, would be highly appreciate.
Requirements
-B. E. / B. Tech. in Computer Science or equivalent.
-5+ years of strong experience in building quality Android apps and strong application architectural experience.
-Should have been involved with the creation and delivery of an app with more than 1M downloads.
-Good understanding of areas such as Algorithms, Data Structures, Object Oriented Design, Databases (Preferably Realm).
-Expert in basic android components: Activity, Fragments, Services, Intent, Broadcast Receivers etc.
-Experience of working with RxJava/RxAndroid observer pattern, Singleton pattern, Factory pattern.
-Some experience around Coroutines and AndroidX design patterns.
-Programming experience in Kotlin/MVVM design pattern.
-Good understanding of memory management, network interaction, concurrency and multi-threading in Android.