Android developer skills: what to learn first, and what can wait

Android skills age fast, but the ones underneath them don't. Get state, threading and the app lifecycle right in Kotlin, and every new Jetpack library becomes an afternoon of reading instead of a rewrite. Kotlin Multiplatform, custom Gradle plugins and deep graphics work can wait until a team actually needs them from you.

291 open jobs
Step one

Gets you the interview

Idiomatic KotlinScreeners skim your code for data classes, sealed interfaces for UI state, null safety without a pile of double-bang operators, and extension functions used with restraint. Kotlin that reads like translated Java is the fastest way to get passed over.
Jetpack Compose state handlingAnyone can lay out a screen. What gets you a call is knowing remember versus rememberSaveable, hoisting state out of a composable, and collecting a StateFlow with collectAsStateWithLifecycle so the screen doesn't leak work in the background.
Coroutines and Flow basicsYou should be able to launch work in viewModelScope, switch to Dispatchers.IO for disk and network, and explain why a Flow stops when nobody collects it. Take-home tasks almost always hinge on this.
A networking and storage layerRetrofit or Ktor for the API, Room or DataStore on disk, and a repository class that decides which one wins. A portfolio app that works on a train with no signal tells a hiring manager you've thought past the happy path.
Step two

Gets you the offer

Lifecycle and process deathInterviewers love asking what happens to your screen when the system kills the app in the background. Answering with SavedStateHandle, a Don't Keep Activities test and a clear story about configuration changes is what separates a mid-level hire from a junior one.
Testing that catches real bugsUnit tests on ViewModels with Turbine for Flow, fake repositories instead of mocking everything, and a few Compose UI tests on the flows that make money. Showing you know which tests are worth writing matters more than a coverage number.
Dependency injection with HiltMost teams you'll join already use Hilt or Dagger, and the offer round often includes reading an unfamiliar module graph. Knowing scopes, qualifiers and why a singleton holding an Activity context leaks memory saves your future teammates a painful review.
Modular Gradle buildsBig apps split into feature and core modules with version catalogs and convention plugins, and slow builds are a daily complaint. If you can explain why a change in one module rebuilds half the app, you sound like someone who's worked on a real codebase.
Step three

Gets you promoted

Startup and rendering performanceSenior Android engineers profile with Perfetto and the Android Studio profiler, add Baseline Profiles, and track down Compose recompositions that make a list stutter on a cheap phone. Shaving time off cold start is the kind of win product managers actually notice.
Release engineering in the Play ConsoleOwning staged rollouts, halting a bad release, reading Android vitals and keeping up with target SDK deadlines is unglamorous work. The person who runs it calmly becomes the person trusted with the whole app.
Background work and battery rulesWorkManager constraints, foreground service types, exact alarm permissions and manufacturer battery savers all break sync features in different ways. Designing sync that survives those rules is a staff-level problem most teams keep getting wrong.
Architecture decisions other people followWriting the doc that picks a navigation approach, sets the rules for module boundaries or plans an XML-to-Compose migration is how you move from lead on a feature to lead on the app. The code matters less here than getting a team to agree.

Put it on your résumé like this

Weak

Worked on performance improvements for the Android app.

Strong

Cut cold start on the Android app from 2.8s to 1.3s by adding Baseline Profiles and moving 6 SDK initializers off the main thread, lifting day-one retention 4% across 1.2M monthly users.

Questions people ask

Should I learn Kotlin Multiplatform now?

Not before you're solid on plain Android. Shared business logic across Android and iOS is showing up in more codebases, and it's a nice extra on a résumé. It won't help much if you still can't explain why your screen loses its data after rotation.

How much of the Android SDK do I need to know by heart?

Less than you'd think. Nobody expects you to recite every Intent flag. You should know Activities, the permission model, content providers at a basic level and how notifications work, then look the rest up in the docs like everyone else does.

Is RxJava still worth learning?

Learn to read it, not to love it. Older apps still have RxJava chains all over the data layer, and your first tickets might be migrating one to Flow. New code should use coroutines, and interviewers expect you to reach for them first.

What's the best way to practise performance work without a big app?

Build a long, image-heavy list in Compose and run it on the oldest phone you can borrow. Record a trace, find the janky frames, fix them and write down what changed. That short story is worth more in an interview than any course.

Got step one? Start applying. HeroApply matches you to roles that fit.

Start your trial