Faith Mwangi Senior Android Developer
Nairobi, Kenya • androiddev@gmail.com • +254 712 555 042
Profile Summary
- Senior Android Developer with 8 years of experience building consumer-scale Android apps on the Play Store across mobile money, peer-to-peer transfer, and merchant payments, specializing in Jetpack Compose app architecture, Coroutines and Flow, and Android platform integration.
- Hands-on coverage across Kotlin 2.0, Jetpack Compose, Android Views, MVVM, Coroutines and Flow, Room, Hilt, JUnit 5, Espresso, and Java with strong fundamentals in idiomatic Kotlin, structured concurrency, and Material Design fluency.
- Deep expertise in modular feature architecture, unidirectional data flow, single-activity navigation, and offline-first data layer, leveraging methodologies such as state-driven Compose with StateFlow holders and UI / domain / data layering with use cases to drive responsive, accessible, Play-Store-ready Android apps shipped at production quality.
- Engaged collaborator working cross-functionally with Design, Product, Backend, and iOS teams in Agile and continuous-delivery environments, contributing to design-review forums, sprint planning, and architecture discussions with a pragmatic, ownership-first mindset.
- Emerging leader who shares technical excellence and fosters a culture of crash-free user rate and Play Console readiness through PR reviews and component docs, while leading Android community-of-practice sessions and authoring widely used ViewModel and feature templates.
Technical Skills
- Languages & Toolchain:
- Kotlin 1.9/2.0, Java, coroutines, Flow, sealed classes, data classes, extension functions, scope functions, delegated properties, inline classes
- UI Frameworks:
- Jetpack Compose, Android Views, ComposeView, AndroidView interop, Material 3, ConstraintLayout, animations, accessibility
- Architecture & Patterns:
- MVVM, MVI, Clean Architecture, unidirectional data flow, single-activity + Navigation, repository pattern, use cases, dependency injection
- Concurrency & Reactive:
- Coroutines (suspend, scopes, dispatchers, supervisors), Flow, StateFlow, SharedFlow, channels, RxJava interop, WorkManager
- Jetpack & AndroidX:
- ViewModel, LiveData, Lifecycle, Navigation, Room, WorkManager, DataStore, Paging 3, CameraX, Hilt, Macrobenchmark
- Networking & APIs:
- Retrofit, OkHttp, Ktor Client, Apollo (GraphQL), REST, kotlinx.serialization, Moshi, OAuth/OIDC, JWT
- Persistence & Storage:
- Room, DataStore (Preferences + Proto), SQLDelight, EncryptedSharedPreferences, offline-first sync, Single Source of Truth
- Release & Testing:
- JUnit 5, MockK, Turbine, Truth, Espresso, Compose Testing, Robolectric, Gradle (Kotlin DSL), App Bundles (AAB), Play App Signing, Play Console, GitHub Actions
Education
Work Experience
- Drove Android feature delivery on the M-PESA Android consumer app serving 34M monthly actives, shipping P2P transfer, bill pay, and merchant tills in idiomatic Kotlin 2.0 across 42 Gradle feature modules.
- Led the migration to Jetpack Compose with Material 3 design system, ComposeView bridges for legacy Android Views screens, and previews wired into the design-system Storybook, rebuilding 46 screens and shipping 80+ shared composables adopted across the app.
- Owned app architecture using MVVM with Clean Architecture, Hilt for dependency injection, single-activity Navigation, and a UI / domain / data layering with use cases, refactoring 22 feature modules to a testable ViewModel boundary adopted by 7 squads across the app.
- Drove the concurrency rewrite with Coroutines and Flow, StateFlow with SharedFlow events, structured scopes wired into Lifecycle, and dispatcher discipline on IO and Default, retiring legacy RxJava and AsyncTask call sites across 260+ sites and dropping the ANR rate per release by 71%.
- Shipped Android platform integration through WorkManager and Foreground Services, CameraX for KYC scanning, BLE for agent terminals, App Shortcuts on the launcher, and App Links with deferred deep linking across 11 surfaces, lifting deep-link engagement by 32%.
- Owned Android testing and performance with JUnit 5, MockK and Turbine for Flow, Espresso and Compose Testing for end-to-end flows, and Macrobenchmark with Baseline Profiles on Perfetto traces, pulling cold startup from 2.8s to 1.3s and holding crash-free users at 99.6% across the rollout.
- Owned Play Store distribution and release engineering with Gradle (Kotlin DSL) with GitHub Actions, App Bundles (AAB) with Play App Signing, testing tracks (internal, closed, open) wired into staged rollouts, and Data Safety + in-app updates configured per release, shipping 55+ Play Store releases and cutting staged-rollout regressions by 48%.
- Built the networking and data layer with Retrofit with OkHttp interceptors, kotlinx.serialization for typed payloads, OAuth2 token refresh, and offline-cache policies wired into the repository layer across 90+ REST and GraphQL endpoints, dropping failed-call rates by 52%.
- Built the local persistence and offline-sync layer with Room with DataStore Proto, EncryptedSharedPreferences for tokens, and a Single Source of Truth repository pattern, supporting 3.1M records synced offline and cutting sync-conflict incidents by 63%.
- Modernized legacy Android surfaces with ViewModel and Navigation component, LiveData for view state, and Paging 3 on RecyclerView, migrating 45 screens off Loaders and Activities on a weekly release cadence without breaking the existing deep-link graph.
- Partnered Design, Backend, and iOS on the shared product roadmap, authored 6 Android architecture RFCs adopted across the consumer app, and onboarded 4 junior Android developers through daily PR reviews and pair programming.