We have cultivated a unique culture and management approach that we call the Hacker Way.
The word “hacker” has an unfairly negative connotation from being portrayed in the media as people who break into computers. In reality, hacking just means building something quickly or testing the boundaries of what can be done. Like most things, it can be used for good or bad, but the vast majority of hackers I’ve met tend to be idealistic people who want to have a positive impact on the world.
The Hacker Way is an approach to building that involves continuous improvement and iteration. Hackers believe that something can always be better, and that nothing is ever complete. They just have to go fix it — often in the face of people who say it’s impossible or are content with the status quo.
Hackers try to build the best services over the long term by quickly releasing and learning from smaller iterations rather than trying to get everything right all at once. To support this, we have built a testing framework that at any given time can try out thousands of versions of Facebook. We have the words “Done is better than perfect” painted on our walls to remind ourselves to always keep shipping.
Hacking is also an inherently hands-on and active discipline. Instead of debating for days whether a new idea is possible or what the best way to build something is, hackers would rather just prototype something and see what works. There’s a hacker mantra that you’ll hear a lot around Facebook offices: “Code wins arguments.”
Hacker culture is also extremely open and meritocratic. Hackers believe that the best idea and implementation should always win — not the person who is best at lobbying for an idea or the person who manages the most people.
To encourage this approach, every few months we have a hackathon, where everyone builds prototypes for new ideas they have. At the end, the whole team gets together and looks at everything that has been built. Many of our most successful products came out of hackathons, including Timeline, chat, video, our mobile development framework and some of our most important infrastructure like the HipHop compiler.
To make sure all our engineers share this approach, we require all new engineers — even managers whose primary job will not be to write code — to go through a program called Bootcamp where they learn our codebase, our tools and our approach. There are a lot of folks in the industry who manage engineers and don’t want to code themselves, but the type of hands-on people we’re looking for are willing and able to go through Bootcamp.
The examples above all relate to engineering, but we have distilled these principles into five core values for how we run Facebook:
Focus on Impact: If we want to have the biggest impact, the best way to do this is to make sure we always focus on solving the most important problems. It sounds simple, but we think most companies do this poorly and waste a lot of time. We expect everyone at Facebook to be good at finding the biggest problems to work on.
Move Fast: Moving fast enables us to build more things and learn faster. However, as most companies grow, they slow down too much because they’re more afraid of making mistakes than they are of losing opportunities by moving too slowly. We have a saying: “Move fast and break things.” The idea is that if you never break anything, you’re probably not moving fast enough.
Be Bold: Building great things means taking risks. This can be scary and prevents most companies from doing the bold things they should. However, in a world that’s changing so quickly, you’re guaranteed to fail if you don’t take any risks. We have another saying: “The riskiest thing is to take no risks.” We encourage everyone to make bold decisions, even if that means being wrong some of the time.
Be Open: We believe that a more open world is a better world because people with more information can make better decisions and have a greater impact. That goes for running our company as well. We work hard to make sure everyone at Facebook has access to as much information as possible about every part of the company so they can make the best decisions and have the greatest impact.
Build Social Value: Once again, Facebook exists to make the world more open and connected, and not just to build a company. We expect everyone at Facebook to focus every day on how to build real value for the world in everything they do.
19 thoughts on “Zuckerberg: The Hacker Way”
Excellent nugget, thanks Om!
Om, thanks for sharing this! IMHO this nicely fits to the choice for their vanity headquarters address: 1 Hacker Way, Menlo Park, 94025 ))
Let’s see if FB continues to “move fast” and make mistakes after it becomes a public company. The handing guillotine of wall street might very well have the final say, when security and privacy breaches will actually affect the bottom line. It is no longer going to be about engineering or reputation anymore…but about stock price.
That said, I do hope MarkZ actually show wall street the hack way…that in my opinion will be FB’s biggest contribution to society.
I’ve been focusing on “The Webinar Way” which is a refined form of The Hacker Way. The five core values are parallel:
Focus on Impact: The best way to have the biggest impact is to focus on solving the most important problems.
Move Fast, Be Bold, Be Open, and
Build [Social] Value where social is relationships because… The Real Currency is “Relationship Riches.”
The Liking Authority
Changed my perception of Mark Zuckerberg completely. Truly good advice for a lot of startups..
I’m not drinking this fb kool-aid.
Indeed. I don’t think we should. But it was worthwhile pointing out this letter for it is something others can apply to their businesses/approach to developing things.
The “Hacker Way” is laudable and indeed inspiring for a business like Facebook. But there’s another side to the term that’s not represented here. The idea that any program can be coded quickly, hacker-style, and fixed in later iterations often doesn’t (and shouldn’t) apply.
Reliability and uptime may be less critical critical for free web-based services like Facebook, but many enterprises (e.g., airlines, banks) and organizations (e.g., hospitals, governments) rely on functioning software, and need assurance that it will work. Always. And as expected.
So the “other” definition of hacker isn’t the movie-version of someone who commits digital crimes. Rather, it’s someone who “hacks” together code without sufficient thought about the effect that code will have on other parts of the system. That code usually requires a programmer to step in, undo the damage, and figure out a better, more holistic solution.
At a large software company I once worked for, the question was always asked after an interview: “Is he/she a hacker or a programmer?”. We didn’t hire hackers.
Fast, bold, and open are all great traits. Merit-based systems are great. Stimulating creativity and innovation is clearly a positive goal. And it’s often true that “the perfect is the enemy of the good (or the complete)”. However “complete but broken” is not always better than “not done yet”.
Nice hype to FB IPO. Would love to see someone building mission critical systems using the hacker way.
See http://www.linuxjournal.com/article/2792 on the hisory of UNIX. Look for the 4-bullet list of principles the researchers developed for themselves. Pay close attention to #3.
Thanks. This is awesome.
I’d love to see a similar manifesto for Facebook’s approach to building IP networks. In the industry, we hear tidbits about FB, Google, and Amazon’s approach to IP network design. Being enlightened on their philosophy would be very interesting.
I am aware of FB’s Open Compute Project. It is very focused on physical aspects of building data centers. It’s not what I’m itching to read.
I know there is an argument as Chris J mentioned too, that Facebook style is worthy of studying but probably not emulating. However, that is the case for everything. You always have to adapt stuff you hear and learn to your own context as that is unique. Your balance and your culture is what you should drive. Knowing about what worked and made companies successful, is critical to that. Hence, for me, this was a fantastic article to read.
Although we are not coding, we are trying to create a similar culture at Online Courses Marketplace in WizIQ. These 6 principles are excellent and beautifully written.
I think most of the unique information facebook creates is crap ! FB is just a platform to waste lives knowing, thinking and thinking about other people’s life rather than making your own life better !
Nice comment Amit!
Chris J: In my experience, Hackers are less likely to produce “bad” or “non-working” code both because their names are on it and because they are generally inordinately proud of their work. See hubris, in reference to Larry Wall’s “Laziness, impatience, and hubris”.
@Christopher Mahan: absolutely fair point. And perhaps I’m just mired in the semantics of the term “hacker” (vs. “Hacker”). I agree with Om and others that the principles represented here are indeed laudable (as I already stated) and can be applied generously across a number of disciplines.
Those who are inordinately proud of their work and therefore unlikely to produce bad code because their names are on that code I consider to be “developers”. Or “programmers”. Or a variety of other professional-sounding things.
In my experience, there are plenty of little “h” hackers who bang out something quick, either out of laziness, or pressure, or simply lack of skill. I found these more frequently at larger organizations than at smaller startups. And we tried hard to avoid them.
Comments are closed.