Facebook Management with Jocelyn Goldfein
Facebook engineering is designed to self-assemble.
When an engineer joins Facebook, the engineer goes through boot camp, where they are exposed to multiple projects to find a good fit in terms of technical skills and personal preferences. Since there are so many different initiatives within the company at any given moment, a new hire can usually find something to work on through this exploration.
As an engineer builds credibility within Facebook, opportunities to move to other projects or to become a manager will present themselves, allowing the engineer to move within the company as they mature and their interests change. The sense of autonomy and freedom to explore is one feature of Facebook engineering that distinguishes the company.
Facebook is a flat, decentralized organization by nature. But there have been existential moments in Facebook’s history where an executive mandate was required. During these existential situations, Facebook centralizes and becomes a more top-down environment.
Facebook’s most crucial inflection point to date was its shift to focusing on mobile computing.
Even two years after the launch of the iPhone, it was not obvious that the world of consumer computing would change completely due to mobile devices. Facebook was becoming a dominant place where consumers navigated to on desktop, and Facebook engineering was focused on optimizing that desktop experience.
As the impact of the iPhone became noticeable, Facebook found itself with a desktop web product in the middle of a platform shift away from the desktop. During this same time, Facebook was beginning to succeed with its advertising platform and was evaluating an initial public offering.
Facebook leadership was able to recognize the importance of mobile computing in time to develop high quality mobile applications, but there were numerous challenges.
The Facebook desktop web app had been difficult enough to build due to the unprecedented data requirements and amount of interactivity. Mobile introduced the additional hurdles of limited bandwidth and distinct native operating systems in Android and iPhone.
Facebook’s early efforts to build a mobile application involved a cross-platform HTML5 solution. HTML5 had insufficient performance for Facebook’s needs, and the company needed to develop native apps in order to deliver the desired experience.
Facebook’s ability to pivot to mobile is comparable to the classic story of Intel pivoting from a memory company to a microprocessor company. To succeed at mobile application development, Facebook had to shift its focus dramatically, reallocating engineering resources and acqui-hiring small mobile companies in order to build up the domain expertise for mobile.
As a side effect of this transition to mobile, Facebook developed an understanding of how dramatically software engineering was changed by the introduction of smartphones and the high bandwidth requirements of social networking. The challenges of this new paradigm led to the development of open source tools such as GraphQL and React Native, which have allowed countless projects to build applications more easily.
Jocelyn Goldfein was an engineering director at Facebook for four years, from 2010 to 2014. She currently works as an investor at Zetta Venture Partners. In her time at Facebook, Jocelyn saw the shift to mobile firsthand. In today’s episode, she describes how Facebook management works, and gives her perspective on the distinguishing characteristics of the engineering organization as a whole.
Transcript provided by We Edit Podcasts. Software Engineering Daily listeners can go to weeditpodcasts.com/sed to get 20% off the first two months of audio editing and transcription services. Thanks to We Edit Podcasts for partnering with SE Daily. Please click here to view this show’s transcript.