So what is the on-boarding process?
I mean somebody gets hired...
Yes.
...and you can't just plug anyone right into this type of culture,
what happens to take a normal person off the street,
plug them in and they became a Facebook employee?
We call it bootcamp, literally.
It is a six-week on-boarding program and
in bootcamp and everybody goes into it.
I was VP of Engineering of VMware,
I had not written code in seven years.
When I got to Facebook, they said here is your desk,
here is your laptop,
here is your UNIX account and here is five
bugs that are assigned you to fix.
And you spend your first six weeks at Facebook,
fixing bugs and implementing small features
all over the site and attending lectures,
you have a bootcamp mentor who is a full-time software engineer,
whose job is to help you.
They help you get code reviews,
they help you figure out what tasks to work on
and at the end of the six weeks,
they will help you find a team.
And I think that bootcamp is so - it's such
a good program for so many reasons.
I actually gave one of the on-boarding - I actually give
Facebook's introduction to culture for bootcampers.
And one of the many great things bootcamp does is it builds empathy,
before you identify with a particular team,
you identify with Facebook and you fix code and even
if you walk in determined to do back-end services,
we'll make you write some web code,
we'll make you fix an issue on mobile.
No matter what you're going to do,
we're going to give you at least the tools to inspect,
to investigate, to know about what's
going on in other parts of the world.
And it really sends the message we want to send,
which is everything connects,
all engineers are connected to one another.
The Facebook employees is just another subset of the social graph.
And so in bootcamp, you hook up your social graph to your first
set of co-workers who then spread out to the four corners of engineering
and give you connections in every part of the company.
But you know a little bit of something about everything after
bootcamp and that's an incredible asset for a new hire.
So for six weeks, you are just doing bootcamp?
That's right.
So what are you looking for when people are coming to interview?
I know that the standards are incredibly high and it's
one of the most attractive places to work in the world.
How important is technical skills as
well as other things like creativity,
and being able to work on teams?
What are you looking for?
The number one thing we're looking for in hiring a software engineer
is the ability to write code and is the ability to reason and to be
analytical and to find mistakes and fix them quickly and to analyze
the running time so that when you are later on building systems,
you demonstrate that you have the potential
to think about hard systems issues.
If you are a new grad, frankly that's the primary thing,
is that ability to write code.
We also want to make sure that you're not a jerk.
We definitely like want people at Facebook who are nice and
we will reject people who have great coding skills just because
they seem like they would be appalling to work with.
But we want people who have enthusiasm,
who have a fire in their belly,
who are not going to take no for an answer,
we want people who are not going to be afraid,
we want people who are going to attack,
making software with gusto.
And we are looking for creativity,
so we've actually - we've meddled with the interview process a lot.
I have actually personally hacked on our interview process a lot.
Another reason you find so much graffiti on the walls at Facebook.
Actually, we invite our employees to write on the walls.
It's because we want people to feel like if there is something at Facebook
that you don't like or that you think should be different like,
pop open the hood, like the cement is never dry,
you can mess with it, you can change it.
And I've messed with our interview process and one of the things
that I did is I noticed one thing that made engineers really
successful at Facebook was when they had just really good intuition
for what would be a good feature or a good product.
We obviously have designers and product managers that we work with,
but the way we work is so iterative like we try things,
we test them, we try something else we test them and so the
difference between a good intuition and just trying things and
testing them you might try three things or try 10 things,
right, and save months,
if you just have great intuition.
And so we started interviewing, consciously interviewing for that.