What recruiters should look for in a senior Compose codebase

Screening Android developer candidates who claim Jetpack Compose? Ask for production repos or live apps, then look for these signals — from nine years shipping Kotlin UI including 12+ Compose white-label products.

1. State lives outside composables

Senior engineers use ViewModels (or MVI stores) with StateFlow. Composables subscribe; they don't fetch, parse JSON or call Retrofit. Red flag: LaunchedEffect doing network I/O on every recomposition-heavy screen.

2. Navigation is typed and testable

Routes are sealed classes or constants — not stringly-typed magic everywhere. Deep links and back-stack behaviour are explicit, especially for checkout and auth flows.

3. Design system, not copy-paste

Theme tokens, typography, spacing components. White-label or multi-flavour apps need configuration-driven theming — evidence of scaling beyond one app skin.

4. Migration story

If they migrated XML → Compose, ask how they avoided dual maintenance hell. Incremental module boundaries, feature flags, parity testing. I've done this on Upwork contracts with repeat clients.

5. Tests and CI

Unit tests on ViewModels/state reducers. Detekt/Spotless or equivalent. CI that runs before merge — not "we'll add tests later."

6. Production scars

Crashlytics workflow, ANR investigation, Play policy rejections they've fixed. Compose-specific: lazy list performance, rememberSaveable on process death, configuration change behaviour.

Try my role fit tool

Paste your JD at ahsanislam.com/#fit — maps requirements to my declared skills with evidence. Or book a screening call.

Ahsan Islam, Jetpack Compose developer