TL;DR — What to learn first
Start here: Kotlin is mandatory. Add Jetpack Compose for modern UI and the Android SDK fundamentals (Activities, Fragments, Lifecycle).
Level up: Room for local databases, Retrofit for networking, Coroutines for async work, and Hilt for dependency injection.
What matters most: A published Play Store app and understanding of the Android lifecycle. Compose is the future, but legacy View-system knowledge is still essential.
What Android developer job postings actually ask for
Before learning anything, look at the data. Here’s how often key skills appear in Android developer job postings:
Skill frequency in Android developer job postings
Languages & UI frameworks
Google’s preferred language for Android since 2019. You need coroutines, Flow, extension functions, sealed classes, and null safety. Java knowledge is useful for legacy code but Kotlin is the primary requirement.
Highlight Kotlin-specific features: "Migrated 40K-line Java codebase to Kotlin, leveraging coroutines and sealed classes to reduce crash rate by 25%."
Android’s modern declarative UI toolkit. State management, recomposition, side effects, custom layouts, and Compose-View interop are all expected. Most new Android projects start with Compose.
Activity/Fragment lifecycle, RecyclerView, XML layouts, and the legacy View system. Even on Compose-first projects, you will encounter the View system in existing code and third-party libraries.
Google’s design system for Android. Dynamic color, Material You theming, and component usage following Material guidelines. Understanding design tokens and adaptive layouts.
Jetpack & architecture libraries
The standard local database library for Android. Entity definitions, DAO patterns, migrations, and relationship mapping. Used alongside Coroutines/Flow for reactive data access.
The dominant networking stack for Android. Retrofit for type-safe REST API calls, OkHttp for the underlying HTTP client. Interceptors, serialization (Moshi/kotlinx.serialization), and error handling.
Mention the serialization library (Moshi, kotlinx.serialization) alongside Retrofit to show current practices.
Kotlin’s concurrency primitives are essential for Android. Structured concurrency, Flow for reactive streams, StateFlow/SharedFlow for UI state, and proper scope management with viewModelScope.
Hilt (Dagger-based) is the recommended DI framework for Android. Understanding modules, scopes, and ViewModel injection. Clean Architecture with DI separates professional from tutorial-level code.
Build tools & services
Android’s build system. Understanding build variants, product flavors, dependency management, and Kotlin DSL for build scripts. Build optimization (caching, parallelism) is valued at larger companies.
Google’s mobile platform. Crashlytics for crash reporting, Analytics for usage data, Cloud Messaging for push notifications, and Remote Config for feature flags. Most Android apps use at least some Firebase services.
Unit testing with JUnit and MockK, UI testing with Espresso (View system) or Compose Testing, and screenshot testing. Testing is increasingly expected in Android engineering interviews.
How to list Android developer skills on your resume
Don’t dump a wall of keywords. Categorize your skills to mirror how job postings list their requirements:
Example: Android Developer Resume
Why this works: The Architecture line communicates engineering maturity. Listing Hilt, Clean Architecture, and MVVM together signals you write modular, testable Android code.
Three rules for your skills section:
- Only list what you’ve used in a real project. If you can’t answer a technical question about it, don’t list it.
- Match the job posting’s terminology. If they use a specific tool name, use that exact name on your resume.
- Order by relevance, not alphabetically. Put the most important skills first in each category.
What to learn first (and in what order)
If you’re looking to break into Android developer roles, here’s the highest-ROI learning path for 2026:
Learn Kotlin fundamentals
Master null safety, extension functions, sealed classes, data classes, and lambdas. Build console applications and small Kotlin projects before touching Android. Complete Kotlin Koans.
Build Android apps with Jetpack Compose
Create three Compose apps: a calculator, a weather app with Retrofit API calls, and a to-do app with Room persistence. Focus on state management and navigation.
Learn Coroutines, architecture patterns, and Hilt
Refactor your apps to use MVVM with Hilt dependency injection. Replace callbacks with Coroutines and Flow. This is where your code starts looking professional.
Add testing, Firebase, and legacy View system knowledge
Write unit tests with JUnit/MockK and UI tests with Compose Testing. Add Firebase Crashlytics and Analytics. Build one feature using XML layouts and Fragments to understand the legacy system.
Publish an app to the Google Play Store
Polish your best project, add Material Design 3 theming, and publish it. Handle signing, release builds, and the Play Store submission process. A live app is the strongest portfolio piece.