mabots' blog

知のレバレッジを最大化せよ (旧はてなダイアリーから移転しました。)

FacebookのHacker Wayを日本語で要約してみる

Hacker Way 要約

  • 背景と前提
    • Hacker Wayというユニークな文化とマネジメントアプローチをFacebookでは育ててきた
    • 他の優れた人から学ぶことができるというのがポイント
    • これは主にエンジニアプロセスでの話だが、これを昇華させて会社を運営する中核としている
  • Hackerという語彙について
    • いわゆるコンピューターに侵入するようなネガティブな意味合いではない
    • hackingとは、凄い速さでものをつくる、あるいは、何が良いのかテストしていくことを意味している
    • hackerの多くは、世の中に良いインパクトを与えることに理想をもった人たちであることを実際にあって感じている
  • Hacker Wayという手段
    • それは継続的な改善をイテレーションで繰り返していくこと
    • Hackerは常になにかより優れた方法があると考えているし、完成するということは考えていない
    • そして「現状でいい」とか「そんなの無理だ」という人に対してシンプルに対抗していく
  • Facebookはどうやってベストなサービスを長期にわたって提供するか
    • 小さな期間のイテレーションとリリースを繰り返して学んでいく
    • Facebookでは、数千のバージョンを試せるテストフレームワークを用意
    • 壁には、“Done is better than perfect”という標語が描かれいて常に意識して仕事をすすめている
      • 完璧を追従するより、実行を優先しよう、ということである
  • Hackingは手を動かしてコードを書くのが原則
    • イデアが可能かどうか議論する変わりに、プロトタイプを作ってでどうやって動くのか検証するために実際に作ってしまう
    • “Code wins arguments.”(コードは議論に勝る) というマントラFacebookオフィスでは沢山見かけるだろう
  • Hacker文化
    • 極めてオープンで実力主義
    • hackerは最も優れた実装とアイデアが常に生き残ると信じている
      • イデアのためロビー活動に精を出したり多くの人を管理するような人とは異なった人種である
  • どうやってHacker Wayを推進するか
    • ハッカソンを実施して新しいアイデアのプロトタイプをしていく
      • すべてのチームが最終的に一体化し、完成していくまでのすべての過程を見ていく
      • 成功したプロダクトのほとんどはハッカソンで生まれている。例えば、
  • どうやって継続するのか?
    • 新しいエンジニアはたとえ彼が前職でコードを書いていなかったとしてもブートキャンプに参加してもらっている
      • ブートキャンプでは、コードベースやツール、開発アプローチを学ぶ
      • IT業界にはコードを書かないで管理だけやっているような奴がいるが、私たちが求めるハンズオンな人材というのは、ブートキャンプに参加したがるし、実際うまくやってのける

原文

http://www.wired.com/epicenter/2012/02/zuck-letter/

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: