I mentioned that this was not fast or easy or straightforward at Amazon. The main reason for that is that Amazon is distributed. From a code perspective, they have millions of separate code repositories, thousands of independent teams that choose how they want to work, etc.
I mentioned that this was not fast or easy or straightforward at Amazon. The main reason for that is that Amazon is distributed. From a code perspective, they have millions of separate code repositories, thousands of independent teams that choose how they want to work, etc.
Meta has a monolithic repository (monorepo) where tens of thousands of developers work in the same code base. Engineers work across team boundaries all of the time. This centralization makes it possible to build a consistent developer environment.
It also makes it trivial to fix a bug that requires one-line changes across a dozen teams’ code. At Amazon this would take one hour change would take weeks of negotiations.
So, everything comes with trade-offs. Amazon teams are self contained and have a ton of autonomy, which entails a varied and non standardized developer experience.
As usual, there are trade-offs.
I mentioned that this was not fast or easy or straightforward at Amazon. The main reason for that is that Amazon is distributed. From a code perspective, they have millions of separate code repositories, thousands of independent teams that choose how they want to work, etc.
Meta has a monolithic repository (monorepo) where tens of thousands of developers work in the same code base. Engineers work across team boundaries all of the time. This centralization makes it possible to build a consistent developer environment.
It also makes it trivial to fix a bug that requires one-line changes across a dozen teams’ code. At Amazon this would take one hour change would take weeks of negotiations.
So, everything comes with trade-offs. Amazon teams are self contained and have a ton of autonomy, which entails a varied and non standardized developer experience.