Taste of Tech Topics

Acroquest Technology株式会社のエンジニアが書く技術ブログ

若手エンジニアが読んでおくべき10の技術書

あけましておめでとうございます。
本年も「Taste of Tech Topics」をよろしくお願いします。

こんばんは、ishida(@kojiisd)です。

本年一発目の投稿になりますね。

今回はちょっと趣向を変えて、タイトルにある通り
IT業界、特にSEとして1〜3年目の若手の間に読んでおくべき10冊を、
実際に読んだ感想とともに紹介しようと思います。
(他の技術書も載せた1〜6年目が読むべき完全版はこちらになります。参考にしてください。)

f:id:acro-engineer:20120101184745j:plain

なぜあなたはJavaでオブジェクト指向開発ができないのか
Javaの真髄「オブジェクト指向」についてじゃんけんゲームを例にとり
具体的に説明した数少ない良書です。
三大オブジェクト指向」と呼ばれ、各種大学での教科書にも採用されています。

f:id:acro-engineer:20120101184739j:plain

ずっと受けたかったソフトウェアエンジニアリングの授業1 増補改訂版
特に新人が読むべき一冊。SEは設計、プログラミングだけできていればOKなんていう人は、いずれ使えないSEとなるでしょう。ソフトウェアエンジニアリングについても学んでおく必要があります。本書は、新人の方からでも読めるように、大学の講義形式でソフトウェアエンジニアリングとは何か?について語っている書籍です。

f:id:acro-engineer:20120101184744j:plain

ネットワークはなぜつながるのか
SEたるものプログラムだけではなく、最低限ネットワークやデータベースにも詳しくなりましょう。本書はネットワークを学ぶ上で、基礎的な知識が網羅できる本です。

f:id:acro-engineer:20120101184742j:plain

SQL書き方ドリル
「SELECTとFROMとWHERE、どの順番で処理されているかわかりますか?」この問いに答えられない人は読むことを強くお勧めします。DBの仕組みを蜂の絵を用いて説明しながら、どのようにデータを検索するのか、演習ベースで読み進められる参考書です。

f:id:acro-engineer:20120101184740j:plain

良いコードを書く技術
「ちょっとはプログラミングに自信が出てきた」という人にお勧めします。読んでみて「普通のプログラマ」が語っていることと同じことをしているならば、まだまだ上が目指せる、ということです。ハイレベルの「達人プログラマ」になるために、その人たちが何を考えてプログラミングをしているのか、理解できる参考書になります。

f:id:acro-engineer:20120101184748j:plain

CleanCode
本書の始めで著者が書いている通り、紹介されている手法の全てが全プログラムに適用できるわけではない、取捨選択する必要があります。しかし、その言葉のもとに「すべてのメソッドは4行で記述できる」など、どこまでもストイックな内容を著者のポリシーに基づいて書ききっているところに好感が持てます。基礎ではなく、プロフェッショナル達が何を考えてプログラミングをしているのか知るのに良い参考書と言えます。

f:id:acro-engineer:20120101184741j:plain

UMLモデリングのエッセンス
マーティンファウラーが書いたUMLの参考書です。とはいえ、すべてのUML要素についてまんべんなく記載されているのではなく、著者が良いと思ったところを重点的に記述しているところがこの本の良いところです。「私はあまりこの要素に興味がないので・・・」と言ってとある要素の紹介を3行で説明を終えているあたりは、私としては好きですね。

増補改訂版Java言語で学ぶデザインパターン入門
デザインパターンを学ぶには本書がちょうどよいでしょう。ただし、アカデミックな内容が多く、実践をすることでデザインパターンの本当の良さがわかると思います。

f:id:acro-engineer:20120101184746j:plain

はじめての設計をやり抜くための本
「設計のための参考書」というと、とかく概念的な書籍が多く、「具体的に何をどうすればいいの?」と読み終わった後に思っている方も多いのではないでしょうか?本書は設計において何を考え、どうするのかを具体的に書いている参考書になります。最後の最後でWebアプリケーションを例にとって設計例を出してしまったテーマ選択の絞り方が個人的には残念ですが(^^;そこまでの「何をすべきか」という話には、実際に設計を経験した人が読んでも新しい発見があるのではないでしょうか。

f:id:acro-engineer:20120101184743j:plain

ソースコードリーディングから学ぶJavaの設計と実装
本書を読むに当たり、「UML」「デザインパターン」の知識が多少必要になります(が、今までどおりに読んでいれば大丈夫ですね^^)。本書は、オープンソースを題材としてそこで使われているデザインパターンや設計、実装テクニックを紹介している参考書になります。よく、「良いコードを読んで実装テクニックを学べ」と言われる若手エンジニアが多いと思いますが(私もそうでした^^;)何が良いコードなのか、わからないんですよね。本書はその先輩からのアドバイスへの答えになってくれる書籍だと思います。

いかがでしたか?あくまで私の個人的な10選ですので、合う人、合わない人、
他にもこんなのあるよ?などあるかと思いますが、本10選が若手エンジニアの方や
あるいはこれからSEを目指す学生さんの指針となれれば、幸いです。


では。