社会人4年目のエンジニアの自分にとって印象深い技術書10選

これまで読んだ技術書の中で印象深いものについてまとめてみます。
この記事を書こうとしたきっかけは、自分のこれまでの学習のまとめのためと、他のエンジニアの方の学習に少しでも参考になればと思ったためです。
それでは1年目から振り返っていきます。

1年目

プログラミング言語Java

Java研修の課題で読み、演習問題も全て解いた本。
この本の学習にはかなりの時間がかかったのですが、1つのプログラミング言語をしっかりと学ぶという意味で良い経験となりました。
ここで学んだ知識が、他の言語を学ぶ上でのベースとなっているように感じます。

2年目

Effective Java

EFFECTIVE JAVA 第2版 (The Java Series)

EFFECTIVE JAVA 第2版 (The Java Series)

  • 作者:Joshua Bloch
  • 発売日: 2014/03/11
  • メディア: 単行本(ソフトカバー)

これもJava研修の課題で読んだ本。
Javaのベストプラクティスだけでなく、API設計についても多くのことを学ぶことができました。

Java言語で学ぶデザインパターン入門

増補改訂版Java言語で学ぶデザインパターン入門

増補改訂版Java言語で学ぶデザインパターン入門

  • 作者:結城 浩
  • 発売日: 2004/06/19
  • メディア: 大型本

オブジェクト指向や設計について学ぶために読んだ本。
今でもクラス設計をする際に読み返すことが多いです。

Code Complete

各所でバイブルと呼ばれていたので興味を持った本。
良いコードの書き方だけでなく、ソフトウェア開発全体について多くの知見を得ることができました。

アプレンティスシップ・パターン

Java研修の講師の方の関連で読んだ本。
ソフトウェアエンジニアとしてどのように成長していくかについて大きく刺激を受けました。

3年目

Ruby On Railsチュートリアル

railstutorial.jp

Railsの生産性の高さや、Web業界での使用率の高さに惹かれて勉強してみようと思った本。
RailsでのWebアプリの作り方に加えて、Webアプリ開発で必要な多くの技術についても学ぶことができました。

珠玉のプログラミング

大学時代の友人と輪講を行った本。
アルゴリズムとデータ構造について学べたことに加え、広く知られたアルゴリズムだけにとらわれない、柔軟な手法についても学ぶことができました。

Linuxカーネル2.6解読室

Linuxカーネル2.6解読室

Linuxカーネル2.6解読室

Linuxの仕組みを知ることで、日々の開発やトラブルシューティングに役立てることができると思って読んだ本。
OSの仕組みについて細かく書かれており、かなり理解が深まりました。

Team Geek

HRT(謙虚、尊敬、信頼)の大切さを学び、自分の行動を顧みるきっかけとなりました。

4年目

Scala関数型デザイン&プログラミング

Scalaへの興味や関数型プログラミングの流行に乗って読んだ本。
難しい部分もあり全ては理解できなかったのですが、関数型プログラミングの主要な概念について学ぶことができました。
また、他のプログラミング言語を書くときにここで学んだ考え方を取り入れられるようになりました。

まとめ

この3年半で50冊以上の技術書を読んできましたが、本当に多くのことを学ぶ事ができ、仕事での開発や趣味の開発に役立てる事ができました。
今後は継続して学習を続けていくことに加え、アウトプットを出すことにももっと意識を向けていきたいです。