nanomanpro - stock.adobe.com

Inside Facebook’s engineering culture

An open and transparent culture that encourages developers to take risks and assume the best intent of co-workers has been the defining character of Facebook’s engineering organisation

No two companies are alike when it comes to engineering culture – not even among the likes of tech giants Apple, Microsoft, Google and Amazon, declared Nam Nguyen, vice-president of engineering at Instagram.

“There’s no one formula for success and there’s no single culture,” Nguyen told some 500 attendees of the Facebook iD8 developer conference in Singapore. “You have to actively define it and ask yourself if that culture serves the needs of your company.”

At Facebook, constantly shaping its engineering culture has been key to the success of a technology juggernaut that has grown by leaps and bounds to become the world’s largest social media network in over a decade.

“Growth will make it challenging for us to keep an environment healthy over time,” Nguyen said. “Things that were okay when there were 10 people are no longer okay when you have 100 or 10,000 people.”

Today, Facebook boasts a 10,000-strong development outfit spread across the globe, a ten-fold increase since Nguyen came onboard about 10 years ago.

Facebook engineers also test and deploy new code in real-time, and the data being collected from users has grown exponentially – from a single-digit petabyte range to exabytes today.

“When I joined, there was one datacentre in California,” Nguyen said. “Today we talk about multiple datacentres all over the world, including one in Singapore.”

In addition, Facebook has had to manage an array of products that it has built and acquired over the years, each with its own development team.

Addressing these challenges takes an engineering culture that Nguyen described as open and transparent. This starts with having work groups within Workplace that Facebook uses to facilitate discussions and conversations among developers.

Unlike some companies where departmental work groups are not always accessible to those outside those groups, Facebook employees can participate in any group.

“Most of those groups are what we call open QA. What that means is that people outside of those groups can also see the information. And you’ll be surprised how this tackles a number of challenging problems as the company grows,” Nguyen said.

For one, open work groups will help to prevent duplication of projects, since developers can see what other teams are doing, and avoid building the same things. In cases where duplicate projects are already being built, Nguyen would step in to bring the teams together in an open dialogue.

“There were a few teams within infrastructure and Instagram that were building different technologies for logging of data,” Nguyen recalled. “One of the engineers at Instagram escalated [the issue] to me and I set up a meeting for them to work together.”

Another aspect of Facebook’s engineering culture is autonomy and freedom. This means empowering engineers to solve problems and make decisions on their own, right down to which team they would like to be part of after they have been hired, Nguyen said.

Even though senior company executives, including Facebook CEO and co-founder Mark Zuckerberg, may have views on roles that an engineer should be placed in, Nguyen said it would still take “a lot of convincing” for that engineer to join a certain team if his or her interests lie elsewhere.

Facebook also tries to get engineers and their managers to assume the best intent of their co-workers. Nguyen said this will help them to understand the positions of others they are collaborating with, and to facilitate constructive conversations particularly during times of conflict.

Unlike some other companies that Nguyen has worked for, failures are not swept under the carpet. “When a team fails at a project, they will take time to write a post-mortem and share it with the whole company,” Nguyen said, adding that this encourages engineers to learn from their mistakes and to take risks.

Read more about Facebook

Read more on Managing IT and business issues