Software at Scale
|
When people talk about “software at scale” their first thought is often about algorithms and infrastructure scaling to billions/trillions of requests.
But there’s less discussed aspect of scale: abstractions that scale to support tens of thousands of developers in a shared code base.
How do you scale up contributors without tragedy-of-the-commons dynamics leading to an unmaintainable mess or terrible user experience/performance?
Meta has a combination of scale (people) and bottoms-up, flat, engineering culture that forces us to think about this problem harder than nearly anybody else. I suspect that's why we see technologies like React and GraphQL come out of Meta and not, say, Google or Microsoft.