新卒1年目エンジニアが入社してから読んだ本

# はじめに
@chan_kakuです!
僕は今年から社会人になった新卒1年目のペーペーエンジニアなのですが、
自分なりに頑張ろうと様々な書籍を読んできました。
そんな本たち、そして著者の方々に敬意を評して紹介&感想等を書いていきたいと思います！
ここに紹介していないものもありますが、覚えている範囲で紹介していきます

## Java系
### [Java本格入門 ~モダンスタイルによる基礎からオブジェクト指向・実用ライブラリまで](https://www.amazon.co.jp/Java%E6%9C%AC%E6%A0%BC%E5%85%A5%E9%96%80-%E3%83%A2%E3%83%80%E3%83%B3%E3%82%B9%E3%82%BF%E3%82%A4%E3%83%AB%E3%81%AB%E3%82%88%E3%82%8B%E5%9F%BA%E7%A4%8E%E3%81%8B%E3%82%89%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91%E3%83%BB%E5%AE%9F%E7%94%A8%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA%E3%81%BE%E3%81%A7-%E8%B0%B7%E6%9C%AC-%E5%BF%83/dp/477418909X)
業務でJavaを使うということで、大学の演習レベルでしかJavaを使ったことなかった僕が初めてJavaの本を読みながら勉強した本です。この本はJavaチャンピオンの谷本さんが著者の１人となって書かれたものとなっています。
この本ではJava初心者はもちろん、Java8での新しい機能であるStreamについてとてもわかりやすくまとめてあり、初めてながら読みやすく、楽しくてついすぐに読み終えてしまったのを覚えています。

### [Effective Java 第3版](https://www.amazon.co.jp/Effective-Java-%E7%AC%AC3%E7%89%88-Joshua-Bloch/dp/4621303252/)
こちらは言わずと知れたEffective Javaシリーズの第3版となっています。
以前までのシリーズは英語版が出てから日本語版が出るまで時間がかかっていたので、諦めて英語版を買おうかと思っていたところ、すぐに日本語版が出たのでとても嬉しかったですし、助かりました。
この本はJavaを使う人にとっては必読本と呼ばれるほど大事な本だと思いますので、Javaを業務ないし趣味で使っている方でまだ読んだことがない方がいればぜひ読んでください！！

### [はじめてのSpring Boot―スプリング・フレームワークで簡単Javaアプリ開発](https://www.amazon.co.jp/%E3%81%AF%E3%81%98%E3%82%81%E3%81%A6%E3%81%AESpring-Boot%E2%80%95%E3%82%B9%E3%83%97%E3%83%AA%E3%83%B3%E3%82%B0%E3%83%BB%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AF%E3%81%A7%E7%B0%A1%E5%8D%98Java%E3%82%A2%E3%83%97%E3%83%AA%E9%96%8B%E7%99%BA-I%E3%83%BB-BOOKS-%E4%BF%8A%E6%98%8E/dp/4777519694)
そもそもSpringってなんやって思ってた自分でしたが、この本である程度はまとめてあり、Spring Bootを使って簡単なサンプルサプリを作るまでまとめてあります。
ただ、何もかも初めてだった自分にとってはよくわからない部分も多少あり、他のSpringの本などで勉強してから読むのが一番いいような感じでした！

## Kotlin
### [Kotlinイン・アクション](https://www.amazon.co.jp/Kotlin%E3%82%A4%E3%83%B3%E3%83%BB%E3%82%A2%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3-Dmitry-Jemerov/dp/4839961743)
Kotlinの本と言えばこれというほど有名な本だと思います。
こちらの翻訳には日本のkotlin界隈では有名な長澤太郎さんが担当されております。
こちらの本はJavaのデベロッパー向けに書かれた本であり、Javaを4月からやっていた自分にとってはとても読みやすい本でした。

### [Kotlin Webアプリケーション 新しいサーバサイドプログラミング](https://www.amazon.co.jp/Kotlin-Web%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3-%E6%96%B0%E3%81%97%E3%81%84%E3%82%B5%E3%83%BC%E3%83%90%E3%82%B5%E3%82%A4%E3%83%89%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-%E9%95%B7%E6%BE%A4-%E5%A4%AA%E9%83%8E/dp/4865940669/)
こちらもKotlinイン・アクションと同じく長澤太郎さんが書かれた本となっています。
KotlinはAndroidアプリ開発の言語としては有名ですが、サーバーサイドとしてKotlinを取り入れたかった自分にとってはとてもありがたい本でした。
入門系はもちろん、実際にアプリケーションを作るところまで学べるのですごいおすすめとなっています！

### [基本からしっかり身につくAndroidアプリ開発入門 Android Studio 3対応] (https://www.amazon.co.jp/%E5%9F%BA%E6%9C%AC%E3%81%8B%E3%82%89%E3%81%97%E3%81%A3%E3%81%8B%E3%82%8A%E8%BA%AB%E3%81%AB%E3%81%A4%E3%81%8FAndroid%E3%82%A2%E3%83%97%E3%83%AA%E9%96%8B%E7%99%BA%E5%85%A5%E9%96%80-Android-Studio-3%E5%AF%BE%E5%BF%9C-%E3%80%8C%E9%BB%92%E5%B8%AF%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%80%8D%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA/dp/479739580X/)
こちらはiPhoneユーザの自分が「せっかくKotlinを学んでいるのだからAndroidアプリも作ってみたいよね」という軽いノリで購入してみた本です。
タイトルにもあるようにそもそものKotlinの基本もありますが、Android特有の部分であったり普段サーバーサイドをやってる身からすればさっぱりな部分までとてもわかりやすくまとめてありました。
Androidアプリ開発を始めるならおすすめの本です！！

## Vue.js系
### [基礎から学ぶ Vue.js](https://www.amazon.co.jp/%E5%9F%BA%E7%A4%8E%E3%81%8B%E3%82%89%E5%AD%A6%E3%81%B6-Vue-js-mio/dp/4863542453/)
世間では猫本とも言われているVueの本です！
これが出た当時はVue.jsに関する本で体系的にまとめられている本があまりなく、ずっとドキュメントとにらめっこしていた頃でした。そんな時にこの本が出ると知った時はとても嬉しかったのを覚えています。
表紙がとても可愛い猫のイラストの特徴的な本であり、かつVueを全く触ったことのない人にとってもわかりやすい本であると感じました。僕はこの本によってVue力が上がったと言っても過言ではありません。

### [Vue.js入門 基礎から実践アプリケーション開発まで](https://www.amazon.co.jp/Vue-js%E5%85%A5%E9%96%80-%E5%9F%BA%E7%A4%8E%E3%81%8B%E3%82%89%E5%AE%9F%E8%B7%B5%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E9%96%8B%E7%99%BA%E3%81%BE%E3%81%A7-%E5%B7%9D%E5%8F%A3-%E5%92%8C%E4%B9%9F/dp/4297100916/)
こちらはVueのcoreチームメンバーの一人であり、vuejs-jpのオーガナイザーである川口さんを筆頭にVue界隈では有名な方々が一緒になって書かれた本です。
上の「基礎から学ぶ Vue.js」が出た後くらいから様々なVueについての本が出始め、ようやくきたかと思っていたのを覚えています。こちらは入門はもちろんのことよりコアな部分、実践的な部分に注力している印象でした。
個人的には猫本を読んだ後にこちらの本を読むとちょうどいいような感じです。
こちらの本もVueをやるのならぜひ読んでほしい本となっています。

### [Nuxt.jsビギナーズガイド―Vue.js ベースのフレームワークによるシングルページアプリケーション開発](https://www.amazon.co.jp/Nuxt-js%E3%83%93%E3%82%AE%E3%83%8A%E3%83%BC%E3%82%BA%E3%82%AC%E3%82%A4%E3%83%89%E2%80%95Vue-js-%E3%83%99%E3%83%BC%E3%82%B9%E3%81%AE%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AF%E3%81%AB%E3%82%88%E3%82%8B%E3%82%B7%E3%83%B3%E3%82%B0%E3%83%AB%E3%83%9A%E3%83%BC%E3%82%B8%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E9%96%8B%E7%99%BA-%E8%8A%B1%E8%B0%B7-%E6%8B%93%E7%A3%A8/dp/4863542569/)
こちらの本Nuxt.jsって聞いたことあるし、最近流行ってるなーくらいしかわかっていなく、ちょっとやってみようかなと思っていた時にちょうど出た本でした。
そもそもNuxt.jsってなんやねんって方や、実際にNuxt.jsを使ってアプリを作ってみたいという方にはぴったりの本だと思います。
## その他
### [アジャイルソフトウェア開発の奥義第2版](https://www.amazon.co.jp/%E3%82%A2%E3%82%B8%E3%83%A3%E3%82%A4%E3%83%AB%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E9%96%8B%E7%99%BA%E3%81%AE%E5%A5%A5%E7%BE%A9-%E7%AC%AC2%E7%89%88-%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E6%8C%87%E5%90%91%E9%96%8B%E7%99%BA%E3%81%AE%E7%A5%9E%E9%AB%84%E3%81%A8%E5%8C%A0%E3%81%AE%E6%8A%80-%E3%83%AD%E3%83%90%E3%83%BC%E3%83%88%E3%83%BBC%E3%83%BB%E3%83%9E%E3%83%BC%E3%83%81%E3%83%B3/dp/4797347783)
この本もなかなかに有名な本ではないでしょうか？
そもそも読むきっかけになったのはSpringの勉強をしている時でした。
そのころは「DIって何？」や「なんのためにDIするの？」とずっと思っていました。
そんな時先輩方におすすめされた本がこちらになっています。
こちらは結構なボリュームがあり一気に読むのはなかなかハードルが高いですが、僕は1週間に1章ずつ読み進めていって、それぞれの章についてまとめています。
個人的にはこのようにボリューミーな本は1週目では完全に全てを把握するのは無理だと思っていて、インデックスを増やすために読んでいます。
また、アジャイルってなにってところから、我々エンジニアが守るべき原則など様々なプラクティスが載っていてとても良本です！
これから何回も読んでいくことになるでしょう

### [リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック ](https://www.amazon.co.jp/%E3%83%AA%E3%83%BC%E3%83%80%E3%83%96%E3%83%AB%E3%82%B3%E3%83%BC%E3%83%89-%E2%80%95%E3%82%88%E3%82%8A%E8%89%AF%E3%81%84%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E6%9B%B8%E3%81%8F%E3%81%9F%E3%82%81%E3%81%AE%E3%82%B7%E3%83%B3%E3%83%97%E3%83%AB%E3%81%A7%E5%AE%9F%E8%B7%B5%E7%9A%84%E3%81%AA%E3%83%86%E3%82%AF%E3%83%8B%E3%83%83%E3%82%AF-Theory-practice-Boswell/dp/4873115655/)
これもとても有名な本ですね！
学生の頃までは、個人開発しかしたことがなかったので、命名などはそこまで考えたことがなく、実際に社会人になって一番最初に悩んだところだったような気がします。
この本を読む前と読んだ後では、結構命名に関しての考え方などが変わりました。
この辺りは言語には関係ないので、エンジニアの必読本と言えるでしょう

### [JUnit実践入門 ~体系的に学ぶユニットテストの技法](https://www.amazon.co.jp/JUnit%E5%AE%9F%E8%B7%B5%E5%85%A5%E9%96%80-%E4%BD%93%E7%B3%BB%E7%9A%84%E3%81%AB%E5%AD%A6%E3%81%B6%E3%83%A6%E3%83%8B%E3%83%83%E3%83%88%E3%83%86%E3%82%B9%E3%83%88%E3%81%AE%E6%8A%80%E6%B3%95-WEB-PRESS-plus/dp/477415377X/)
ユニットテストというものを初めて学んだ本となります。
そもそも、上にも書きましたが、学生までは個人開発しかしてこなかったので、品質担保と言ったところなど考えたことすらなかったですし、ユニットテストという言葉すらも聞いたことがありませんでした。
なので社会人になってからなぜテストするのかがいまいちピンときてませんでした。
しかし、この本で色々勉強をしていく中でユニテの大切さが知れたり、特定のテスティングライブラリによらない考え方みたいなところはこの本で学べたかなと思っています。
ユニテについてもっといい本を知っている方がいれば教えていただきたいです！

### [Web API: The Good Parts](https://www.amazon.co.jp/Web-API-Parts-%E6%B0%B4%E9%87%8E-%E8%B2%B4%E6%98%8E/dp/4873116864/)
少し古い本ですが、こちらも言わずと知れた名本ですね。
APIってなにってところからよりコアな部分までとても読みやすいです！
APIを作る側のエンジニアも、そうではなく使うだけのエンジニアもぜひ読んでほしい本となっています

## 終わりに
最初にも書きましたが、4月から読んできたものはこれだけではありません。
しかし、これらの本は僕の考え方を変えてくれたり、色々な手助けをしてくれました。
現在進行形で読んでいる本などまだまだありますが、もっともっと勉強していかなければならないと日々思っています！
inputだけでなくこれからはoutputもいっぱいしていきますのでよろしくお願いします！