Senior Android Developer
Summary
Build and modernize native Android apps in Kotlin, migrating legacy Java/XML code to Jetpack Compose and clean architecture while leading a team of developers.
- Design, develop, modernize, and maintain native Android applications using Kotlin and modern Android development practices.
- Lead modernization efforts for legacy Android codebases, including migration from Java to Kotlin, XML-based UI to Jetpack Compose, monolithic structures to modular architecture, and outdated libraries to supported alternatives.
- Own feature delivery from technical design through implementation, testing, release, monitoring, and post-release improvement.
- Apply clean architecture, SOLID principles, dependency injection, reactive programming, and maintainable modular design patterns.
- Collaborate closely with product managers, designers, backend developers, QA engineers, DevOps teams, and security stakeholders.
- Review AI-generated code and agent-produced changes critically, ensuring correctness, maintainability, security, performance, and alignment with project standards.
- Use AI agents and developer tools to accelerate implementation, refactoring, documentation, test generation, debugging, and modernization workflows without compromising engineering discipline.
- Improve application performance, startup time, memory usage, responsiveness, battery efficiency, accessibility, and reliability.
- Write and maintain unit tests, UI tests, integration tests, and automated checks for critical user flows.
- Mentor mid-level and junior Android developers, support code reviews, and help raise engineering standards across the team.
Required Qualifications
- Minimum 7 years of professional experience in Android application development.
- Strong hands-on experience with Kotlin and solid understanding of Java for legacy code maintenance and migration.
- Deep knowledge of Android SDK, Android Studio, Gradle, Jetpack libraries, lifecycle-aware components, ViewModel, Navigation and app compatibility considerations.
- Practical experience with Jetpack Compose and state-driven UI development; ability to support XML-based legacy screens where needed.
- Strong understanding of MVVM, MVI, Clean Architecture, modularization, dependency injection frameworks such as Hilt or Dagger, and scalable mobile architecture.
- Experience with Kotlin Coroutines, Flow, StateFlow, SharedFlow, structured concurrency, cancellation, error handling, and asynchronous programming patterns.
- Experience integrating RESTful APIs, authentication flows, push notifications, analytics, crash reporting, and third-party SDKs.
- Strong understanding of secure mobile development practices, including secure storage, token handling, certificate pinning concepts, obfuscation, and protection of sensitive data.
- Experience with Git-based workflows, pull requests, branching strategies, code reviews, CI/CD pipelines.
- Ability to troubleshoot production issues using logs, crash reports, performance profiling, and observability tools.
- Strong communication skills and ability to translate product requirements into robust technical solutions.
Preferred Qualifications
- Experience modernizing enterprise-scale Android applications with large codebases, multi-module structures, or long-lived legacy components.
- Experience with Kotlin Multiplatform, on-device AI, ML Kit, TensorFlow Lite, or AI-enabled mobile features.
- Experience using AI-assisted engineering tools such as coding agents, IDE assistants, CLI-based agents, test-generation tools, or automated refactoring assistants.
- Experience building offline-first applications, background processing workflows, secure enterprise applications, or applications with complex authentication and authorization requirements.
- Experience with performance optimization, accessibility standards, localization, design systems, and reusable component libraries.
- Experience working in Agile/Scrum teams and contributing to technical planning, estimation, and engineering roadmap discussions.