My thoughts on Facebook
Facebook is a ‘social’ company; we value 1-1 time, fostering trust-driven relationships, and providing skip-level escalations and support. Here are my notes on Facebook
- The Good - Engineering Systems
- The Good
- TO UPDATE: The Good - Hiring and Onboarding
- The peculiar
- The Bad - Still learning
- My projects at Facebook
- From Facebook to Meta and the metaverse
- Core Values (LP’s)
- How Engineers and EMs are evaluated
- Lingo and Culture
The Good - Engineering Systems
The best I’ve ever used. As I learn what is public and private, I’ll share more details.
Why they’re so good
I don’t know for sure, but I suspect a few things:
- Understanding what a bottleneck engineering time is, and investing resources to make engineers as efficient as possible.
- The company values engineering systems and has several teams whose role is to make things great
- Employees get hack-months to fix stuff they’re passionate about
- Employees can choose what they work on, and if an engineer wants to fix the system that annoys them, they do.
- Because it’s a single code base (See monorepo), engineers easily see and can build all the code, so there’s a low barrier to entry to fix issues.
A Trust Driven Social Company
From a FB Manager
By definition, Facebook is a ‘social’ company; we value 1-1 time, fostering trust-driven relationships, and providing skip-level escalations and support. And I cherish this part of my job.
Open source lots
Many FB tools get open sourced, Tupperware, Mercurial improvements, Flow, even data center hardware designs – what a pleasant contrast to most other places
Top-notch data tools
Some attributes that strike me as great:
- Very pleasant to use
- Unified query language across multiple data sources
- Great IDE (includes VIM, Formatting, Auto Save, History, Collaboration, Stats)
- CLI Support
See a detailed description of the tools.
The Good
Not managers, but a person who supports
When I did an informational with FB, the interviewer asked me how I “support my team”? I didn’t understand what the question meant. At FB, servant leadership is so ingrained in the culture that when managers introduce themselves, they don’t say I’m the manager for “team name”, they say I support “team name”.
This will be an area I write lots as it’s this is some of Facebook’s unique value, and I’m excited to internalize it. Some early examples:
Managers don’t tell employees what to work on
Instead, they help employees evaluate what projects they should use. They clarify the needs of the team and larger org, and help employees evaluate which projects are a good fit for their interests, the business, and their growth needs. It is the employee’s choice though, and regardless of their choice, the manager will help the employee be successful.
Inclusion and Diversity
At AMZN, I was in the inclusion bar raiser program, which was in its infancy, so a huge contrast.
The first lecture I saw at FB started with an explanation of using pronouns, and then many folks talking openly about their gender and identity. Super cool, and I loved the talk from the D&I officer.
At the core, you want D&I because:
- Being authentic brings your all to the job.
- We need the cognitive diversity to make our product the best.
There is no fairy dust, this will be hard. Follow these rules.
- Assume good intent
- Respect each other in communication.
- Give people room to grow.
OKRs
Metric Driven Culture
Design Quality
Amazon was good at many things, pretty UX not so much. Facebook is a leader in UX, which excites me.
Employees First
During Covid, FB wanted to relax its employees so gave them all a 1K bonus, and guaranteed a rating of exceeded. They also said folks that couldn’t WFH, like chefs, would still get paid. That’s impressive.
At FB, they have a salad bar, and at the end of the bar, there’s a guy who ‘tosses’ your salad dressing. My friend asked him, hey I can toss my own dressing, why are you doing that. He answered - “You can, but FB knows you’re special, and wants you to remember it every day, and that’s why I’m doing this’.
Wow!!!
Facebook Groups instead of e-mail
Facebook has an enterprise product called Workspace, which is essentially FB. FB uses this instead of email.
I was very skeptical of this at first, and always concerned I’d miss something, but after a few months of use, I acclimatized, and now I love it, and would hate going back to email. Here are some translations/great things about it.
-
Stuff that translates to email.
- Groups are essentially public email lists.
- Notifications are your unread email inbox.
- You cc by doing an @mention, and it shows up in the notification feed.
- Sharing across groups is like cross-posting multiple lists.
-
Everything is public
- You can see everything someone posts (regardless of being subscribed)
- You can share a permalink
- Search is across all groups
- You can follow people/groups
-
The post, not the comments dominate
- You can link to specific comments
- The algo can bubble up comments by people you follow
- I can’t articulate why this is good, but it really is.
The Trio: Engineering, Product Management and Data Science
TO UPDATE: The Good - Hiring and Onboarding
Post hyper growth (~2023), Meta adjusted this process, and it’s currently in flux
FB has an exceptionally good and unique hiring and onboarding process.
Unallocated hires
Many big companies say they hire for the company, not the team, at which point they assign you to a team you know almost nothing about. Your chance to learn about the team is usually a few minutes at the end of 5-6 grueling interviews and a 30-minute “sales pitch” from a hiring manager.
At FB, they really mean you’re hired for the company, so you join without picking a team. Then you get 6-10 weeks (boot camp) to find a team you like. This process includes “sitting” with various teams for a week or so. When sitting with a team, you work on a task with the team, which lets you see if you like the team, tech, and enjoy your time with them. As a result, you have a lot more data before signing up to where you’ll work for the next few years of your career.
Bootcamp
Ramping up is hard, so at FB, you get 6-10 weeks dedicated to learning about Facebook and picking a team. Managers also go through boot camp and code, which lets them better understand the FB culture and empathize with the engineers they support. A major part of boot camp is doing tasks, which is hands-on learning, and a way to understand if you like the team you’ll be working with.
FB takes boot camp very seriously, and you’re assigned an experienced mentor to guide you through the process, who guides you very closely at the start, and then advises you more generally as you get farther into boot camp.
As a techie, nothing gives you the confidence like knowing you’ve shipped, so FB makes it super easy for all boot campers to deploy a ‘hello world’ to FB on their first few days, and fix their first production bug in the first week. The reason this is possible is FB has fantastic engineering systems, and curates super easy tasks so this is so easy even managers can do it :)
NOTE: I did boot camp through Pandemic 1, so my experience might be a bit different, and I’m happy to talk through it.
The peculiar
Monorepo
Peculiar when you come from large companies other than Google.
Mercurial instead of git
Partially because of the choice of Monorepo, FB needed to push changes back to the community, git didn’t want to take them, so they pushed them to Mercurial. Sadly, Mercurial lost (which is a shame, as I think Mercurial was better).
No job title bias
This probably upgrades to the good section - but definitely peculiar right now coming from AMZN/MSFT
FB is bottom up, which means they do not believe in positional authority (e.g., you don’t get authority due to position high in the org, you get it because people want to listen to you).
To facilitate this, FB does not have job titles, (e.g., SDE-I, SDE-II) and levels are confidential information.
Job titles bias you into having a preconceived notion of how much authority you should give the person talking. In a perfect world, you’d grant this authority based on the merit of a person’s statement and work, which is what FB optimizes for.
The flip side is going into new situations you need to spend more time evaluating who you should give authority to and how likely someone knows what they are talking about. This is made easier as most work is public and very easy to see. Email equivalents (posts), code Reviews, Bug write-ups, public thanks, are all completely public, and even show up on a person’s feed.
The Bad - Still learning
I’m new, will add my thoughts as I know them
Anxiety around reviews
UPDATE: Facebook responded to this and has updated their policy to only have reviews annually (ps - I’d prefer addressing these problems but having evaluations every 6 months)
Relative to MSFT and AMZN folks are very concerned about reviews. I’ve debugged this a bit, and here’s my thinking
- Everyone else is concerned about it.
- It happens twice a year
- The impact on salary is formulaic and transparent
- In theory, the ratings are relative to other employees each half (vs absolute) so you can’t know what a rating is. In practice, though, ratings seem very stable, and consistent even with the other companies I’ve worked at.
- Everyone around you is a high achiever
- There are 7 rating buckets though the majority of folks land in 2 buckets.
- Until you’re senior (E5), you need to be promoted in a fixed amount of time.
My projects at Facebook
Messenger:
- Shared Albums
- Memories
Everything Together: Shareplay for Messenger
- Beta Integrated with Tubi
- Crazy fun project
CO-Ex: Creating a virtual living
- Watching movies and clips in Messenger
- Instagram Together
AR: Having fun and reducing the burden of attention
- Augmented Reality in Messenger
- Operational Excellence
Bonus learnings at Facebook
From Facebook to Meta and the metaverse
There are lots of jokes about the metaverse, but I’m a big fan, I’ll tell you why.
In 2020, had a college hire wanted to do a 1:1 in VR instead of in person. Annoyed, but hey that’s why we hire college hires, to get new ideas. Took 20 minutes to set up, virtual conference room. Cartoony, but then … He sits beside me, right in the chair beside me. Shoulder to shoulder, very uncomfortable. Told him he had to move, and he said in relief, oh you felt that too, yeah - that was awkward.
Next, open of Horizon Worlds … creator … showed me how to configure correctly, told me about art …
In 2022, Lord of the Rings. How do we solve this sim the real world? Identity and social norms. Group chats are like this.
Why is the metaverse taking so long
https://www.matthewball.vc/all/why-vrar-gets-farther-away-as-it-comes-into-focus
Core Values (LP’s)
Focus on Impact
- Motion != Progress
- FB has so much opportunity, prioritization decision should be painful.
- After you pick the focus, you need to say no, no, no.
Move Fast
Used to be move fast and break stuff, but that’s not good at this size. Now it’s move fast in your learning.
Be Bold
- Play to win not ‘play to not lose’
- Need to fail once per half, if you’re not you’re not working hard enough.
- As you get into the half, figure out what goals to dump, and where to double down.
Be Open
- Be transparent in your work
Build Social Value
- A platform is ‘social value agnostic’
- FB’s idea of social value is ‘connecting people’
- When you connect people that are mostly similar, they will become more tolerant of each other
- NOTE: When you connect people that are diametrically opposed, they tend to dig in their heels.
How Engineers and EMs are evaluated
Engineers
- Project Impact
- Engineering Excellence
- Direction
- People
Engineering Manager
- Team Impact - What the team delivered (often metric driven)
- People - Team Growth/Hiring/Team Happiness (via feedback and surveys)
- Organizational Impact - Your social work, mine are own EM growth, mentoring, PSCs and recruiting
- Collaboration - How well you worked with other teams to deliver.
Interviews
- Meta does both System Design and Product System Design - I really, really enjoy both.