The Day-to-Day Activities
As an Android engineer, you are expected to work on both product development as well as engineering improvements.
Work closely with the product and design team to understand requirements, provide product feedback, own and implement the product from start to finish.
Drive and participate in technical discussions with other engineering teams
Write code that is reusable, scalable and testable. Make sure products are delivered on time and with high quality.
Collaborate with QAs to make sure our app releases are always worthy of five star ratings.
Review code from other team members, provide constructive feedback and strive to raise the engineering bar.
Take initiative to improve the codebase proactively. Propose and set better engineering solutions for the team.
Be responsible and responsive during on-call duty. Able to debug and troubleshoot production issues.
Provide technical guidance, mentorship and knowledge sharing to peers.
Qualifications
The Must-Haves
A degree in computer science, software engineering or related fields.
Strong programming experience in Java or Kotlin, familiar with design patterns, multi-threading, have a good coding style and habits.
Understanding the Android system and programming paradigm including OOP, TDD, reactive patterns and dependency injection.
Know well of AndroidSDK, deep understanding of Android infrastructure, components, UI, data storage etc.
Working knowledge of several architectural approaches including clean architecture, MVP and MVVM.
Experience of using Android platform open source framework, knowledge of EventBus, Retrofit, Glide, OKHTTP, Dagger, RxJava and other third-party libraries.
Experience in Android automated testing, including unit testing, UI testing, familiar with Android testing framework like Espresso, UI Automator, Mockito and Powermock or Appium.
Experience in user behavior analysis, log and error collection and analysis tools.
Work attitude is conscientious, have a strong sense of responsibility and teamwork, positive and optimistic, and willing to share.
Fluent in English, with the ability to communicate fluently in English.
The Nice-to-Haves
The ability to independently develop Android apps or contribute to well-known open-source projects is favored.
Working knowledge of various architectural approaches, caching, data storage, and security is valued.
2-4 years of mobile engineering experience, specifically with a record of building complex applications, and experience in live/online projects is sought.