So you’ve decided to do a technical migration
summary
Monzo migrates from Flow to Typescript over two years using migration scripts, a package generator, and a script that finds packages whose dependencies are already migrated so work unlocks down the dependency tree. CI linters and ESLint block wrong file types, a dashboard tracks percent migrated (97→99→100), and shared libs keep flow types while apps convert. The Babel step is removed, the new Rust-based compiler speeds dev and CI, many missing types surface, and the incremental approach proves safer.
AI-written summary · about
chapters (21)
- 0:00Technical migrations intro
- 1:26Monzo chose Flow over TypeScript
- 3:55Why migrate to TypeScript
- 4:57Proof of concept start
- 6:23Documenting decisions early
- 7:24Centralizing team efforts
- 8:27Incremental vs big bang
- 10:11Tooling for migration rules
- 11:55Dependency trees in monorepo
- 12:36Progress dashboards milestones
- 14:00Hard deadlines for migration
- 16:07Stakeholder buy-in needed
- 17:34TypeScript benefits mid-migration
- 18:59Risks of abandoning migration
- 20:01Incidents during incremental
- 21:06Migration completion
- 22:30Do you need this migration?
- 23:53Long-term tech maintenance
- 26:00Avoid hype-driven migrations
- 27:46Value of reliable tech
- 28:48Key lessons and advice
related talks
34mSo You’ve Decided to Do a Technical Migration
37mSo You Decided to Do a Technical Migration
47mSo You've Decided to Do a Technical Migration
31mSo you've decided to do a technical migration...
22mMigrating 600k+ Lines of Code from Flow to TypeScript
23mMoving from Flow to TypeScript — How the Yandex Zen Migration Went and Why the New Stack Is Better
16mAll aboard the type train
42mStatic Type Checking with FlowType
