How I like to work
I love technical challenges and “The Hacker Way” (see below), despise over-engineering (“enterpriseyness”) and cruft. Solitude is necessary for creativity. Working (and thus communicating) asynchronously enables this, but it sets in motion so much more:
Creativity ⇔ focus ⇔ solitude ⇔ asynchronous communication ⇒ distributed companies ⇒ less commuting ⇒ more time for family, friends and hobbies ⇒ more focus/creativity when actually working.
The major caveat that comes with the above: self-discipline is a necessity. However, over the years, I’ve mastered that skill.
Overall, I believe distributed companies lead to happier and thus more productive employees. Examples of great distributed companies are GitHub, Automattic, Canonical and Mozilla.
I’ve also collected a list of great articles on what I consider The Perfect Job.
The Hacker Way
From Mark Zuckerberg’s letter to investors:
The Hacker Way
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.
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
- Move Fast
- Be Bold
- Be Open
- Build Social Value
— Mark Zuckerberg