Scaling Productivity: How we have improved our dev experience
summary
Freeletics reports work by 15 Android engineers across four teams on a codebase of roughly 1,600 Gradle modules and claims concrete wins: a CLI called droid that scaffolds feature modules, annotation-based generators that replace editable fragments and cut boilerplate, and a DSL library flow redux that makes complex workout state machines testable with Turbine. Dagger pain is reduced using Anvil, generated components survive configuration changes, and a codegen change yields 10–40% faster incremental builds.
AI-written summary · about
chapters (20)
- 0:00Introduction to talk
- 1:53Context and KPIs for productivity
- 4:41Engineering productivity as product development
- 5:45Fletics codebase overview
- 7:09Eliminating repetitive tasks with tooling
- 10:21Reducing boilerplate in components
- 13:12Code generation for fragments
- 15:20Build time improvements with codegen
- 16:44Simplifying dependency injection
- 19:10Anvil for cleaner Dagger usage
- 22:42Domain layer logic and state machines
- 24:03Peer review time and rework rate
- 26:07Finite state machines for workout flow
- 27:09DSL for state management
- 28:12Testing state machines with Turbine
- 30:20Iterative design with user interviews
- 33:31Scaling navigation in modular apps
- 35:38Type-safe navigation without Safe Args
- 38:50Simplified navigation with EnoughRoot
- 40:15Summary and takeaways
related talks
43mThe Engineering Playbook for Growing Android Teams
49mMobile Developer Productivity Panel
36mDeveloper Productivity Engineering: What's in it for me?
39mMobile Developer Productivity Panel
37mMobile Developer Productivity Engineering
27mDeveloper Experience: It’s Time to Start Complaining
37mBecoming and Staying a Productive Developer with Build Scans, Build Validation Scripts and Gradle
29mGrowing Your Team While Remaining Efficient
