About the Role
We are looking for an experienced Android Developer to design, build, and maintain high-quality Android applications. You will work closely with product managers, designers, and backend engineers to deliver fast, reliable, and user-friendly mobile experiences. You will also own key technical decisions and help mentor junior developers.
Key Responsibilities
- Design, develop, and maintain advanced Android applications using Kotlin (and Java where needed).
- Build clean, scalable, testable code following modern architecture patterns such as MVVM, MVI, or Clean Architecture.
- Develop UI with Jetpack Compose and XML layouts that follow Material Design guidelines.
- Integrate RESTful APIs, GraphQL, and third‑party SDKs (payments, analytics, maps, push notifications).
- Improve app performance, memory usage, battery efficiency, and startup time.
- Write unit, integration, and UI tests using JUnit, Mockito/MockK, and Espresso.
- Take part in code reviews and enforce coding standards and best practices.
- Manage releases on the Google Play Store, including versioning, staged rollouts, and crash monitoring.
- Work with CI/CD pipelines to automate builds, testing, and deployment.
- Find and fix bugs, crashes, and ANRs using Firebase Crashlytics and Android Profiler.
- Mentor junior developers and contribute to technical planning and estimation.
- Keep up with new Android releases, Jetpack libraries, and industry trends.
Required Skills and Qualifications
- Bachelors degree in Computer Science, Engineering, or a related field (or equivalent experience).
- 5+ years of hands‑on Android development experience, with at least 2–3 apps published on the Play Store.
- Strong proficiency in Kotlin, with a good working knowledge of Java.
- Solid experience with Android Jetpack components: ViewModel, LiveData/StateFlow, Room, Navigation, WorkManager, DataStore.
- Practical experience with Jetpack Compose.
- Strong understanding of Kotlin Coroutines and Flow (RxJava knowledge is a plus).
- Experience with dependency injection using Hilt or Dagger.
- Proficiency with networking libraries such as Retrofit and OkHttp.
- Good knowledge of the Android app lifecycle, background processing, and offline data handling.
- Experience with Git, Gradle, and Agile/Scrum workflows.
- Familiarity with Firebase services (Crashlytics, FCM, Analytics, Remote Config).
- Understanding of mobile security practices such as secure storage, ProGuard/R8, and SSL pinning.
- Strong problem‑solving, debugging, and communication skills.
- Hands‑on experience with Flutter and Dart, including building UI widgets, state management (Provider, Riverpod, or BLoC), and integrating Flutter modules with native Android code.
- Experience with analytics and monitoring tools such as PostHog, Datadog, Sentry, or similar, including event tracking, user behaviour analysis, performance monitoring, and error reporting.
Good to Have
- Experience with Kotlin Multiplatform (KMP) or Flutter/React Native.
- Knowledge of modular app architecture and multi‑module projects.
- Experience with CI/CD tools like GitHub Actions, Jenkins, Bitrise, or Fastlane.
- Exposure to accessibility (a11y) and localization.
- Contributions to open‑source projects or a strong GitHub portfolio.
- Experience in domains such as healthcare, fintech, e‑commerce.