ⅡⅢⅧ II 川膕Ⅱ催 優れた技術者の集まる 9 7 8 4 7 9 8 1 1 5 8 2 5 会社にする方法 ウ 開 ソフトウェア 1 9 2 3 0 5 5 0 2 0 0 0 9 開発者 採用ガイド 採 &G€rs Joel Spolsky 著 NiNGSDöNE イ 青木靖訳 ド 旧 BN978-4-7981-1582-5 C3055 ¥ 2000E 株式会社翔泳社 定価 : 本体 2 , 000 円 + 税 Joel Spolsky の本 良い技術者はどこにいる “優れた技術者を見つけ、 面接し、雇用する” ための全ステップ しかしそうかと言って、銀の弾丸が あるわけではない。ただひとつのこと で、魔法のように採用の問題がすべ て解決し、優れた開発者が明日から 働きにきてくれるようになるわけでは ない。やらなければならないのは、採 用プロセスの全体を 1 つの障害物コ ースとして見て、どうすればできるだ け多くの障害物を取り除けるか考え ることた。障害物のすべてに取リ組む 必要がある。どれも同じように重要だ からだ。 ( 本書「はじめに」より ) BEST SOFTWARE WRITING JO 引 Spolsky 編 青木靖訳 定価 : 3.129 円 ( 本体 2S80 円十税 5 % ) 旧日 N : 97 & 4-7981 ・ 1 581 ・ 8 2008 年 02 月 20 日刊行 良いソフトウェアを開発するためには、 良いストーリーで学べ ソフトウェア開発に関する 珠玉の工ッセイ集 ・ roject 地こやさしい本づくりを目宿します Jöモ LSPO ー C67 ロ 9 モ GUIDE 和 日 G モ BE Ck に A [ TA 「 第 JoeI S ℃ 0 一 0 優れた技術者 の集まる会社 にする方法 010 し
ⅡⅢⅧ II 川膕Ⅱ催 優れた技術者の集まる 9 7 8 4 7 9 8 1 1 5 8 2 5 会社にする方法 ウ 開 ソフトウェア 1 9 2 3 0 5 5 0 2 0 0 0 9 開発者 採用ガイド 採 &G€rs Joel Spolsky 著 NiNGSDöNE イ 青木靖訳 ド 旧 BN978-4-7981-1582-5 C3055 ¥ 2000E 株式会社翔泳社 定価 : 本体 2 , 000 円 + 税 Joel Spolsky の本 良い技術者はどこにいる “優れた技術者を見つけ、 面接し、雇用する” ための全ステップ しかしそうかと言って、銀の弾丸が あるわけではない。ただひとつのこと で、魔法のように採用の問題がすべ て解決し、優れた開発者が明日から 働きにきてくれるようになるわけでは ない。やらなければならないのは、採 用プロセスの全体を 1 つの障害物コ ースとして見て、どうすればできるだ け多くの障害物を取り除けるか考え ることた。障害物のすべてに取リ組む 必要がある。どれも同じように重要だ からだ。 ( 本書「はじめに」より ) BEST SOFTWARE WRITING JO 引 Spolsky 編 青木靖訳 定価 : 3.129 円 ( 本体 2S80 円十税 5 % ) 旧日 N : 97 & 4-7981 ・ 1 581 ・ 8 2008 年 02 月 20 日刊行 良いソフトウェアを開発するためには、 良いストーリーで学べ ソフトウェア開発に関する 珠玉の工ッセイ集 ・ roject 地こやさしい本づくりを目宿します Jöモ LSPO ー C67 ロ 9 モ GUIDE 和 日 G モ BE Ck に A [ TA 「 第 JoeI S ℃ 0 一 0 優れた技術者 の集まる会社 にする方法 010 し
第 4 章履歴書の順序付け そういうのが目が回るくらい続いていた。彼は世 界を履歴書のキーワードだけで考えている人だっ たのだ。 最高のプログラマにとってリクルーターの頭に くるところは、彼らがキーワードやパズワードに 病的に執着していることだ。プロのヘッドハンタ ーやリクルーターの業界では、候補者を職にマッ チングするために単純なアルゴリズムが使われて おり、採用側の会社が現在たまたま求めているも のに合致する技術略語のリストを持っ候補者を探 すのだ。それが余計腹立たしく感じられるのは、 そういったリクルーターのほとんどは、それらの 技術が何を意味するのかまったく知らないという ことだ。「ああ、 MSMQ の経験はないの ? じゃ、し ようがないね」。不動産屋であれば、サプゼロ冷蔵 庫やバイキングストープについておしゃべりして いれば、少なくともそれが何なのかは知っている ( 最近ではステンレス製の冷蔵庫はみんな「サプゼ ロ」とみなされているようだが ) 。技術分野のリク ルーターは、 5 年の RubyonRails の経験を求めた り、「 Windows API 」の仕事から履歴書に「 Win32 」 としか書いていない人を落としたりするときにば ろを出す。 リクルーターがそんなふうにしているのは、そ れが簡単で、コンピュータで処理でき、彼らが開 発者を判断できる唯一の方法だからだ。 しかしそれは、ほとんどあらゆるソフトウェア 077
ソフトウェア開発者採用ガイド 078 開発の職について、およそ最悪な採用方法なのだ。 私たちの信条は長期的視点で採用するというこ とだ。現在たまたま知っているどんな技術も、来 年には古くなっている可能性がある。しかもそれ らの技術の中にはいとも簡単に学べるものもある。 一隹か Ruby での開発ができる人を採用する必要があ るというとき、 SmaIItaIk と Python の深い経験を持 つが Ruby のことは聞いたこともないという人は、 Ruby の本を一度読んだことがあるという人よりも 成功する見込みがすっと高い。基本的に優れたソ フトウェア開発者には、別なプログラミング言語 を学ぶというのはまったくたいしたことではない のだ。彼らは 2 週間で非常に生産的になっているこ とだろう。 2 年後には、まだ発明されていないプロ グラミング言語でまったく違ったことをやっても らっているかもしれない。 なんにせよ履歴書のキーワード欄はあまり信用 できるものではない。現役のプログラマはみんな、 そのキーワードで履歴書をフィルタするプログラ ムのことを知っており、触ったことのあるテクノ ロジーをすべて履歴書に入れ、フィルタを通るよ うにしている。 このルールにはひとつの例外がある。アーキテ クトや開発者のリーダーを採用しようとしている 場合だ。最初のコードの基礎を作り、システムが 一緒に動くようにする方法を見つけ出すチーフソ フトウェア工ンジニアには、使う技術に関して多
XII 訳者序文 なければ、優れた開発者を採用することはできな いからだ。 ここからテクノロジー会社を素晴らしいものヘ と変えていくためのたくさんのヒントを見つけら れると思う。 本書で扱われているトピックには以下のような ものがある。 ・マネジメント法のそれぞれと、メトリクスの問題 ・採用面接の実戦的なガイド ・電話面接の方法、どんなことを聞くか ・履歴書の読み解き方 ・優れた開発者が仕事や職場に求めるもの はマーケットに現れないのか ・優れた開発者を見つけ出す方法、なぜ優れた人 はどれくらい幅があるか ・テクノロジー企業の戦略、プログラマの能力に そらくはより標準的な ) 採用プロセスについて書か なお、アメリカのテクノロジー企業における ( お る技術者の助けになることを願っている。 業と、自分に合った働き場所を得たいと思ってい この本が優れた技術者を求めるテクノロジー企 ・開発チームをチェックするための「ジョ工ルテスト」 付録として
優れた技術者の集まる 会社にする方法 SMÄUGüsTi-4jNGSDöNE ソフトウェア 開発者 採用ガイド 0 0 Joel Spolsky 著 青木靖訳 SHOEISHA
第 7 章最適でないチームを直す たちをマイクロマネジメントするのだ。ヒット工 ンドランマネジメントの問題は、自分の決定がな ぜうまくいかないのか理解したり、軌道修正した りできるほど長くその場に留まらないことにある。 結果的に、毎回哀れなプログラマは軌道から叩き 出されることになり、彼らは次の 1 週間を、列車を 全部拾い集め、線路に戻してちゃんと並べ直すの に費やし、そして少しばかり打ちのめされるのだ。 欠陥の 3 つめは、ハイテク企業では「リーダー」 よりも個々の開発者のほうが常に多くの情報を持 っていることで、決断に適した位置にいるのは開 発者のほうなのだ。 2 人の開発者が最適な画像圧縮 法について 2 時間議論しているところへポスがふら っとやってきたというとき、その場で一番情報を 持っていないのはポスであり、したがって技術的 な決断を一番してもらいたくない人間がポスなの だ。 Microsoft のアプリケーション部門を仕切って いたマイク・メイプルズが私のポスのボスのボス のボスだったときのことを思い出す。彼は技術的 な議論でどちらかの肩を持っことを断固として拒 んでいた。やがてみんな片をつけてもらいに彼の ところへ行くべきではないと理解するようになっ た。このことによって開発者たちは実質的な利点 に基づいて議論することが求められ、問題はより 良く議論した者のやり方で解決されるようになっ た。すなわち、問題はいつでも考え得る限り最良 の方法で解決されることになったのだ。 1 3 5
第 3 章開発者観察ガイド まされた公正の感覚を持っている。プログラムと いうのは動くか動かないかのいすれかだ。バグが 存在するかどうかについて議論するのは意味がな く、テストをすればわかることだ。プログラミン グの世界は非常に公正で、非常に厳格に秩序立て られている。そもそもプログラミングの世界に入 ってくる人がそうする理由は、多くの場合、公正で、 秩序があり、厳格に能力主義で、議論は単純に正 しいほうが勝つような場所にいたいと思うからな のだ。 そしてそれはプログラマを引きつけようとする ときに作らなければならない環境でもある。プロ グラマが「政治」について文句を言うとき、それ が正確に意味していることは、技術面よりも個人 的な考えが重視されているということだ。開発者 が現在の作業のために最適でないプログラミング = をそれがポスの好みだからという理由で使 に一口ロ、 うように言われることほど、彼らを憤慨させるこ とはない。人々が厳格に能力によって昇進するの でなく、コネによって昇進することほど、彼らを 怒らせることはない。組織で自分より上にいるか、 より強いコネを持った人間が要求しているために 技術的に劣った方法でやらなければならないとい うことほど、彼らをムカつかせることはない。 政治によってなら負けていただろうときに、技 術的な優位さによって議論に勝っことほど満足 を与えるものはない。私が Microsoft で働き始め 055
098 ソフトウェア開発者採用ガイド っている人と、あなたが採用したいと思う人との 間には、想像し得るどのような相関もない。そん な違いを誰が気にするっていうの ? 15 秒もあれば ネットで調べられるというのに ! 頭が良いという のは「雑学問題の答えを知っている」ことではな いというのを覚えておこう。何にしても、ソフト ウェアチームというのは特定のスキルセットでは なく、資質を持った人を雇いたいものなのだ。人々 が仕事に持ち込むどんなスキルセットも、 2 年も すれば技術的に古くなってしまうだろう。だから JDBC で MySQL データベースにアクセスする方法 を今たまたま知っている人よりは、どんな新技術 でも学ぶことのできる人を雇ったほうがいい。 一般に、ある人について最も多くのことを知る 事ができる方法は、その人に話をさせることだ。 彼らに自由解答式の質問と問題を与えるのだ。 では何を聞けばいいか ? 私が個人的に使っている面接質問のリストは、 私が最初に仕事をした Micr 。 s 。 ft に端を発するもの だ。 Micros 。 ft の面接質問には、有名なのがそれこ そ何百とある。誰もが本当に気に入っている質 問をいくつか持っている。あなたも自分なりの面 接スタイルと質問の数々を開発することで、採用 / 不採用の判断に役立てることができるだろう。 ☆ 01 これはまるまる 1 冊の本になっている。 William Poundstone, ・・ How wou 旧 you Move Mount Fuji: Microsoft's Cult of the PuzzIe"(New York: Little, Brown and Company, 2003 ) / 松浦俊輔訳「ビル・ゲイツの面接試験ー富士山をどう動かしますか ? 」 ( 青土社 2003 年 )
1 / 7 ■ち チーフソフトウェア工ンジ二アの採用基準 . チーム 違った種類の貢献者たち . 動機付けする間違った方法 . 知識労働者 静かな作業環境の利点 .. メトリクスが機能しないこと .. .. 084 ~ 086 .086 ~ 087 ツール、最高のものを手に入れる .. ディリービルドが生産的であるために重要なこと . 1 53 ~ テクニカルカンファレンスで優れた開発者を見つける テクノロジー、難しいものの経験を探す . テスタ、専任のテスタの重要性 .. デマルコ、トム、ティモシー・リスター 引 078 . 1 66 .. 165 ~ 1 66 .. 1 22 ~ 126 .. 1 62 ~ 1 64 . 1 22 ~ 1 2 5 .. 125 ~ 1 26 索 . ℃ 24 ~ 025 .. 072 ~ 073 Programmer performance and the Effects on the Workplace" 044 『ピープ丿レウェア第 2 版ーヤル気こそプロジェクト成功 の鍵』 . 電話面接 技術的な質問 .. . 042 , 044 , 162 候補者が逆に面接する . テクノロジー方面と政治方面への掘り下げ .... 083 ~ 084