In this excellent Stanford ecorner episode, Director of Engineering Jocelyn Goldfein takes us on a trip inside the innovative culture of Facebook. In this illuminating conversation with STVP Executive Director Tina Seelig, Goldfein explains why code wins arguments, employees must have the right to take risks, and how Facebook strives to remain a hungry, yet humble, company.
The following is a semi-transcript of the parts of the interview I found most interesting.
Culture of Facebook
Interviewer: Can you paint a picture of the culture of Facebook?
You would experience unfinished ceilings.
Desks everywhere – no offices. Not even Mark has an office.
And writing all over the walls.
And you would see company slogans like:
– This journey is 1% finished.
– Move fast and break things.
– Fail harder
And facebook was born out of disruption and out of trying things and seeing what happened. And trying again and trying harder. And never being daunted by failure. Doesn’t mean we set out to fail. It means we are not afraid of it. And we are willing to keep taking risks.
And the entire environment is meant to keep you from feeling complacent, or comfortable or we’ve won. We never want to feel like we have won. We are pretty hungry. And someone could come and eat our lunch tomorrow. Because somebody could. And we never want to take it for granted. It’s the most humble successful company I have ever known. It may sound strange to say that facebook is a humble company. But it really is.
We don’t take our success for granted. We think our users are choosing to be there and could just as easily choose not to be there if we don’t deliver a great service.
The Facebook workspace
Interviewer: What sort of things did people think about in creating the facebook workspace?
It’s very deliberate. It’s absolutely deliberate. You can not just think of the culture you want and then create it. Culture arises from so many small things. A professor of mine once said:
Culture is the behaviors you reward and punish.
At the end of the day, people look around, and mimic the behaviors that reward them, and avoid the ones that punish.
But you’ve also got to try and show people the behaviors you want. And the space is one of those things that sneaks under your radar as not being important. But it truly is.
When you walk on those concrete floors you know we are not finished.
We are not luxurious.
We are not taking it for granted.
The openspace is another huge one. You know that if you program you need focused attention. You need flow time. And you know that even small interruptions takes a long time to get back into the stream of things.
And so the idea of having programmers set out in open space at open desks with desks all around with walking and conversation and foot traffic … that’s controversial. For many years it was the ‘gold standard’ in silicon valley to have offices. Engineers were housed in offices.
When we took over the campuses from Sun we told the contracts to start knocking down every wall that wasn’t structural. Got as big an empty space in the office as we could and we would fill it in from there.
And why? Why was it so important to us that we would even consider sacrificing our productivity. Which is what we are doing having everyone out in these open spaces.
It’s because one of the key values of facebook is to be open.
It’s what the product is for. It’s fundamental to our DNA as a culture too. We expect every individual to be informed and in the know about what is going on empowers you to make good decisions. And so sort of set the expectation that everything is out in the open. Everybody is plugged in and aware of what is going on.
And then we put headphones in the vending machines and try to create private spaces that way. Give everybody a laptop and have pretty loose rules about working from home policy. So we do everything we can to mitigate the productivity impact of that openness. But every time we have to choose we choose openness.
Onboarding at Facebook
We call it boot camp.
It is a six week on boarding program.
And everybody goes into it.
As the VP of Engineering at VMWare, I had not written code for 7 years and I went to facebook and they said:
Here’s your desk.
Here’s your laptop.
Here’s your unix account.
And here’s five bugs that are assigned to you to fix.
And you spend your first 6 weeks at Facebook fixing bugs and implementing small features all over the site. And attending lectures and you have a boot camp mentor who is a full time software engineer who’s job is to help you get code reviews, to help you figure out what tasks to work on. And at the end of the six weeks they will help you find a team.
I give facebooks introduction to culture for bootcampers. And one of the many great things boot camp does is build empathy. Before you identify with a particular team you fix code. Even if you want in determined to do back end services, we will make you fix some UI bugs. We will make you fix an issue on mobile. No matter what you are going to do we are going to at least give you the tools to inspect, investigate, to know, about what is going on in other parts of the world.
It really sends the message we want to send which is – engineers are connected to one another. The facebook employees is just another subset of the social graph.
And so in boot camp you hook up your social graph. With your first setup of co-workers who then spread out to the 4 corners of engineering and give you connections in every part of the company.
But you know a little bit about something of everything.
And that’s an incredible asset for a new hire.
Interviewing at Facebook
Interviewer: So what are you looking for when you interview at Facebook? I know the standards are incredibly high. How important are technical skills as well as creativity and being about to work on teams.
The number one thing we are looking for in hiring a software engineer is ability to write code. And the ability to reason, be analytical, find mistakes and fix them quickly, and to analyze the running time so later on you can demonstrate you have the potential to solve hard systems issues.
If you are a new grad, that is the primary thing.
We also want to make sure you are not a jerk. Want people at facebook who are nice. ut we want people how have enthusiasm. Have fire in their belly. Aren’t going to take no for an answer. People who are not afraid. Going to attack making software with gusto.
The reason you see so much writing on the walls at facebook is we want people to write and share things the see – good or bad.
Pop open the hood.
The cement is never dry.
You can mess with it.
You can change it.
One thing that made engineers really successful at facebook is they had really good intuition for what would be a really good feature.
The difference between good intuition and just working iteratively is that the person with good intuition will get there in three hops while the person without will take x10 tries. So we started interviewing specifically for intuition. Its something that distinguishes good from great software engineers.
Interviewer: How involved is Mark in decision very granular decision making?
Mark will definitely give you advice about pixels. Mark has organized the company so he can spend the build of his time on product and product strategy. He has basically set up his calendar so that for each day of the week theres a theme, and on day the theme might be mobile, platform, and then there will be a block of 4 hours and teams just rotate through and present stuff to him and talk through it with him and it’s amazing because he is probably the most gifted product thinker in the company, and maybe in the valley, maybe in the world (that’s probably stretching it) but definitely in our space.
He so like having a half an hour of his time is just amazing. You do have to parse the advice he is giving you and know whether he has is CEO hat on, designer hat, or Product Manager hat because he can operate at some many levels of abstraction.
So, yes. He will be very involved and he has structured his time to be involved. But he can only pay attention to so many things at a time to. So if he is not paying attention, he expects you to run forward while he is not looking.
Advice for grads
Interviewer: Imagine you are flashing back in time and you are a student back here at Stanford again. What advice do you wish someone had given you?
Ah man. That’s a hard question… Um…
I think that umm… you know you hear this all the time but be brave. Like you really don’t have any bad choices you. You can’t go wrong. Now is the time in your life to take a lot of risks.
I think that ahh.. I would have said… don’t worry about what you are going to be when you grow up. Just be. It will come and find you.
I feel like, you know, when I was in highschool and college so many people were like follow your passion, follow your dream and I was like: “How do I find my passion. How do I find my dream.”
No one had particularly good advice for what to do. To figure out what you are passionate about. So I would say:
It’s OK not to know.
Just keep trying things and you will find stuff that you are passionate about and excited about.
I would have told myself not be afraid to code for a living. I was afraid to code. I was afraid that other people would be better at it than me. I was afraid that I would be buried in detail and not get to be strategic. And I learned over time that writing code is one of the most strategic things you can do. And every time I meet a college grad who wants to skip being a software engineer and move straight into Product Management I am like uh… you learn so much from writing code that the devil is truly in the details. Embrace it. Relish it. You may not end up doing it forever but every minute you spend coding will make you 1000x better at being a manager or product manager or anything else. Even if you decide you want to do something else, your time writing code will make you better for it. If you want any career in software. Any career.
This was a great interview. I highly recommend you download and listen to the audio.
Cheers – Jonathan