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.