「Best Software Writing I」への序文
From The Joel on Software Translation Project
Joel Spolsky / 青木靖 訳
2005年6月20日 月曜
以下は「The Best Software Writing I, Selected and Introduced by Joel Spolsky」の序文だ。
~
ニューヨークはスリリングだ。
ついこの間、オフィスと地下鉄の駅の間の4ブロックほどを歩いている間に、おもしろいことが立て続けに起きた。
おもしろいことと言っても、すごくおもしろいというのではなく、ただちょっとおもしろかった、ということだ。
たとえば、ある男が歩道を、ロバート・クラムのコミックの登場人物みたいに、躍起になって、腕をばたばたさせて、鶏みたいな鳴き声を出しながら走っていた。走っていたと言うのは不適切かもしれない。彼は繰り返し尻餅をつきそうになりながら、地べたにつきそうになる直前に持ち直すのだ。
それからタクシーが曲がり角で老人をはねとばしそうになった。それというのも、老人が道を横切る速さが、タクシーの運ちゃんの感覚からするとゆっくり過ぎたためだ。
赤ら顔でぽっちゃりしたよその町から来たらしい2人組に、この辺にバーはないかと聞かれた。(バーはあった。聞かれたのがちょうどその前だったのだ。)
地下鉄の入り口のところで、小さな広告のカードを配っていた。もちろん地下鉄駅の中はそのカードで散乱していた。みんな受け取るとすぐ、その4x6インチのポストカードを、これ以上ないというくらい乱暴に地面に投げ捨てていたためだ。私は階段を降りるときにカードで足を滑らせて転ぶところだった。
ちょっとおもしろいけど、ニューヨークではすぐに忘れられてしまうようなことだ。
次の日、私は雇ったばかりのサマーインターンと話していた。どういうわけか、今年のサマーインターンの75%がインディアナの出身か、インディアナの学校に通っていた。アメリカの地理に詳しくない人のために言っておくと、インディアナというのはアメリカの真ん中あたりにある農業の州で、コーンを食べて育ったバスケットボールをする若者たちのいる健全な感じの大学や、ノーマン・ロックウェルの町や、末期のあえぎをしているさびれた工業の町なんかがある。(これを書きながら、エキサイティングな文化的シーンや、絵のように美しいたくさんの湖や、第一級の電話システムや、バラエティに富むエスニックレストランを宣伝しているインディアナ観光開発局から、おびただしい怒りの手紙がいつ来るかと身構えている。インディアナでは同じブロックでメキシコ料理とイタリア料理のレストランが見つけられるのだ!)
何にしても、そのインターンはニューヨークに住んだことがなく、それがどんな風なのかと聞いてきた。私はいい答えを持ち合わせていなかったけど、こんな風に答えた。「インディアナのブルーミントンであれば夕食の会話のネタとして十分通用するようなことが、ニューヨークでは毎日10個くらい、地下鉄の駅に行く途中に起きる。そして君はそれに全然注意を払わないだろう」
自己満足に浸って、本棚から地図帳を引っ張り出すと、今度はどの州をこき下ろそうかと探し始めた。
えーと、なんでこんな話をしていたんだろう?
いや、待って、思い出した。でも、その前に別な話をしなきゃいけない。
何ヶ月か前、私はこの本の出版社とは別の、ある出版社から書評するための本を受け取ったのだが、その出版社の名前も、本の名前も、著者の名前も伏せておきたい。その本についてはいい点を何も挙げることができないからだ。
その出版社は裏表紙に載せるために、その本がいかに素晴らしいか私に書いて欲しかったのだ。通常私は喜んでそうする。私はほんとの出たがりで、自分の名前を読書家たちの目に触れられるようにするためなら何だってするのだ。私がこれを十分にやったなら、いつか私の家に電話してくるテレマーケッターが、私の名前をちゃんと発音できるようになるんじゃないかと期待している。
その本の出だしは期待が持てた。それは本当に必要を満たすものだった。私はまさにそのトピックについての本を見つけようと何度も本屋を探したが、全然見つけられなかったのだ。だから私は原稿をすごく期待して読み始めた。
ウヘッ。
私は読み続けるのが耐えられなかった。
著者は気が利いていて興味深いことを言い続けていた。
そして文章は明確でさえあった。
しかしその本は、まったくもって完全に退屈だった。さらに悪いことに、全然説得力がなかった。
その著者は良い文章のための第一のルールである、「語るのではなく、見せよ」というのを破っていた。その本にはストーリーがひとつもなく、「良いチームリーダは、はっきりした例を示すことで触発する」みたいな文章がいっぱい書かれていた。何それ?
注意して。読者を居眠りさせずに「良いチームリーダは、はっきりした例を示すことで触発する」と言うには、こういう風にやるのだ。
軍隊で私は何ヶ月もの間、食堂でテーブルを片づけたり皿を洗ったりして1日16時間ぶっ続けで働いていて、休憩といえば、ほんとに早く皿を洗えばなんとか30分ほど午後に取れるというくらいだった。私の手はいつも赤くなっていて、私の上着はいつも濡れていて変な臭いがし、もう我慢の限界だった。
私はどうにか食堂から離れ、高位の上級曹長の元でやる仕事に移ることができた。この人は長い経験を積んでおり、部隊の若者たちよりたぶん20くらいも年上だった。彼は野外にいるときでも、彼のまわりの世界がいかに泥だらけ、埃だらけであるかに関係なく、いつもしみひとつない、糊がきいてぴちっとアイロンのかかった制服を着て、完璧に磨き上げられた靴を履いていた。私達が地べたで汚れた寝袋に寝ているときでも、彼は300スレッドカウントのエジプト綿のシーツで寝ているんじゃないかと思えた。
彼の仕事は2つあった。訓練と基地のインフラ整備だ。彼はその訓練係としての役割により、部隊のみんなから一種の畏れをもって見られていた。基地を颯爽と歩き回り、点検をし、大声の限りを尽くして怒鳴りつけ、天気次第で埃まみれだったり泥まみれだったりする砂漠の真ん中のテントの集まりという状況の中にあって、不可能と思える高い水準の整理と清潔さを要求する。それが多くの人の目にしている彼の姿だった。
何にしても、その上級曹長のもとで働く第一日目には、一体どうなるのか全然分からなかった。それはきっと怖いものになるのだろうけど、一日中皿を洗ったりテーブルを片づけたりしているのよりはましだろうと思っていた(そして食堂の責任者は感じのいい人ではなかった!)
最初の日、将校用のトイレに連れて行かれて、そこをきれいにするのが仕事だと言われた。「トイレはこうやって掃除するんだ」と彼は言った。
それから彼はそのアイロンがかかってしみひとつない制服のまま、磁器製のボールの前に跪づくと、素手でトイレをこすり始めた。
トイレ掃除しなきゃいけない19歳の人間にとって、それは世界で最悪の仕事だった。しかし一点の曇りなく身支度した38歳の高位の訓練将校がトイレを掃除する姿は、私の態度を完全にたたき直した。彼にトイレが掃除できるなら、私にだってトイレを掃除できる。トイレを掃除することに、何も悪いことはない。この瞬間から、私の忠誠心と士気が衰えることはなかった。これがリーダシップというものなのだ。
私がここでやったことが分かっただろうか? ストーリーを語ったのだ。いかに「良いチームリーダは、はっきりした例を示すことで触発する」かと、だらだらした説明を聞かされるより、こういう400語ばかりのストーリーを10個も聞く方がずっといいだろうことは請け合ってもいい。
結局私は、褒めて欲しいと思っていたその本の編集者に電話して、それがたとえ100%正しく、良く書けていたとしても、1つのストーリーもない退屈な本を推薦することはできないと、誠実に伝えた。彼らは今では私を憎んでいるだろうと思う。
別にいいさ。
ソフトウェア開発の世界は、良い読み物を必要としている。著者が16人いる、外国語学習者の変な英語で書かれたクラスライブラリに関する2000ページの本をまた読まなければならないとしたら、私は頭がおかしくなってしまう。似非学術的に気取って書かれたハードカバーのオブジェクト指向モデリングの本は、もうFog Creekの図書室に入れるつもりはない。ゴミ箱に直行だ。熱心な9歳児やスラッシュドットのトレッキーが書いた、Microsoftのバグだらけのコードに対する元気のいい攻撃文をもしまた読まなきゃならないんだったら、私はとがった鉛筆で目玉を突っつきたくなるかもしれない。やめてくれ、お願いだからやめてくれ!
そしてそれが、ゲリー・コーネルがこの本を提案したときに、そのアイデアに私が飛びついた理由だ。これは、去年かそこらに書かれたソフトウェアについての読み物の中で最高のものを紹介するチャンスだ。もともとのアイデアは、毎年刊行していく、というもので、だからあなたが手にしているのは、「ザ・ベスト・ソフトウェア・ライティング 2004」であるわけだけど、私達が含めたいと思った2003年に書かれた素晴らしいアーティクルもたくさんあって、それにまたタイトルに年次が入っていると、年の終わりに本屋が返品してくるんじゃないかという懸念もあった。私は自分のウェブサイトのJoel on Softwareで信頼のおける読者たちから推薦をしてもらい、最終的には私自身が選んだので、何が含まれているとか、何が含まれていないとかいう批判は私が受けるべきだが、普通は何も得ることのない現場の本当に素晴らしい読み物に対する功績は、その貢献者たちのものだ。
~
The Best Software Writing Iは発売中だ。 以下のアーティクルが収録されている:
- ケン・アーノルド - スタイルは内容である
- リーオン・バンブリック - 最高におばかなユーザインタフェース賞: Windows検索
- マイケル・ビーン - プログラマのアウトソーシングの落とし穴
- ローリー・ブリス - データベースとしてのExcel
- アダム・ボズワース - ICSOC04講演
- ダナ・ボイド - 自閉的なソーシャルソフトウェア
- レイモンド・チェン - なぜ、アンドキュメンテッドな振る舞いに依存するアプリケーションを単にブロックしないのか?
- ケビン・チェン&トム・カイ - ラマを蹴っ飛ばす
- コリー・ドクトロウ - カナダのインターネットをWIPOから救え
- ea_spouse - EA: 人間の物語
- ブルース・エッケル - 強い型付け 対 強いテスト
- ポール・フォード - Processingのプロセシング
- ポール・グレアム - すごいハッカーとは
- ジョン・グルーバー - ロケーションフィールドは新しいコマンドラインである
- グレガー・ホペ - スターバックスは2フェーズコミットを使わない
- ロン・ジェフリーズ - 情熱
- エリック・ジョンソン - C++—忘れられたトロイの木馬
- エリック・リッパート - 電球を替えるのにMicrosoft社員は何人必要か?
- マイケル・“ランズ”・ロップ - ハマったときにどうするか
- ラリー・オスターマン - ラリーのソフトウェアエンジニアリングの第2法則: テストメトリクスでテスタを評価することはできない
- メアリー・ポッペンディーク - チームへの報奨
- リック・ショート - MAC WORD 6.0
- クレイ・シャーキー - グループにとっての最悪の敵は自分自身である
- クレイ・シャーキー - ユーザとしてのグループ: フレーミングとソーシャルソフトウェアのデザイン
- エリック・シンク - ギャップを埋める
- エリック・シンク - 採用の危険
- アーロン・シュワルツ - PowerPointリミックス
- ホワイ・ザ・ラッキースティフ - (漫画のキツネと学ぶ)短時間の(そして願わくは辛くない)Ruby入門