破いて捨てたノート

Webやテクノロジーやそれ以外に関する思いつき

「達人プログラマー」を読み始めました

言わずとしれた古典的名著「達人プログラマー」を読んだ。(今更?というツッコミはご容赦頂きたい。) ページをめくるたびに次々とアンダーラインを引きたくなる箇所が出てるく。 気を抜くとアンダーラインで溢れ返ってしまう、そんな本だった。

本書は方法論が書かれた技術書であると同時に、プログラマーとしての心構えが記された哲学書でもある。まえがきにはこうある。

達人プログラマーになるためには、常に自分自身が何をやっているかということを考え続ける必要があります。これは、今行っている作業をどこかで1度だけ検証するということではありませんー日々の意志決定、あるいは各開発での意志決定すべてに対する継続的かつ批判的な評価です。絶対に漫然と行ってはいけません。絶え間なく考え続け、リアルタイムで自身の作業を批判するのです。

こういった一文一文から、著者のプログラミングや仕事への真摯で情熱的な姿勢がひしひしと伝わってきて、襟を正される。
以下は本書を読んだ中で、特に筆者の心に響いた箇所をまとめたい。

責任を持つこと

他人や他の何かを非難したり言い訳をしてはいけません。すべての問題をベンダー、プログラミング言語、管理、同僚のせいにしてはいけません。(中略)彼らは問題を解決するためにあなたに従事しているのであって、弁解のためにいるわけではないのです。

まず悪いニュースを報告する前に、何かできることはないでしょうか? おそらく追加のリソースが必要となるかも知れません。しかし、こういった助けが必要であることを要求したり認めることを恐れてはいけません。

大きく声を上げる前に中途半端な言い訳を無くすことです。もし何か言わないと気が収まらないのであれば、猫にでも言うことです。

例えば、他人のミスが原因でバグが発生したとしよう。そのバグは、他人が原因で発生したものなのか、自分が原因で発生したものなのかなどは関係ない。それは避難すべきものではなく、「自らの問題」として解決を試みるべきものなのである。

  • いい加減な言い訳よりも対策を用意すること

道具に拘ること

道具は職人の考えたこととその作品をつなぐパイプとなり-つまり職人の手の一部となるわけです。(中略)道具はあなたの能力を増幅します。道具が良ければ、より簡単に道具を使いこなせ、より生産的になれるのです。

あなたは一芸に秀でていなければならないのです。単に直線的にタイピングを行い、マウスを使ってカット・アンド・ペーストをしているだけではだめなのです。強力なエディターとあなたの指先を使えば、高い生産性を上げることができるようになるのです。

筆者は普段、テキストを編集する際にvimを使用しているが、"ふつうに使える"程度のレベルであり、熟達しているとはとても言い難い。一方、筆者の周囲の凄腕プログラマー達は、ほぼ例外なくエディターを使いこなし、肉眼で追うことが難しいほどの、まさに思考の速度でテキストを切り刻んでいく。

  • 一つのエディターを熟知すること

誇りと愛着

達人プログラマーは責任逃れを潔しとしません。代わりにチャレンジを受け入れること、技術を発揮することに喜びを感じるのです。我々が設計やコードに対して責任を持てるのであれば、我々自身の仕事に誇りを持てるはずです。

匿名性が、だらしなさ、誤り、無精、まずいコードの温床となり、特にプロジェクトが 大規模になると、それが顕著に現れてくるのです。

我々は所有することによって誇りを持つべきなのです。(中略)それが本当のプロの仕事です。それが本当のプロによって記述されたものなのです。

我々が日々生産するコードはGitに記録されていく。記述者に関する情報はauthorとしてログに記される。我々は日々のコード1行1行、1コミット1コミットに責任と誇りを積み重ねていかなければならないのである。

  • あなたの作品に署名すること

と簡単に纏めてみたものの、筆者はまだ本書を”読んだ"という段階に過ぎない。ここに書かれていることは、無意識に実践できるようになるまで反復し、血肉とせねばならない。
そのためには、本書を常に手元においておく必要があるだろう。日々の仕事の取り組みを批判的に振り返り、本書の記述と照らしあわせて評価し、軌道修正を試みる。そうしたプロセスを、この本がボロボロになるまで(※1)幾度と無く繰り返えさねばなるまい。そういう意味では、本書を”読み終えた”というより、"読み始めた"と表現しておいた方が正確なのだろう。

※1: 電子化したのでボロボロになることはないのだが。

達人プログラマー―システム開発の職人から名匠への道

達人プログラマー―システム開発の職人から名匠への道

  • 作者: アンドリューハント,デビッドトーマス,Andrew Hunt,David Thomas,村上雅章
  • 出版社/メーカー: ピアソンエデュケーション
  • 発売日: 2000/11
  • メディア: 単行本
  • 購入: 42人 クリック: 1,099回
  • この商品を含むブログ (347件) を見る