The terms “hacker” and “social network” don't really go together. Social networks are gathering places for n00bs and kids. Real hackers don't use services like Facebook – they build them. Heck, real hackers are probably too cool even to build them. They'd rather implement obscure networking protocols or write compilers for multicore processors or build robotic systems.
That's what I've always thought, anyway. But according to Facebook founder and CEO Mark Zuckerberg, hacking is a core value at Facebook, not just among the coders, but as a way of seeing the world.
Zuckerberg's statement appears on page 69 of Facebook's Securities and Exchange Commission S-1 form, which the company filed yesterday as a matter of law as the first step in its initial public offering, the process whereby a privately held company issues stock for sale to the public. The S-1 statement is full of boilerplate legalese, but it offers interesting glimpses into Facebook's history, finances, business model, and future plans. The document includes a letter to shareholders from Zuckerberg. Such letters are often included in S-1 filings, but they are not required.
It is in the shareholders' letter that Zuckerberg claims that Facebook operates according to a set of principles he calls “the Hacker Way.” The idealistic statement includes a few elements of the Agile Manifesto mixed with a description of Facebook's internal tech process:
As part of building a strong company, we work hard at making Facebook the best place for great people to have a big impact on the world and learn from other great people. 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.
Not bad, huh? Zuckerberg's letter hasn't convinced me that Facebook is as cool a social network as – oh, reddit, for example. Nor that it would be a great place for programmers to work (though I have read that it is). Still, I give Zuckerberg credit for his letter. He didn't have to say all of that.
You can read the whole S-1 statement here. Take a look. I found it pretty interesting.
Web recommendation: David Letterman just celebrated his 30th anniversary as a late-night talk-show host. I don't watch him anymore, but I remember when he burst onto the scene, replacing old-style comedians with an engaging, self-deprecating, thoroughly distinct voice. Letterman's ironic comedy and laid-back style have become the template for a new generation of hosts. The Huffington Post has collected a series of memorable moments from Letterman's 30 years on late-night TV. I watched them this morning and marveled anew at the comic's genius. J.D. says check it out.
J.D. Hildebrand has written hundreds of articles for dozens of publications and online communities dedicated to software development. He made a passable turkey soup for lunch today.