Career roadmap
Android Engineer
Kotlin, Compose and the Android platform — build for the widest and most fragmented device base in the world.
Before you start Android
- Object-oriented programming fundamentals
- Android Studio installed with an emulator running
- Basic Git
Kotlin and the platform
Kotlin idioms and the Android lifecycle — the two things every interview opens with.
Null safety, data classes and scope functions are assumed knowledge, not bonus points.
- Null safety and platform types
- Data classes, sealed classes, enums
- Extension functions and scope functions
- Collections and sequences
Structured concurrency is the single most-asked Android topic in current interviews.
- Suspend functions and coroutine scopes
- Dispatchers and thread confinement
- Flow, StateFlow and SharedFlow
- Cancellation and exception handling
Rotation and process death are the classic Android trap questions.
- Activity and fragment lifecycle
- ViewModel and saved state
- Process death and restoration
- Configuration changes and resources
Components, intents and permissions — the vocabulary of the platform.
- Activities, services, broadcast receivers
- Intents, intent filters and deep links
- Runtime permissions
- Manifest, resources and qualifiers
Build variants and dependency management, plus why the build takes four minutes.
- Gradle Kotlin DSL and version catalogs
- Build types, flavours and variants
- R8 shrinking and ProGuard rules
- Build speed and modularisation
BuildA two-screen app that survives rotation and process death with state intact.
Jetpack Compose
Compose is the default for new Android work. Recomposition is the interview topic.
Declarative UI on Android, and the recomposition model that decides performance.
- Composables, state and recomposition
- remember, derivedStateOf, rememberSaveable
- Side effects: LaunchedEffect, DisposableEffect
- Stability and skipping
Material 3, dynamic colour and custom layouts.
- Row, Column, Box and modifiers order
- LazyColumn and item keys
- Material 3 and dynamic colour
- Custom layouts and measurement
Type-safe navigation and deep links, plus back stack behaviour.
- Navigation Compose and typed routes
- Back stack and up navigation
- Deep links and app links
- Nested graphs and shared state
Most existing Android codebases are XML views. You will maintain them.
- XML layouts and ConstraintLayout
- RecyclerView and DiffUtil
- View binding
- Interop between Views and Compose
Foldables, tablets and TalkBack. Increasingly part of the Play Store quality bar.
- TalkBack semantics in Compose
- Window size classes and adaptive layouts
- Font scaling and contrast
- Foldable and large screen support
BuildA Compose app with lists, navigation, theming and a custom layout, supporting dark mode.
Architecture and data
Google's recommended architecture is the expected answer; knowing its costs is the senior one.
UI layer, domain layer, data layer — and unidirectional data flow throughout.
- MVVM and MVI in practice
- Repository pattern and data sources
- Use cases and the domain layer
- Single source of truth
Hilt is the standard. Being able to explain scoping is the actual test.
- Hilt modules, components and scopes
- Constructor injection and testability
- Manual DI and when it is enough
- Koin as an alternative
Local database plus migrations, which is where production Android apps break.
- Room entities, DAOs and relations
- Flow-returning queries
- Migrations and destructive fallback
- DataStore for preferences
Retrofit, OkHttp and a caching strategy that works on a train.
- Retrofit and OkHttp interceptors
- Serialization with kotlinx
- Offline-first with a single source of truth
- WorkManager for deferred sync
Unit tests for the domain, instrumented tests for the UI, and Turbine for flows.
- JUnit, MockK and Turbine
- Compose UI testing
- Espresso for view-based screens
- Test doubles for repositories
BuildRefactor your app into data/domain/UI layers with a repository, offline cache and dependency injection.
Performance and release
Android fragmentation means performance work is measured on real, cheap devices.
Startup time, jank and ANRs are the Play Console vitals that gate your listing.
- Android Studio Profiler and Perfetto
- Baseline Profiles and startup time
- Jank, frame timing and ANRs
- Memory leaks with LeakCanary
In many markets, install size decides whether the app is installed at all.
- App Bundles and dynamic delivery
- R8 and resource shrinking
- Feature modules on demand
- Asset optimisation
Tracks, staged rollout and policy compliance — real operational knowledge.
- Internal, closed, open and production tracks
- Staged rollout and halting a release
- Play policy and data safety form
- Signing and Play App Signing
Automated builds, tests and Play uploads on every merge.
- GitHub Actions for Android
- Automated tests on emulators
- Fastlane supply for uploads
- Build caching
Play Console vitals plus Crashlytics is how you learn what a thousand device models do.
- Crashlytics and non-fatal reporting
- Android vitals thresholds
- Deobfuscation mapping files
- Device-specific bug triage
BuildProfile startup and jank on a low-end device, fix one issue, and ship to Play with a staged rollout.
Interview preparation
Android loops test Kotlin, coroutines, lifecycle and architecture, plus a live build.
Coroutine scoping, lifecycle traps and recomposition come up in nearly every loop.
- viewModelScope vs lifecycleScope
- StateFlow vs LiveData vs SharedFlow
- Why did this composable recompose
- Handling process death correctly
Build a screen that fetches and displays data, with loading and error states.
- Compose screen from scratch in 45 minutes
- Repository and ViewModel wiring
- Error and empty state handling
- Talking through decisions while coding
Design an offline-first app, an image loader, or a sync engine.
- Offline-first architecture
- Image loading and caching pipeline
- Background sync with WorkManager
- Modularisation for a large team
Standard at product companies and most large service companies.
DSA Coding Questions- Arrays, strings and hash maps
- Trees, graphs and recursion
- Complexity analysis
- Kotlin idioms in solutions
A live Play listing with a clean modular repo is the strongest possible evidence.
- Published app with screenshots
- Multi-module open-source repo
- Baseline Profile and startup numbers
- Accessibility support demonstrated
BuildA published Play Store app with a modular architecture and a README that explains the layering.
Android tools on your CV
- Kotlin
- Jetpack Compose
- Coroutines & Flow
- Hilt
- Room
- Retrofit
- WorkManager
- Android Studio
- Perfetto
What Android employers ask to see
- An app on Google Play with staged rollout used at least once
- A multi-module repo following the recommended architecture
- A startup-time improvement backed by Baseline Profile numbers
- An offline-first feature with a documented sync strategy
Huge installed base and steady enterprise demand, especially in India, South-East Asia and fintech. Less crowded than web, and Kotlin skills transfer to backend work.
Content last reviewed 2026-08-31. Guidance only — no institute or paid placement is endorsed anywhere in this book.