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.
Codacy helps dev teams of all sizes to automate their code quality by identifying issues through static code analysis, both in the cloud and on-premise. The product notifies users about security issues, code coverage, code duplication and code complexity in every commit and pull request, directly from their current workflow. Codacy has been designed by developers to be easy to set up and use, and is completely free for small teams (up to 4 devs) and open source projects. softwareengineeringdaily.com/codacy
LightStep is a company built around distributed tracing and modern observability. LightStep answers questions and diagnoses anomalies in mobile applications, monoliths, and microservices. At lightstep.com/sedaily, you can get started with LightStep tracing and get a free t-shirt.
FindCollabs is a place for finding collaborators and building projects. FindCollabs can be used to manage hackathons and creative projects. Check it out at FindCollabs.com
freeCodeCamp is a donor-supported tax-exempt 501(c)(3) nonprofit organization. Our mission: to help people learn to code for free. We accomplish this by creating thousands of videos, articles, and interactive coding lessons – all freely available to the public. We also have thousands of freeCodeCamp study groups around the world. Donations to freeCodeCamp go toward our education initiatives, and help pay for servers, services, and staff. freecodecamp.org