読者です 読者をやめる 読者になる 読者になる

COBOL技術者の憂鬱

COBOLプログラマは不在にしています

DHH語録

David Heinemeier Hanssonという方は「Railsを作った偉い人」という印象が強いのですが、エンジニアの仕事や生き方について普段からとても深い発言をしている方なので、私なんかはそちらの方に注目してしまいます。
彼の言葉を目にする度にいつも、思わずハッとさせられた後、しばらくしてからじんわりと心に響いてくるような力に打ちのめされてしまうのです。なんか怪しげな宗教のような感じですが、そんな彼の数々の言葉をネット上からかき集めてみました。


ソースはこのあたりから。

Error 404 (Not Found)!!1
David Heinemeier Hansson | The Great Surplus
翻訳 - Ruby on Rails: David Heinemeier Hanssonへのインタビュー
#2 Ruby on Rails作者 David Heinemeier Hansson(前編) RubyでRailsを書いたわけ|gihyo.jp … 技術評論社


  • 多くの人々は、Facebook・Myspace・YouTubeのようなメガヒットベンチャーを作り出そうと思い込みすぎている。そんな確率は低いので、もっと地に足がついた目標を掲げるべき。
  • 2000人の顧客が月40ドルを12か月払えば、100万ドルになる。自分が楽しみながらできる仕事で100万ドル稼げるとしたら、それを見捨てるのはばかげている。
  • 無理して会社を大きくし、売り抜けてから人生を楽しむんだ、という人がいるが、その人は本当に人生を楽しめるのだろうか。

ものすごく堅実で、本質的なことを言い当てていると思います。
特に最後のは深いですね。


  • 少ない時間しかないことで、集中することができる。余計な時間があっても、必要ない機能などを付け加えてしまうのがおちだ。
  • 気楽にやること。この先、やることが減ることはないのだから。

彼の仕事は常に「制約の中でこそよいものが生まれる」という思想がベースになっているような気がします。通常とは逆の地点からスタートしているんですね。


  • 日々ネットで伝えられることを追うのに費やす時間を減らす。そうやって知ったことで1週間後も覚えていることがどれだけあるだろうか。その代わりに価値が持続する読書をしよう。
  • やっていることを公開して共有しよう。人前で話すこと、ブログを書くこと、オープンソースにすることは、他の人のためになるよりも、自分のためになる面のほうが大きい。

これは最近の私が実践していることです。
だらだらとネットに向かう時間を減らし、まとまった量の知識なり技術なりを脳に仕入れていくべきですね。それと同時に、外の世界へアウトプットしていくことも重要です。他人にアウトプットできるくらいまでに、自分の中で消化しておかなければならないということでしょうね。


  • 平均の10倍の生産性を上げる開発者は10倍の量のコードを書くわけではない。コーディング量は皆似たようなものだ。コードの価値が平均の10倍なのだ。
  • プログラム開発においては、使った時間と生み出す価値の相関は非常に低いのだ。
  • 余剰開発力は永遠には続かない。それを酒や毛皮のコートに浪費するのではなく、よりよい開発者となるよう自分への投資に向けて欲しい。


昔はプログラマの生産性をステップ数/人月で表現していたものですが、生産性が高まったことで、それらの指標が無意味になり、純粋なコードの価値が求められるようになってきたのでしょうか。
私も、生産性が向上する工夫を自分の業務に施す度に、工数が稼げなくなってしまい、結果として自分の首をしめることにつながりはしないかと気に病んだりしたことがあったのですが、決してそんなことはなくて、浮いた時間を有効活用していけばよいのだということに気づかされました。

  • 私はこの2つのソフトウェア開発手法に挟まれてたんですね。PHPに代表されるような「早いけど汚い」手法と、Javaに代表されるような「遅いけどキレイ」な手法にです。それで、両者を組み合わせたら、究極の目標である「早くてキレイ」になるんじゃないかと思ったわけですよ。まあ、せめて、両方の人たちにアピールするくらいはできるんじゃないかなって。

これは、Railsが目指している場所ですね。速くてキレイ。
去年勉強しかけて直ぐに挫折したんですが、そろそろリトライするタイミングだと思っています。


  • 我々はあくまでもサービスを提供して,その代価としてお金をいただく会社だから。サーバの増強をしたかったら,サーバを増強するためのお金というのは必ず売上の中から立っている。これだけシンプルなビジネスモデルであればベンチャーキャピタリストというものはいらない。
  • たとえば300人いたとしたら,我々でそれを抱えるのではなく,30個くらい会社を作ってそれぞれが行動すればいいんじゃないかな。そしてそういうやり方がうまくいくことを世に問うほうが,世の中のためになるのではないかと思う。

開発手法や成果物と同じで、会社経営も小さく/シンプルに。
最近読んだEricSink氏の本にも同じようなことが書かれていました。


  • 優れた建築というのは,設計だけでは絶対にできないと思ってます。実際にモノを作ってみてはじめて善し悪しがわかります。設計士よりも,大工でいたいのです。

日本でもよく、システム開発を建築に例えることが多いですが、大工よりも設計士であることを求められる場面が多いです。
ここまで逆のことをズバッと言いきってしまえるのは素晴らしいですね。
私も、設計士より大工でいたいです。