Javaエンジニア1〜3年目におすすめの本を紹介

スキルアップ
管理人
管理人

こんにちは、ブタエンジニアです。
今回はIT業界に入ってから主にJavaを扱ってきた私ですが、エンジニア1年目から3年目くらいの方に是非読んで欲しい本を紹介したいと思います。

Java言語

スッキリわかるJava入門 第3版 (スッキリシリーズ)

有名なスッキリシリーズのJava言語版。

Javaの基礎知識から始まり、文法全般から、クラスとインスタンス、継承、ポリモーフィズムといったオブジェクト思考に必須の要素をこれでもかというくらいに丁寧に説明されています。

ほかの入門書と違うのは説明の例えが秀逸で、初めてプログラミング言語に触れる方でも理解できるようになっているところ。
身近なロールプレイングゲームに例えて説明してくれるので、例えばフィールドの値がなぜ変わるのか、メソッドをオーバーライドするとどういう動きになるのかなどの説明をとてもわかりやすく教えてくれます。

また、「dokojava」というJavaの開発と実行を行えるクラウドサービスを利用できるので、自分で環境構築を行わなくてもJavaプログラミングを体験することができます。

スッキリわかる Java入門 実践編 第2版 (スッキリシリーズ)

さきほど紹介したスッキリシリーズJavaの実践編です。

実践編と書かれてある通り、実際に現場で使う必須の知識や技術について書かれています。
内容について大きく分けると

  • 各種APIの知識
  • 設計理論や開発ツール
  • チーム開発方法論や開発手法

となっています。

各種APIの知識では、文字列操作やコレクション、データベースの操作といった基礎的な知識について、
設計理論や開発ツールでは、javadoc、JUnit、バージョン管理システムといった現場で使うツールに加え、デザインパターンの説明、
チーム開発方法論や開発手法では、スクラムやエクストリーム・プログラミング(XP)を使ったアジャイル開発について書かれています。

実践編ではない方のすっきりJava入門から難易度が高くなっていますが、説明は相変わらず柔らかくてわかりやすいので途中で挫折するということはないと思います。

この本の内容までは知っておかないと業務レベルでは色々辛いと思うのでぜひ読み進めていって欲しいと思います。

Web基礎知識

「プロになるためのWeb技術入門」 ――なぜ、あなたはWebシステムを開発できないのか

webアプリケーション全般について書かれた良書。

「そもそもwebアプリケーションとは何か」から入り、インターネットの普及の経緯から説明されるので、今使っている技術がなぜ必要になったかなどを知ることで、より技術についての理解が深まる内容になっています。

メインの内容としては、

  • webアプリケーションで必須のHTTP、セッション、クッキーといった通信系
  • Java(章によってはPHP)とJSP・サーブレットを例にしたwebアプリケーションの作り方
  • フレームワークを使うことによる恩恵、セキュリティ全般

などなど。

初心者が読むにはややハードルが高いので、スッキリわかるJava入門の実践編まで読んだ後だと理解しやすいと思います。

Webを支える技術 -HTTP、URI、HTML、そしてREST (WEB+DB PRESS plus)

Webサービスの設計について学べる。webのアーキテクチャであるREST、URI、HTTPなどwebを理解する上で必須な知識をわかりやすく解説してくれる。

webサービスを作る上で土台となる知識を身につけられる縁の下の力持ち的な本。

JSP・サーブレット

スッキリわかる サーブレット&JSP入門 (スッキリシリーズ)

またもや登場、スッキリシリーズ。このシリーズはほんと外れがありません。

この本はJSPとサーブレットを使って簡単なwebアプリケーションを作りながらwebの仕組みを理解するという内容になっています。
フォーワード、リダイレクト、スコープなどの使い方やデータベースと接続する場合の設計の仕方などwebアプリケーションを作成する場合の基礎的な知識身に付けたい方におすすめです。

基礎からのサーブレット/JSP 新版 (プログラマの種シリーズ)

スッキリシリーズに比べ、JSP・サーブレットをより詳しく深く学べる本。
ある程度Webの知識がある方なら「スッキリわかる サーブレット&JSP入門」よりこちらを読んだほうが深く学べるので良いと思います。
内容はそこまで難しくないので、初めてJSP・サーブレット学ぶ方でもそこまで苦戦せずに読めると思います。ただスッキリシリーズのほうがより初心者向けです。

SQL

スッキリわかるSQL入門 第2版 ドリル222問付き! (スッキリシリーズ)

何度登場するのか、スッキリシリーズ。SQLでもこのシリーズは良書です。

SQLの基礎的な部分をわかりやすく説明してくれるのはもちろん、スッキリシリーズJava編でもあったように、「docoQL」いうクラウドサービスでSQLを自由に書くことができるので学んだことをすぐ実践できます。

そして練習問題が222問ついているのがとてもありがたい。
書籍でインプット→docoQLと練習問題でアウトプット」を繰り返すことで実力を駆け足で伸ばすことができます。

サーバー・ネットワーク

[改訂新版] 3分間ネットワーク基礎講座

TCP/IPといったプロトコル、LANとWAN、パケットなどネットワークの基礎について書かれた本。OSI参照モデルというデータ通信を7つの階層に分けたモデルを使ってネットワークについて丁寧に解説してくれます。
初心者がネットワーク専門の教授に質問する形で話が進んでいくので、始めてネットワークを学ぶ人でも理解しやすいと思います。

図解 サーバー 仕事で使える基本の知識 [改訂新版]

サーバー、ネットワーク周りについての本。

新人として開発現場に入ったばかりの頃はこういった知識はあまり気にしなかったのですが、プログラミングをするうえでサーバーがどんな動きをしているかなどを把握しておくのはとても重要です。
IPアドレスやMACアドレス、TCP/IPプロトコルといった基礎的なところから説明してくれるので初心者の方でもわかりやすいと思います。

セキュリティ関連の内容もあるのでネットワーク全般の知識をつけたい方におすすめです。

アルゴリズム

アルゴリズムを、はじめよう

基本情報試験でアルゴリズムを学ぶ必要があったため購入。

全部で9つの定番アルゴリズムを解説してくれるのですが、その解説がめちゃくちゃわかりやすい。
解説の仕方が、

解説内容

イラストを使いアルゴリズムの全体像をざっくり理解
⬇︎
流れ図で変数と値の流れを理解
⬇︎
疑似言語で全体の流れをおさらい&プログラムにしたときのイメージを理解

といった流れになっており、初心者でもすんなり頭に入る内容となっています。
また、アルゴリズムの入門書でよくある、「データ構造の説明から入る」ということがないのも理解しやすい一因となっています。

筆者いわく、アルゴリズムはデータ構造の説明で挫折する人が多いと感じたため、データ構造については変数と配列の説明にとどめ、アルゴリズムも変数と配列さえ理解できればOKな初心者用のアルゴリズムの解説となっています。

オブジェクト指向

オブジェクト指向でなぜつくるのか 第2版

「なぜオブジェクト指向が開発の現場で必要なのか」について書かれた本。この本ではオブジェクト指向を学ぶ上で初心者が混乱しがちな「現実世界をオブジェクト指向で再現する」について誤解を招く誤った認識だと書いてあります。

またオブジェクト指向以前の手続き型言語との違いについて詳しく説明されており、違いを知ることでなぜオブジェクト指向が必要なのかをより深く理解できる内容となっています。

デザイン

1冊ですべて身につくHTML & CSSとWebデザイン入門講座

Javaをやっているとデザインを扱うことはそれほど多くないかもしれませんが、自分が読んだHTML・CSSの本で一番わかりやすかったのがこの本です。HTMLとCSSの基礎について初心者でも理解できるようにわかりやすく説明されてるので、始めてHTML・CSSを触る人でもすんなり理解できるようになっています。
またWebサイトを1から作成する方法も書かれているので、自分でHPやオリジナルアプリを作成したい方にもおすすめです。

エンジニアの考え方・思考法

ドラッカーさんに教わった IT技術者のための50の考える力

エンジニアに必須の考える力を伸ばすためどんなことをどのように考えればいいのかについて書かれた本。
序盤では比較的簡単に取り組める内容が書かれており、ページを進めるにしたがってどんどんと内容が深く濃くなっていきます。そのため読み進めるほどに考える力が深まっていくことが実感できる内容となっています。また、実際にどういった行動をとれば考える力が身につくのかが具体的に書かれているため、読んだ後の行動も迷うことなく実行できるのも良い点でした。

その他

リーダブルコード

コードを読みやすく書くためのテクニックやノウハウが詰まった本。
変数の名前の付け方やロジックの改善、コードの再利用方法など実践的なテクニックが紹介されており非常に役に立ちます。
何よりタメになるのはテクニック的な部分もそうだが

読みやすいコードを書く

という意識が高まること。コード書く機会が増える2年目くらいから読み始めたい。

まとめ

自分が読んできた書籍の中で、新人エンジニアにおすすめのものを紹介してきました。

本屋さんに行くと、技術書で溢れ返っていてどれを選べばいいかわからないという方もいると思うので、ぜひ書籍選びの参考にしていただければと思います。

コメント