Ralf Herbrich came to Facebook last October from Microsoft Research Cambridge in the UK, where he spent 11 years researching and developing products like the TrueSkill ranking and matchmaking system used in Xbox Live and Halo 3.
When I joined Facebook five months ago, my friends asked me why I would move here from one of the best industry research labs in the world. After working on some of the best video games out there, I came to Facebook for many of the same reasons I decided to work at an industry research lab after completing my PhD in the first place: I am passionate about enriching people’s lives through science and technology. But since I joined, I've discovered another reason: research permeates everything we do at Facebook. Here, research is more than a lab—it’s a way of doing things.
Traditionally, “research” products have a high chance of failure during development because they involve technologies and ideas that are unproven. At large companies, failing in the production process can become very expensive, so the high-risk/high-failure projects are often delegated to “research labs.” Research labs deal with this issue by rewarding the impact of ideas in the long-term. In the short and medium-term, researchers are encouraged to share and discuss their ideas through publications and at academic venues. This allows researchers to engage in the academic review process and earn external validation for their ideas, which later will appear in the products.
At Facebook, the culture we foster across engineering allows us to achieve the same goals we’d pursue in a research lab, without an additional institution. Here are some of my favorite values that drive our development process:
Encouraging Risk-Taking and Being Bold
During Bootcamp, I learned that Facebook has a few company mantras that drive pretty much everything people do here. One of them is, “Move Fast and Be Bold.” I learned just how literally to take this during my sixth week here. After brainstorming some ranking ideas (a scientific area I have worked on for a decade) with a colleague, to my surprise, he suggested we go for it and try it out together. Four weeks later, the first version of the idea is already running live for some users. It felt like a bold move to build a working prototype for my idea so quickly and then actively convince people that it was important, but doing that actually allowed me to build a better product and move faster than I had thought possible.
Moving Fast and Failing Early
Since failure is expected, it’s important to realize this quickly so that you have as much time as possible to iterate. Two weeks after my idea went live for a small percentage of users, we noticed a problem with the dynamic properties of the ranking algorithm. Instead of pulling the algorithm entirely or worrying about the mistake, we quickly fixed problem and began reevaluating. And we plan to continue this process so that we’re always improving.
Before I joined Facebook I misread the motto “Move Fast and Break Things” as doing whole product development cycles in weeks rather than months, but the point of this motto is instead about iterating fast. If it only takes two weeks to get a bold idea to a place where you can decide if it’s worth pursing, then theoretically I can try out 20 ideas in a calendar year. If half of them are too ambitious, then I still have 10 awesome ideas to keep iterating on and making better.
Experimentation and Measurement
At Facebook, we’ve built a huge experimentation framework for both the front-end and back-end. In the front-end, we use a system called “Gatekeeper” to control who sees beta versions of pages or the API (something Chuck Rossi talks about it in this tech talk); in the back-end, we have a similar system. Both these systems can be set up by an engineer at any time and allow you to run experiments with control groups quickly. If we need to measure effects over a longer timeframe, engineers can use an SQL-like interface to access anonymized interaction logs stored in Hadoop. So, when it's decision-making time, we go by objective metrics based on experiences with real users – like in any scientific discipline.
Perhaps my most favorite saying we have at Facebook is “nothing is riskier than not taking risks,” because it gives a bold call to action to each of these core values. If you too are interested in changing the way people share, communicate, or play with each other by being part of small teams that build products using state-of-the-art science and technology, check out facebook.com/careers for more information.