“Nothing at Facebook is somebody else’s problem.”
In the following excerpt from Move Fast: How Facebook Builds Software, coming out July 6, I discuss how Facebook is built to reinforce a culture of social interaction.
Everything at Facebook is built to reinforce a culture of social interaction, from the physical layout of the campus to the way employees are onboarded. These features ensure a social atmosphere that stretches across the company.
There are also social elements particular to the engineering department.
Facebook’s enormous codebase is deliberately structured as one big file system, where an infrastructure team can see the code of the Newsfeed team, and the Payments team can see the code for the Groups team. This code management strategy is called a “monolithic repository.”
A monolithic repository allows teams to view each other’s codebases, leave comments, and make API improvements.
The monolithic codebase has both technical and cultural advantages.
At Facebook, if an engineer on one team sees a bug in the codebase of another team, that engineer has the freedom to fix the bug. This contrasts with most companies, where an individual’s responsibility is localized to their specific team.
Large companies are often broken down into small, rigid teams because it is easier to reason about your task when you are not exposed to the entire organization.
A large software company is tremendously complex, so most are managed like a pyramid, with teams at the bottom. These teams keep engineers in their team silos, with managers and directors forming the connective tissue between higher-level components of an organization.
Companies can be successful with this siloed, partitioned operating model. But Facebook works differently.
There is a poster at Facebook that says, “Nothing at Facebook is somebody else’s problem.” At Facebook, company cohesion takes precedence over individual teams. Engineering silos are reduced by allowing everyone access to the same monolithic codebase. Every individual can think holistically about the overall Facebook product.
Facebook encourages knowledge sharing and collaboration between departments.
Facebook’s social cohesion is not a product of any specific internal decision. Social cohesion comes from thinking about how every facet of the company’s operations could affect interpersonal dynamics.
Importantly, the goal is not to create a monoculture within Facebook. The goal is to create a sense of shared ownership that emerges throughout the company. Shared ownership means that your responsibilities extend beyond your team. Shared ownership also means that people on other teams will have your back when something goes wrong.
In the highly creative, dynamic field of modern software engineering, social skills can provide massive leverage. Facebook hires employees who can communicate with each other and gives them the tools they need to build strong social ties.
While you are waiting for Move Fast: How Facebook Builds Software, learn more about how Sean Li double sized his company during the Pandemic.