エアプじゃない!実際に読んで強烈にオススメしたい新人エンジニア必読本12選
自分が実際に買って読んでみて、新人エンジニアにムリヤリにでも読ませたい!と思える本を集めてみました。
多分に主観が入っていますが、古典を中心に色々なところで勧められていた本しか買っていませんので、おかしな本は含まれていないと思います。
なぜ本なのか
紙の方が頭に残りやすいとか、出版社のチェックが入っているから多少は信頼性が高いとか色々理由がありますが、一番のメリットはこの2つでしょう。
評価されているから読まれ続けている
特に古典に言えるのですが、数年・数十年前の本が出版され続けているには理由があります。
いつの時代にも通用する普遍的な内容で、長年読者の目に堪えられるほど高品質だからです。
1刷で終わるような、トレンドをただ追っただけの本とは違います。そういったものはWebサイトに任せるべきです。
著名な一線級のエンジニアの考えがわかる
本を読むということは、世界に影響力のあるエンジニアからマンツーマンで教えてもらっているようなものです。それも数千円で。コスパ高すぎです。
技術書は思いつきでさらっと書けるようなものではありません。プライベートなど色々なものを犠牲にしながら数ヶ月・数年かけて執筆したもので、そのエンジニアの集大成ともいえるものです。それを読めるだけで幸せというもの。
数万円のヘタな研修に行くよりずっとためになります。数年後に読み返すと新たな発見がありますしね。
プログラミングな本
CODE COMPLETE 第2版 上 完全なプログラミングを目指して
元Microsoftのスティーブ・マコネル著です。
これは本当にオススメです。必携です。
上下巻ありますが、扱うテーマが少し異なります。普遍的な”良い”プログラミングについて、分かりやすく具体的に取り上げている上巻が特に素晴らしい。プログラマなら必ず読みましょう。
ちなみにスティーブ・マコネルの本はハズレがありません。
ラピッドデベロップメント―効率的な開発を目指して
ソフトウェア開発プロフェッショナル
新訳-ソフトウェアプロジェクトサバイバルガイド
ソフトウェア見積り
リーダブルコード
CODE COMPLETEと双璧をなす必読書。
メンテナンスに堪えるプログラムの書き方が懇切丁寧に紹介されています。
プロジェクトは派生開発がほとんどですから、メンテナンスできるかコードなのかどうかは死活問題なのです。
仕事でプログラムを書くなら絶対に読むべき。理解できないならコードに触らないでほしい。
初心者ではなくても、変な癖を矯正する効果があるので定期的に読み返した方がいいです。
珠玉のプログラミング 本質を見抜いたアルゴリズムとデータ構造
立ち読みしてピンとこなかったら、しばらくスルーした方がいいかも。
読むのにとてもエネルギーを使います。脳から汗が出る感じ。
密度が尋常ではなく、ハイレベルで全てが役に立つ名著です。
自信喪失に注意しましょう。
アジャイルサムライ−達人開発者への道−
必携。
一時読書会で広く使われていました。
「アジャイル」というタイトルですが、原理主義的な本ではありません。
現実的にプロジェクトに取り入れることができるプラクティスが、良い意味でくだけた感じで紹介されています。今のプロジェクトで使えそうなものをピックアップするだけでも充分役に立ちます。
未だ広く使われている似非ウォーターフォールを染まる前に読みましょう。
ここで言っている似非ウォーターフォールとは、誤って使われている一方通行のウォーターフォールのことです。本来のウォーターフォールはイテレーティブですのでご注意を。
達人プログラマー 職人から名匠への道
いつの間にか新装版が出ていました。長い間読み続けられている証です。
腕利きのプログラマーの習慣・考え方が紹介されています。ヘタなプログラマーに師事するより、こっちの方がずっと役に立ちます。
一部内容が新しくなっているので、読むなら新装版にしましょう。(それでも古臭い部分があることは否定しません)
新人の時に読んでおけばよかった・・・。
Java言語で学ぶデザインパターン入門
文字通りデザインパターンの入門には最適です。
パターンを覚えて適用するというより、デザインパターンを通じてオブジェクト指向の考え方を知ることが重要です。
Flyweightのようにもう適用しない方がよいパターンもあるので、まんま鵜呑みにしないように。
ちなみにデザインパターンの原典は「オブジェクト指向における再利用のためのデザインパターン」です。通称GoF本。非常にに難解なのでおすすめできません。高いし大きいし重いし。
リファクタリング: 既存のコードを安全に改善する
みんな大好きマーチン・ファウラー御大の名著です。第2版が出ました。
もはや一般的になった「リファクタリング」の原典です。
IDEのリファクタリング機能を何も考えずに使う前に、コードを常に改善し続けるモチベーションを感じてほしいです。
マーチン・ファウラーの本はどれもおすすめですが、なぜか訳に恵まれていないことが多いので、買う前に色々チェックしておきましょう。
エンジニアリングな本
人月の神話
フレデリック・P・ブルックスの超名著です。
- 1人で10ヶ月かかる仕事は10人で1ヶ月では終わらない(人と時間は交換できない)
- 火を吹いたプロジェクトに人を追加しても余計に遅れるだけ
- 銀の弾丸など無い(プロジェクトの問題を全て解決する特効薬なんて無い)
など、いつの時代でも通用する普遍的な内容で、1ページ1ページが濃いです。
これを読んだら、脊髄反射で「人を増やせ!」と言ってしまう人にはならないでしょう。
ちなみに新装版になって狼男の表紙じゃなくなっていました。「銀の弾丸」を表現するにはとても良いと思うんですけどね・・・。
コンサルタントの秘密-技術アドバイスの人間学
コンサルタントのジェラルド・M・ワインバーグ著です。
彼がコンサルタントで経験した問題解決の方法を事細かに紹介しています。有名なオレンジジューステストも載っています。
ワインバーグの本は、技術ではなく人間にフォーカスしていることが特徴です。それだけ時代に左右されないです。
文字が小さくて訳がとっつきにくいので少し読みづらいです。ただ内容自体はとても分かりやすいので、頑張って読んでみてください。
ラインマーカーは引かないように。全行引くことになります。
スーパーエンジニアへの道―技術リーダーシップの人間学
これもオススメ。
「派生開発」を成功させるプロセス改善の技術と極意
派生開発にフォーカスした珍しい本。
新規開発よりも派生開発の方が圧倒的に多いのに、今までなぜか無かった。
最初からここまでやるのは難しいかもしれませんが、これをちゃんとやったらデスマはずいぶん減るんだろうなと思います。というより最初にしっかりやらないからデスマになって、結局工数が膨れ上がるという罠。
モチベーションが下がったら本
SEの仕事を楽しくしよう―こんなSEはだめになる
惰性で仕事をするようになったなと思ったら。そうじゃなくても。
先に紹介した派生開発本も同じ著者です。なぜか有名ではないですが、清水吉男さんの本はどれもおすすめ。
闘うプログラマー
これも新装版が出てるんですね。
Windows NT開発の熱すぎるノンフィクション。「鬼軍曹カトラー戦記」の方が正しいかも。
これを読んで燃えないエンジニアはいない。面白くて一気読みすると思う。
特に若い人に読んでほしいです。古本で1円だしね。
ただデスマで傷を抱えている人はフラッシュバックするので、本当に注意した方がいいです。
最後に
実際に読んでみて、自信をもっておすすめできる本をご紹介しました。
名著揃いなので新装版が多いのも当然といえば当然ですね。
普段の仕事で身につけられる範囲はどうしても限られます。偏ってつぶしがきかなくなる前に、先々まで役に立つ普遍的な価値をどんどん吸収しましょう。