闘うプログラマー
もう過ぎて今いましたが、AmazonのKindleストアで「闘うプログラマー」という本の電子書籍版が特価だったので購入してしまいました。この「闘うプログラマー」というのは原題がSHOWSTOPPERというノンフィクションです。実は私はこの本を持っていたのですが、電子書籍で買い直してしまいました。
日本語版のサブタイトルは「ビル・ゲイツの野望を担った男たち」というもので、伝説のプログラマーと呼ばれたデビッド・カトラーとWindows NT開発のお話です。
デビッド・カトラーはDECのソフトウェア開発者でVMSなどのOSの開発に携わってきた方です。関わってきたプロジェクトの消滅とビル・ゲイツが新しいOSを開発しようという思惑のタイミングが一致して、カトラーはDECの部下を引き連れてマイクロソフトに転職してきます。そこで待ち受けるのはNT(New Technology Kernal)という新型OSの開発です。そう、後にWindows NTと呼ばれるWindowsです。Windows NTは現在の最新版Windows 8.1の源流となるOSです。ざっと書くと、こんな感じでリリースされています。
- Windows NT 3.1
- Windows NT 3.5
- Windows NT 3.51
- Windows NT 4.0
- Windows NT 5.0(Windows 2000)
- Windows NT 5.1 (Windows XP)
- Windows NT 5.2 (Windows Server 2003)
- Windows NT 6.0 (Windows Vista)
- Windows NT 6.1 (Windows 7)
- Windows NT 6.2 (Windows 8)
- Windows NT 6.3 (Windows 8.1)
という話はともかく(^_^;)物語のメインはDECからカトラー転職してきたところから始まります。マイクロソフトの社員(物語ではマイクロソフティと呼んでいる)と軍隊のように規律を重んじてきたカトラーたちとの考えの違い。社員との衝突が描かれています。ビル・ゲイツはカトラーのカリスマ的な技術力を尊重し一定の距離を置いて接します。(それでも口出しするのですが。)一方、マイクロソフト社員との調和を図ろうとするスティーブ・バルマーたち様々な人間模様が描かれていきます。
当初の”NT”はWindowsと呼べないようなキャラクターベースのシステムだったようです。カトラーたちの高い技術力を駆使してカーネルは作られていきましたが商品にするにはまだほど遠いものでした。Windows 3.0の成功も背景にあったのですが、当時IBMと共同開発していたOS/2の開発を打ち切り次世代Windowsとしてマイクロソフトの最重要プロジェクトとなっていくWindows NT。当初のコアシステムだけではなく、GUI、ネットワークとマイクロソフトの専門家が続々と集結していきます。
社内発表、社外発表、開発者向けリリース、ベータリリースと公開されていくWindows NT。日程が迫っていく中で最優先に処理しなければならないバグがあります。これを”ショーストッパー”と呼びます。ショーストッパーとは観客の拍手喝さいでショーが続けられなくなることを示しますが、ここではショーを止めてしまうほど致命的なバグを示しています。これを片付けなければなりません。日程を優先するか、機能を優先するか?プログラマー、ビルド担当者、テスターとの間のやり取り、それぞれの個人の問題、殺人的なスケジュールとストックオプションによる巨額の富を得ることの葛藤…当時のマイクロソフトのことが書かれていきます。
そしてデビッド・カトラーの厳しい仕事への姿勢。マイクロソフトに伝わる「泳げないヤツは沈めばいい」という考えの中必死にWindows NT完成に向けて開発に取り組んでいくマイクロソフト社員たち・・・。
そんな物語が繰り広げられていく「闘うプログラマー」今から20年前の話であり、開発手法は違うが、ソフトウェア開発の現場の話としては非常に興味深い内容となっています。
十数年前に本で読んだ時と、電子書籍で読んでいる今とではスキルも立場も変わり、また違った思いで読んでいます。担当者であった時とマネージメントしなければいけない今の立場では思いも違います。まだ、読まれていない方はもちろん以前読んだことのある方も今一度読んでみてはいかがでしょうか?