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 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:

  1. Very pleasant to use
  2. Unified query language across multiple data sources
  3. Great IDE (includes VIM, Formatting, Auto Save, History, Collaboration, Stats)
  4. 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.

  1. Assume good intent
  2. Respect each other in communication.
  3. 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

  1. Everyone else is concerned about it.
  2. It happens twice a year
  3. The impact on salary is formulaic and transparent
  4. 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.
  5. Everyone around you is a high achiever
  6. There are 7 rating buckets though the majority of folks land in 2 buckets.
  7. 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

Lingo and Culture

Show up with grace

TL;DR

Feedback is a gift