Recommendations for building and scaling large software projects.
Scaling a codebase is an integral, and inevitable, part of growing a software company.
You may have heard many terms thrown around as answers — monoliths, monorepos, micro frontends, module federation, and more.
At Vercel, we’ve helped thousands of large organizations evolve their codebases, and we have an opinion on the optimal way to build software.
In this post, we’ll share common issues encountered when scaling a codebase over time, useful open-source tools you can leverage, and the best practices and architectural patterns to follow.
This post will cover:
Organizing and reusing code across teams with monorepos
Releasing with confidence through feature flags
De-risking experimentation with incremental builds
Releasing code without affecting existing versions through Skew Protection
Incrementally adopting new technology
Link to heading Where teams struggle today
Teams struggle to evolve their codebase without sacrificing…