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:

  • the code is public and immediately available:

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.