エンジニアに読んでほしい10冊の本 2006年度版

今から一年ほど前に、後輩に勧める目的で読んでおいたほうがいい本を10冊ほど挙げた。今年度ももう終わろうとしていることだし、この一覧を新しくしようと思う。エンジニアを志す諸君、この本を読んでおくと良い。

ピープルウェア

読みなさい。反論の余地は与えない。とにかく読みなさい。

エンジニアが気持ちよく仕事し、高い生産性を発揮するためには何が必要なのかをわかりやすくまとめてある。この業界における聖書の一冊だ。経営者や管理職の人間こそ読むべきだが、エンジニア自身が読んでももちろん良い。自分をどういう環境に置くべきかがわかる。

ピープルウエア 第2版 ? ヤル気こそプロジェクト成功の鍵

ピープルウエア 第2版 ? ヤル気こそプロジェクト成功の鍵

CODE COMPLETE 第2版

読みなさい。この本を読まない人間にエンジニアを名乗って欲しくない。とにかく読みなさい。

とにかくすばらしい本である。あまりにすばらしいので、技術書であるにもかかわらず、読むと感動する。

自分は全然なっちゃいない、と思う人。読みなさい。何をどうすればより良い状態になるのかがわかるから。
自分もなかなかのレベルに達した、と思う人。読みなさい。その認識が錯覚に過ぎないことを思い知らされ、自分が進むべきさらに上の世界を見せてくれるから。

ソフトウェア開発における、コンストラクション(詳細設計、コーディング、テスト)部分に注目し、そこで必要なノウハウやテクニック、哲学がぎっしり詰まっている。さらにその手法が効果的であるとする根拠もちゃんと書いてある点もポイントが高い。

上下巻の2冊構成で、両方合わせて1,000ページ近く、一冊当たり6千円オーバー、というわけでページ数も価格もでかい。しかし、少しだけ頑張ってこの本を手に取れば、ワンランクもツーランクも上のエンジニアになれる。

CODE COMPLETE 第2版 上 完全なプログラミングを目指して

CODE COMPLETE 第2版 上 完全なプログラミングを目指して

CODE COMPLETE 第2版 下 完全なプログラミングを目指して

CODE COMPLETE 第2版 下 完全なプログラミングを目指して

Cプログラミング診断室

Cプログラマでは無くても読んで欲しい本。もっとも、Web上に公開されているから、そちらで読んでもらっても一向にかまわない。

きたないコードを題材として、そのダメっぷりをコキおろし、どう直せばよいのかを書いた本だ。毒舌っぷりがむしろ気持ちがよい。

俺にはプログラミングを教えてくれる師匠がいなかった。プログラミング入門書が教えてくれるのは文法だけで、いくら読んでもうまい書き方は掴めなかったし、だからこそノウハウを渇望していた。それを与えてくれたのがこの本だ。

改訂新版 Cプログラミング診断室

改訂新版 Cプログラミング診断室

プログラミング作法

プログラミング初心者が読むべき本。

プログラムを書く上で必要な知識が網羅されている。自力でクイックソートアルゴリズムを実装できないような人間がプログラマを名乗るべきではない。そう言う人は、この本を読んで基礎からたたき直すように。実際に実装するかどうかは問題ではない。やろうと思えばできるだけの能力を持っていることが重要なのだ。基礎を押さえずして上は目指せない。

ただ、ちょっと読みにくい本なので、気合いを入れて立ち向かわねばならない。

この本には数多くの価値ある情報が書かれているが、その中で個人的に忘れられないのが、次の一文だ。

最適化の第1の原則は最適化するなだ。

いつもこの言葉を思い出し、考え無しの条件反射的な修正を行わないようにしている。

プログラミング作法

プログラミング作法

暗号技術入門 秘密の国のアリス

何をするにもセキュリティが顔を出すご時世、暗号の一つも理解できないではエンジニアなんてやってられない。

暗号関係の本では『暗号技術大全』が有名だが、これはあまりに詳しいのでむしろ読み切れない人もいると思う。その内容をかみ砕いて読みやすくしたのがこの本だ。入門書としては最高の一冊だと思っている。

数多くの暗号、その構造、弱点、などなどを網羅してあり、しかもわかりやすい。MD5で暗号化するなどと言ってしまう人、SSL/TLSで自己認証局を使用するのがなぜ危険なのかわからない、といった人はこの本を読んで勉強しておくとよい。

暗号技術入門-秘密の国のアリス

暗号技術入門-秘密の国のアリス

パターン指向リファクタリング入門

デザインパターン。エンジニアの間ではもはや常識的な知識となっている設計パターンカタログだが、これをうまく使うとなると実に難しい。パターンを学んだ人間は、とにかくパターンを適用したくて仕方が無くなり、無駄に設計を複雑化させて自爆するケースが多い。俺もそうなったことがある。

この本では、リファクタリングを、デザインパターンを適用する形で進める。リファクタリングは、ソフトウェアの設計がまずい部分を、より良い形に改善する作業のことを言う。つまり、デザインパターンをどういうケースにどのように適用するとうまくいくのか、という実践的な例になっているのだ。

プロフェッショナルは、道具を使えるだけではダメで、道具をうまく使えなければならない。しかし、世に溢れる本のほとんどはとりあえず使えるレベルまでしか触れない。この本は、うまい使い方を教えてくれる希有な一冊だ。

パターン指向リファクタリング入門~ソフトウエア設計を改善する27の作法

パターン指向リファクタリング入門~ソフトウエア設計を改善する27の作法

達人プログラマー

技術書にして、プログラマーに特化した自己啓発書。

割れ窓理論」「知識ポートフォリオの作成」「DRY原則」「なんでも自動化」「ソースコード管理」「作品への署名」etc, etc...。達人プログラマーが明かす、ソフトウェア開発の奥義の数々。俺の今の開発スタイルは、この本によってほぼ決定づけられ、作業スピードと確度がかなり向上したと感じている。他にもいろんな技術書を読んできたが、それによりここで身につけたスタイルが補強されることはあっても、覆されることはほとんど無かった。

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

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

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

クリティカルチェーン

あまりに有名なビジネス小説『ザ・ゴール』シリーズ第四弾。画期的な生産管理手法を小説を読み進めることで楽しく学習できるので人気を博しているが、『クリティカルチェーン』ではこれを「プロジェクト」というもっと広い範囲に拡大している。当然、ソフトウェア開発プロジェクトも対象に含まれる。

プロジェクトは遅れるもの、という認識はどうやらソフトウェア業界だけの話では無いらしい。あまりに多くのタスクが絡み合い、不確定要素も多いので、プロジェクトマネジメントは至難を極めるのだ。そこに、TOC(制約条件の理論)を組み入れた新しいプロジェクト管理手法を導入し、改善を図っていく様が物語形式で語られる。

この本で扱われる、プロジェクトを遅延させる要因はどれも身に覚えがある。掛け持ち作業により進捗は遅れ、学生症候群で安全期間を使い切る、などなど、読んでいてハッとさせられる箇所が多い。こうした問題が次々とあばかれ、また解決するアイデアが次々と登場してくるから、読んでいて気分爽快だ。もちろん、それで終わらず学んだことは実践しないと意味がないが。

クリティカルチェーン―なぜ、プロジェクトは予定どおりに進まないのか?

クリティカルチェーン―なぜ、プロジェクトは予定どおりに進まないのか?

UMLモデリングのエッセンス 第3版

UMLは現代のソフトウェア設計で最も使われている共通言語だ。ユースケース図にクラス図にシーケンス図、どれもこれも自分が使いたいと思うかどうかに関係なく出てくる。よって、覚えておかないと開発に参加できない場合すらある。

しかし、UMLも2.0/2.1まで登場し、大型化と複雑化が進んでいる。まともに勉強しようと思うといくら時間があっても足りない。

そこで、この本である。タイトル通り、UMLを活用するため『エッセンス』を凝縮した一冊で、情報量もかなり絞ってあって読みやすい。基本的な記法はもちろん、ありがちな問題への対処方法や、対象ダイアグラムの適用範囲などもカバーしている。入門書としても、リファレンスとしても実用的だ。

いきなり「設計をUMLでよろしく」と言われても、この本を手元に置いておいてパラパラとめくると、なんだかそれなりのものを書ける。

UML モデリングのエッセンス 第3版 (Object Oriented SELECTION)

UML モデリングのエッセンス 第3版 (Object Oriented SELECTION)

TQ 心の安らぎを発見する時間管理の探求』

TQとはTime Questの略である。世に数多く出回っている、時間管理を題材とした本の一冊。自分なりの時間管理手法を確立できていない人は、とりあえず一度読んでいただきたい。いや、やっぱり訂正。確立していると思っている人も一読したほうがよい。この本は、時間管理に対する考え方が少し面白い。

というのも、「時間管理の探求」と銘打っているくせに、時間はコントロール不能であると断言しているのだ。それはそうだ、いくら頑張っても一日を48時間にはできないのだから。そして、コントロール不能なものに文句を言ってもしかたがない。

我々が時間管理と言っているのは、実は出来事のコントロールのことを指している。出来事をうまくコントロールできないから、その結果として時間が無いと感じるのだ。例えば嫌な仕事を後回しにする、本当はしなくて良いことを形式的に行ってしまう、計画を立てずに行動する、等々だ。こうした時間泥棒たちにどう立ち向かうべきなのか、実に詳細に書いてある。

中盤で「フランクリンプランナー」という管理手帳が登場したあたりで多少セールスくさく感じるかもしれないが、そのへんはスルーすればよい。別に自分の好きな手帳で同じ事すればいいわけだし。もっとも、俺はフランクリンプランナーをもう3年は使っているが、ちゃんと使えば実に便利である。

TQ―心の安らぎを発見する時間管理の探究

TQ―心の安らぎを発見する時間管理の探究

  • 作者: ハイラム・W.スミス,Hyrum W. Smith,黄木信,ジェームススキナー
  • 出版社/メーカー: キングベアー出版
  • 発売日: 1999/01/01
  • メディア: 単行本
  • 購入: 12人 クリック: 134回
  • この商品を含むブログ (86件) を見る