推奨書籍一覧

推奨書籍一覧

技術書は高い書籍が多く、下手すれば平気で5000円近くする書籍もあります。 この記事では私が個人的にお薦めする書籍を並べていますが、できれば本屋で一度手にとってみたり、図書館を活用してみてください。

また、有名どころで出回っている書籍は中古で買うのも選択肢の一つでしょう。

当記事では研修中〜経験3年ぐらいまでの方にお勧めの書籍を挙げています。

Java

EffectiveJava

EFFECTIVE JAVA 第2版 (The Java Series)

EFFECTIVE JAVA 第2版 (The Java Series)

Javaエンジニア必読書です。中級者向け。Javaでの開発がある程度慣れてきたら手にとってみましょう。今までのコーディングから数段階レベルが上がるはずです。

初めて読む時は難解だと思われますが、各章が独立しているので、気になる章から少しずつ繰り返し読むのがコツです。最初から全てを読もうとすると進まなくなります。何度も何度も反芻して理解しましょう。これに勝るJavaの技術書を私は知りません。

JUnit実践入門

JUnit実践入門 ~体系的に学ぶユニットテストの技法 (WEB+DB PRESS plus)

JUnit実践入門 ~体系的に学ぶユニットテストの技法 (WEB+DB PRESS plus)

コーディングをする上でテストコードは必須です。JavaエンジニアであればテスティングフレームワークJUnitがメジャーでしょう。この書籍はテストコードの書き方からDBを使ったテストやパラメタライズテストなど、JUnitの機能が盛り沢山で紹介されています。JUnitを使うなら手元に置いておきましょう。

Javaエンジニア養成読本

Javaエンジニア養成読本 [現場で役立つ最新知識、満載!] (Software Design plus)

Javaエンジニア養成読本 [現場で役立つ最新知識、満載!] (Software Design plus)

Javaの歴史、Javaの言語仕様、Java8にJavaEE、チーム開発と薄い本に濃縮されています。プログラマーとして始めて読むには厳しいですが、Javaプロジェクトに慣れてきた頃合に読むと理解がぐっと深まるでしょう。

JavaScript

JavaScript

JavaScript 第6版

JavaScript 第6版

言わずと知れた「サイ本」。JavaScriptの言語仕様を抑えた一冊です。膨大なページ数ですが意外と読みやすいためにスラスラと読み進めることが出来ると思います。

JavaScript The GoodParts

JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス

JavaScript: The Good Parts ―「良いパーツ」によるベストプラクティス

こちらはサイ本と比べるとグッと薄い本になります。ですが薄い本の中にJavaScriptの言語仕様が簡潔に記載されており、非常にわかりやすい書籍です。また、噛めば噛むほど味が出るスルメのような本で、何度も読みなおすことで新しい発見があったりします。

プロジェクト管理

人月の神話

人月の神話【新装版】

人月の神話【新装版】

日本では特に顕著な人月換算でのプロジェクト管理について、警鐘を鳴らしている書籍です。マネジメントの感覚を掴むのは難しいですが、一読してみるとよいでしょう。

ピープルウェア

ピープルウエア 第3版

ピープルウエア 第3版

プロジェクトマネジメントにおいて正に理想。バイブルとする管理者も多い。日本ではまだまだこのような職場は少ないですが、10年20年後には大きく変わっているかもしれません。開発者がどのような環境を好むのか。自分にも当てはめてみると面白いでしょう。

技術者

リーダブルコード

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice)

より良いコードを書くにあたり参考になる書籍です。こちらも必読。

コードを書いているとどのように書けばよりわかりやすいか、可読性が高くなるか悩みながら書いていると思いますが、この書籍ではパターンとして挙げられているため、採用がしやすいと思われます。

リファクタリング

新装版 リファクタリング―既存のコードを安全に改善する― (OBJECT TECHNOLOGY SERIES)

新装版 リファクタリング―既存のコードを安全に改善する― (OBJECT TECHNOLOGY SERIES)

リファクタリングの手引書。どのような時にどのようなリファクタリングをするのか、ケース・バイ・ケースでしっかりと記載されています。今までなんとなくリファクタリングしていた箇所もこの本を読むことによりリファクタリングの方法について深く学ぶことが出来るでしょう。コード例がJavaで記載されているため、読みやすいでしょう。名著です。

ツール

チーム開発実践入門

チーム開発実践入門 ~共同作業を円滑に行うツール・メソッド (WEB+DB PRESS plus)

チーム開発実践入門 ~共同作業を円滑に行うツール・メソッド (WEB+DB PRESS plus)

プロジェクトはチームで開発することがほとんどです。チームで開発する上でバージョン管理ツール、チケット管理ツール継続的インテグレーションツールなど、様々なツールを使って開発をしていきます。(していないプロジェクトは品質が低く、柔軟性も無く、継続開発が非常に厳しいダメなプロジェクトです)

ツールごとに書籍が出ていますが、本書ではこれらツールを一通り説明されています。個人でもいいので自分のPCに構築してみるとイメージが掴みやすいでしょう。その際、仮想開発環境(VirtualBoxVagrantなど)を使ってみましょう。

GitHub実践入門

GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)

GitHub実践入門 ~Pull Requestによる開発の変革 (WEB+DB PRESS plus)

ソースコードバージョン管理システムとして、SubversionやGit、Mercurialなど色々ありますが、これからはGitがデファクトスタンダードになるつつあります。Gitの書籍を読むのもお勧めですが、この本はGitHubを使って手を動かしながらGitやGitHubを操作することができる良書です。

プログラマー以外の方でも触れるように説明してあるのでとっつきやすいでしょう。この本だけではGit自体の機能やコマンドは網羅されておりませんので、GitHubが使えるようになったらPro Gitで少しずつGitの使い方を覚えていきましょう。

Pro Git 日本語版電子書籍公開サイト

実践Vim

エディタであるVimの本です。Viの本は色々と出ていますが、この本ではVimの標準機能だけで様々な操作ができることが記述されています。また、手元で動かすコマンドも丁寧に記載されているので是非一度動かしてみてください。まさに魔法のようにテキストが編集できるでしょう。

たまたま私がVim派なのでこの本を推薦しましたが、他にもエディタはたくさんあります。色々と試してみましょう。仮想開発環境ではCUIを使うことが多いため、CUIに対応したviかemacsが定番となると思います。

エディタはプログラマーにとって職人の道具です。使いこなせば使いこなすほど面倒なことやたくさんのことが簡単にできるようになります。メモ帳で大丈夫、なんて言わないでください。

継続的インテグレーション入門

継続的インテグレーション入門

継続的インテグレーション入門

CIについての本です。当時はまだJenkins(hudson)などが出ていませんでしたが、今までの開発では何がダメで、継続的インテグレーションを採用すると何が嬉しいのかが説明されています。CIの概念を知るのにお勧めですが、他の本と比べると少し優先度は低いかもしれません。

以上

まだまだ紹介したい本はありますが、まずはこれらの本を手に取ってみてください。書籍は大量にあるため、全ての本を読むのは無理があります。そのため、Amazonなどでもレビュー数が多い&評価の高い本などを参考に書籍選びしてみてください。

当記事は随時更新していきます。