Mapbox is a flat, decentralized organization with no org chart nor officially defined responsbilities. It’s also made up of team members distributed across the globe with roughly equal numbers working in 1 of 4 physical offices as well as remotely from home offices. To many people this type of environment may seem like chaos and impossible to build anything, none the less actually ship a major product. I disagree. Mapbox Mobile could only have been built in this environment.
Mapbox Mobile is a product that is encompasses many different technologies, features, designs, and philosophies. There is no one city nor region in the world that could source the necessary people with the backgrounds and experiences needed to pull this off.
The keys to making this all work is trust and communication. We implicity trust our colleagues that they’re going to make the best decisions possible for the questions that they see arise. When they can’t on their own we not only value but greatly respect people for asking for input, guidance, and / or assistance. Everyone knows that the team doesn’t succeed unless all it’s members succeed.
Open communication is the anchor in all of this. We communicate constantly with one another using several different media. GitHub tickets allow for detailing thought processes and iterating on ideas collaboratively. We use Slack for real time chat to ask quick questions and for coordinating things on the fly. While both GitHub and Slack are asychronous media, we use the power of the human voice daily to keep project momentum moving forward.
Voice can be incredibly powerful, but voice meetings can also be harmful if not managed correctly. The whole point of our calls is to synchrously update everyone on what people have been working on, what they’ll be working on next, and what are blockers that they’re encountering. Nothing more. Nothing less. The key to keeping them productive are simple and consisently applied rules that we all follow. We always start with the most Eastern based person and move West person by person until everyone has a chance to give their updates. This implicitly reminds people that there are others that need to give their updates and to keep their comments short and to the point (plus we also all really like geography). To further drive the point home and keep us on task we also limit the calls to 15 minutes total. The only variation on this is once per week we instead do a higher level topic discussion. Those calls can go 20-30 minutes and are led by different team members depending on the topic that week.