Building at Google: From Idea to Production
summary
Migration moves Fitbit iOS and Android from Bitbucket/Jenkins plus millions of custom scripts into Bazel with Xcode/Gradle replaced, preserving daily feature delivery while 150+ engineers across 20+ teams convert tens of thousands of source files from a 10+ year monolith. Build time drops from ~60+ minutes to ~10 minutes (~80% faster) by splitting into thousands of targets (iOS ~5k→7.5k, Android ~150→9k), using remote cache and rebuild-only dependency graphs, rolling out at 1% with no user-visible change except a build number.
AI-written summary · about
chapters (18)
- 0:00Seamless infrastructure migration
- 1:25Legacy mobile apps migration
- 3:57Why build infrastructure matters
- 5:23Three migration phases
- 7:10Migrating code tests tooling
- 10:40Global teamwork without disruption
- 12:04Meet Bazel open-source build
- 14:51Bazel’s dependency graph revolution
- 17:24Local and PR validation workflows
- 19:36Rebuild only what’s necessary
- 21:01Bazel languages and IDE support
- 22:25Dependency graph impact on builds
- 24:10Zero disruption rollout
- 25:14Case study improved builds reliability
- 27:44Breaking monolith into targets
- 29:52Developer happiness adoption
- 31:59Flaky tests and Bazel handling
- 33:25One year later impact
related talks
41mDude, Where's My Build? Android CI/CD at Uber
11mPerformant Bazel Builds for Web Monorepos at Scale
41mScaling Productivity: How we have improved our dev experience
30mAndroid Developer Productivity
21mReduce wall clock time - Do More Faster
44mBuilding a Distributed Build System at Google Scale
36mDeveloper Productivity On a Budget
23mPolyglot Builds with Bazel
