Slack's engineering team reduced their build pipeline time from 60 minutes to as little as 10 minutes by applying software engineering principles to their build system. They migrated to Bazel while addressing fundamental architectural issues: breaking circular dependencies between frontend and backend code, separating build logic from application code, and creating granular, cacheable build units. The key insight was treating build performance like code performance—optimizing through caching and parallelization while maintaining hermetic, idempotent build steps. This required months of refactoring to properly separate concerns across Python backend, TypeScript frontend, and build orchestration layers.

18m read timeFrom slack.engineering
Post cover image
Table of contents
Thinking About Build (and Code) PerformanceWhy Quip and Canvas are HarderOutcomes and Takeaways
3 Comments

Sort: