Amazon wants to open a second headquarters. This means a distributed team, and I’ve found that not every team or project lends itself well to being distributed.
When I was traveling with Google a few years back I was stunned how every single office seemed to have a Chrome team. When I returned home, I looked for another team at Google that was similarly distributed, and couldn’t find one.
Chrome can be distributed because it’s built on properties that work well without much communication. Namely:
the goals are clear. Speed, simplicity, security
who to ask for permission to contribute is clear: there is an OWNERS file in every directory and owners comments in every file.
the review process is public: https://codereview.chromium.org/
the code is public and immediately available: https://www.chromium.org/
This structure makes it easier for people to contribute code without a bunch of communication overhead. From what I saw, Chrome engineers tended to communicate less than engineers on other teams at Google. I think this is a direct result of their organizational structure that makes contributing possible without much communication.