, 46 tweets, 8 min read Read on Twitter
1/ As part of the FB interview series (see ) I'm going to posting some summaries and commentaries/hot takes on each interview. First up: @floydophone.

softwareengineeringdaily.com/2019/05/13/fac…
2/ Culture: Facebook took the “move fast” culture really seriously. It permeated engineering and engineering management decisions up and down the stack, from CPU and RAM allocation in dev boxes, to the release schedule, to new employee ramp up, to source code organization, etc.
3/ Also engineering-driven. Pete noted that showing up is really important. Pete attributes a lot of his advancement to be really responsive when it came to internal customer requests. Quickly got internal credibility and understood other engineers.
4/ Engineering-driven culture has other effects. Authority and responsibility is not doled out from above. It is conferred by your peers. Management recognizes and rewards that. Bottoms up, not top down. Pete had a really good manager early. She gave him fantastic advice:
5/ “Hey, Pete. You've got a lot of potential, but the manager can't bestow upon you the respect of the team, or bestow upon you the responsibility of promotion, unless you're actually already at that level.”
6/ Management: Facebook engineering management was primarily about coaching, support, recruiting, performance management, and facilitating communication (unblocking in the parlance) in x-org concerns. Whatever ICs need to get their job done and grow. Pure people management.
7/ In lots of orgs the manager is the product owner. At FB the PM owns product, and often a designer. Depends on personalities and skills of those involved. Engineers execute. Manager’s role is to let process happen and insert self when process is broken.
8/ Best managers that Pete had were professional managers. They don’t write code; they don’t *want* to write code. They’re technically sharp but don’t weigh in on technical decisions. They focus on the stuff that ICs explicitly do *not* focus on.
9/ Managers help with career advancement (how to put together a good case for promotion, for example) and development, helping ICs articulate why they are doing something. “It’s mostly a communication and psychological safety job.” Recruiting is a huge component as well.
10/ Shared Ownership: Facebook product was a single codebase with a strong sense of shared ownership. We never got in a situation where the photos team would say, “No, you're not allowed to commit to my codebase.”
11/ With this culture of moving fast and shared ownership, that leads to a lot of technical decisions being made at the leaves of the tree.
12/ Shared ownership is taken seriously. Facebook encouraged people to rotate off teams after 12 to 18 months. This is how Pete came to join Instagram. See more on his IG experience below.
13/ I’ll add that this was actually institutionalized in the form of “Hackamonths” where engineers were mandated to occasionally spend an entire month on another team. Less cultural silos, more collective ownership across orgs.
14/ React & Open Source: Pete was the first non-React-founder to use React in production. Facebook started open sourcing things because some people at the company wanted to. At the time FB had a terrible reputation in OSS. It was an open-source-it-and-let-it-rot approach.
15/ Facebook challenged orthodoxy in the JS community. Particularly controversial was JSX, which is an XML-like DSL embedded in JS. Pete's take: “You've got to have a respect and understanding for what the best practices are, and then know when to bend those or break those”
16/ My saying on this: “Honor and respect best practices, but don’t be captive to them.”
17/ Microservices versus monoliths. This is a huge subject as microservices are a megatrend in industry, and ex-FBers (myself included 💯%) are typically confused and appalled by its popularity. This will be a theme throughout the whole series.
18/ Pete: Going to Twitter, the internal systems are more fragmented. Twitter had a rails monolith that wasn’t working (remember the fail whale?) and they decided to nuke the thing from orbit and replace it with mostly scala microservices.
19/ Jeff (@the_prion )noted: Instead of rewriting everything in a different programming language from scratch, FB instead invested massively to preserve the single product codebase and bend PHP to its will.
20/ Pete’s take on this debat and the tradeoffs involved is so good imo I’m just going to quote them verbatim pretty much:
21/ “I think, look at why people split things out into separate services and take the micro-service approach. It usually comes down to our organization is structured this way or that way”
22/ “They say: We can move faster if we own our one piece of the codebase ourselves, we can deploy whenever we want, we can talk to other teams through these stable interfaces, so it gives us a lot of freedom to go and do our own thing without being blocked by other teams.”
23/ “Okay. I think that's great if you know what your org structure is going to be over some time horizon, or you know what the product requirements are going to be over some time horizon.”
24/ “The problem is as anybody that's working in a big company for more than a year knows, reorgs happen all the time. Product direction changes all the time.
25/ “So you end up with these services that you have to maintain forever that match the org structure and the product requirements from five years ago. Today, they don't make a lot of sense.”
26/ “I don't know whether it was intentional or not, but the Facebook approach basically optimizes for future unknowns. It embraces hey, we don't know how to chop up the application in a way that will work for tomorrow.”
27/ "We're (i.e. Facebook) going to just assume that we're going to have to coordinate across different systems in different parts of the codebase. We're just going to make that coordination as cheap as possible.”
28/ “As opposed to the micro-service approach, which is we're going to solve the coordination problem by just not coordinating, or by minimizing the amount of times that we have to coordinate."
29/ “I think that in my opinion, embracing the future unknowns is a better approach.“ I think "embracing the future unknowns" is really the key phrase here. Totally going to steal that. 🙏🏻🙏🏻🙏🏻
30/ Comparison to Google Culture: Lots of companies model themselves after Google. They take their promo rubrics from Google, they take their hiring and interviewing strategy from Google.
31/ One of the things that Google really values is doing technically challenging work and doing things that haven't been done before with computers. Facebook does not care about that. Facebook was all about velocity and customer focus.
32/ My comment: This will be another ongoing theme. Google’s eng culture seems to be more influential, but we think Facebook’s engineering values are better suited for the vast majority (but not all) of startups building cloud-based consumer- and business-facing apps.
32/ Instragram Acquisition Story. This isn't really that much generalized advice, but I think it's a GREAT story so I'll just relay what Pete said here.
33/ Pete was on photos at the time of the IG acquisition. There was an effort to ship a Facebook Camera app at the time. It was taking a long time to ship. He was confused why they weren’t shipping faster.
34/ Pete Quote: I remember, sitting in some of those presentations where they'd be like, “Yeah, we're trying to decide whether you should swipe to reveal the camera, or press a button to reveal the camera.
35/ They shipped Camera. Bu three months later a VP messages : “Hey, we got a big announcement. Just so you know, we're going to announce in an hour that were acquiring Instagram and they're going to come to the office later today, so please give them a warm welcome.”
36/ Facebook is really competitive and proud. The photos team was viciously competing with Instagram and “kicking their ass.” Everyone was taking it personally. Now you are told these people are your friends. It’s strange. They showed up for coffee or lunch.
37/ Pete "There's a photo that somebody took from the balcony of them walking in clearly bewildered, because I think a lot of the employees didn't know they were getting acquired until that day too."
38/ It turns into one of the most successful acquisitions in the history of the industry. Pete learned a lot watching that acquisition happen as he was the first FBers to join IG full-time.
39/ One thing is that FB made it so that the engineers just kept doing what they were doing. They might get nicer laptops and HR, etc. But FB but the IG team in a single, trendy garage-style room and told them to just keep doing what they were doing.
40/ Then I think the pitch to them was, “Hey, we're just going to give you a ton of Facebook resources to go make your product even more successful.” (My commentary: I suspect the billion dollar price tag was big a part of the conversation)
41/ Instagram was even faster operationally than Facebook. They had continuous deployment. Any engineer could deploy at any time (they would run a command called “Yolout” lol). Facebook was on weekly deploys at the time on the web and way slower on mobile.
42/ IG story definitely lends credibility to the those-who-ship-faster-win argument
43/ Worth noting that Facebook learned from this. As the company grew, the release cadence got faster. First daily, then twice daily, and it is now continuous. It’s a remarkable achievement by the release engineering team.
44/ My take: This is one of the most insanely good acquisitions in the history of tech, and one that I was one hundred percent convinced was overpriced at the time. Worst judgement I've ever made (not that I had a say). I think about that a lot
45/ That's a wrap! @floydophone and @the_prion did an amazing job. Great interview.
Missing some Tweet in this thread?
You can try to force a refresh.

Like this thread? Get email updates or save it to PDF!

Subscribe to Nick Schrock
Profile picture

Get real-time email alerts when new unrolls are available from this author!

This content may be removed anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Follow Us on Twitter!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!