ぼくのプログラミング哲学はちょっと変わっているようだ。フェイスブックの人たちは(ある意味、現代ソフトウェアエンジニアリングも)開発スピードとコードベースのクオリティは反比例するもの、あるいはどっちか選択するものとの考えている。フェイスブックエンジニアリングのモットー「ガンガン動いてドンドン壊せ(Move Fast and Break Things)」はこの考え方を象徴している。この考え方はオカしいと思う。これはつまり「ダメなコード・プロダクトなら早く世に送り出せるが、コード・プロダクトの質にこだわっていたらいつまでたっても出荷できない」ということで、これを真に受けたら誰だって「ダメなコードでも出荷しよう」ってことになって、誰も低品質のコード・プロダクトをつくりだすことへの罪悪感を感じなくなってしまう。だって質とスピードは反比例するんだろ。
この「質v.s.スピード」という概念は根本的に間違っていると思う。だって素早く開発をしなくては環境、あるいは自分の環境の理解の変化にソフトウェアがついてこれず、ソフトウェアが解決すべき問題が解決できなくなり、必然的に質が落ちてしまう。逆に、質の高いソフトウェアを書かなくては、なにかある度にインフラが崩壊し、素早く開発をすることができなくなってしまう。インフラの崩壊は、やる気を削ぐので特にたちが悪い。フェイスブックでは「質v.s.スピード」ではなく「質=スピード」を念頭にソフトウェアを書いてきた。相当たくさんの仕事をフェイスブックではしたし、書いたもののかなりの部分が今でも使われていることを考えると、ぼくの考え方は間違っていなかったと思う。