未経験から1年働きながら読んできた本

## はじめに
筆者は他業界から未経験でエンジニア職につきました。
Qiitaやtwitterを見てみると、1年前と比べてもまだまだエンジニアへの転職を考えている方が多いように思えたので、今回は約1年間で読んできた書籍の紹介を記載していきます。

このあたりの記事を参考にさせて頂きました。

[新卒入社後、約3年半で読んできた書籍たち](https://qiita.com/turmericN/items/5c09ce3b634c73c118e7)
[未経験から4年働きながら、読んでよかった読み物](https://qiita.com/Nao9syu/items/0bedec7a749ab2d8123a)

## 記載ルール
- ジャンル毎に分けて記載していきます
- 買った本、会社にあった本に加え、途中で挫折した本も記載しています
- URLは貼っていません
- 各書籍に関する所感コメントを記載しています
- 難易度(読んだ当時の私の印象で記載しています)
  - ★★★・・・かなり難しい
  - ★★☆・・・ある程度基礎があれば読める
  - ★☆☆・・・初学者でも読める
  - ？？？・・・挫折したため不明

## IT基本
### マスタリングTCP/IP(★★☆)
会社でお客さんのAWS環境を構築する仕事があり、当時は「IPアドレス範囲？なにそれ？」状態だったため購入。
会社にあったのは第2版で「IPアドレスがやがて枯渇する」的な記述があったため最新版を購入しました。内容的には難しいですが、体系的に非常によくまとまっている良書です。

### 3分間DNS基礎講座(★☆☆)
平易な文章で書かれており、タイトルにもあるように1セクションが3分で読めるため、スキマ時間や業務の合間の勉強に役立ちました。
イラストが多く、謎のキャラクター同士が対話する形で進行するため初学者でもイメージがつかみやすいと思います。

### キタミ式イラストIT塾 基本情報技術者 平成30年度(？？？)
入社直後に基本情報技術者を取ろうとして購入しました。
しかしすぐに業務が忙しくなり気がつけば1年が経過・・・分厚いですがタイトルの通りイラスト付きのため眠くなりにくかったです。

### Webを支える技術 - HTTP、URI、HTML、そしてREST(★☆☆)
入社後最初のプロジェクトが終わるか終わらないかくらいの頃に読みました。
一言でいうとWebシステムの実装に必要な知識が基礎から書かれている本です。
そもそもどうしてリクエスト・レスポンス形式のHTTPがここまで浸透したのかなど、エンジニアとして働いていくならば知っておくべき基礎の基礎から書かれたいるためオススメです。
ちなみに私はこの本を読んでから、会社の先輩達が何を話しているのかある程度ついていけるようになりました。

## コーディング
### 詳説 正規表現 第3版(？？？)
フロント側の入力チェックで正規表現を使うことがあり、興味をもったのですが途中で読まなくなりました。
つぎのGWにでも再チャレンジしたいと思っています。

## バックエンド
### 入門 Python3(★☆☆)
動物の絵でおなじみのオライリー・ジャパンの本です。
入社後、最初のプロジェクトでの言語がPythonだったため会社にあった本を読みました。
Pythonの記法と言語仕様を対話形式で学べるため、初めてPythonを触る方には特にオススメです。

### 現場で使えるDjango基礎(★★☆)
PythonのDjangoフレームワークを使う業務があったため購入しました。
Djangoは日本語ベースの記事や書籍が少ない中、技術同人誌の本書に行き着きました。Djangoの全容がつかめていない初学者の方から、ベストプラクティスが知りたい中級者の方を対象と書かれていますが、正直な所、初学者の自分には少々難しい内容ばかりで苦労しました。
それでも実務においては非常に助けになった本です。

### プロを目指す人のRuby入門(★☆☆)
通称チェリー本。
本格的に書店に並び出す前に知人から情報を聞きつけて予約購入しました。
「Railsは使えることけどRubyはわかんない」という、私のようなプログラミングスクール卒業生には特にオススメの本です。

### Ruby on Rails5 アプリケーションプログラミング(★☆☆)
初めて自作アプリケーションを完成させた後、更に知識を深めるために購入しました。
実は購入直後はほとんど読まずに忘れていたのですが、副業でRailsを書くことになり引っ張り出してきました。
イチから読み進めるというよりも、辞書的な使い方をしています。

### Go言語によるWebアプリケーション(★★☆)
またまた登場した動物の絵。
社内でプロジェクトを移動してGo言語を書くことになったときに写経しました。
静的型付け言語はGoが初めてだったのですが、この本のおかげでなんとかそこそこコードが読めるようになりました。
ただGoはGOPATHの設定やパッケージの扱いといった開発環境の構築難易度が非常に高いため、本以前の箇所でつまずくかもしれません。あと、記載内容が読みにく、本の通りに書いてもビルドエラーが発生したりしました。ある程度他の言語の経験がある方ならば問題ないのですが、初学者向けではないと思います。

## フロントエンド
### やさしくわかるモンダンJavaScript入門(★☆☆)
入社してからJavaScriptを書かざるを得ない状況に置かれたため読みました。
内容はきちんと「やさしくわかる」ようになっているため、一度読了してしまえばあとはググりながらJavaScriptを書けるようになると思います。

## SQL
### スッキリわかるSQL入門 ドリル215問付き！(★☆☆)
チームの上司が大手SIer出身の方で、SQL文に関する知識がないと話についていけないなと思い読みました。
登場人物同士の掛け合いが少々冗長な気はしますが、理解度をはかる章末問題がついているため「わかったつもり」で終わらない良書だと思います。

### RDB技術者のためのNoSQLガイド(？？？)
GCPのdatastoreやAmazon DynamoDBについて理解を深めるために買いました。
DBについての前提知識がないと読んでいても中身を理解できないと思います。RDBとNoSQLの違いくらいはなんとか理解できました。

## クラウド
### Amazon Web Service パターン別構築・運用ガイド(？？？)
「AWSをマスターしよう！」と意気込んで買ってはみたものの、ネットワークやサーバーの知識がゼロの状態ではちんぷんかんぷんですた。
少し後に読んでみたものの、後述の本のほうがわかりやすかったため最後まで読んでいません。

### Amazon Web Service 基礎からのネットワーク＆サーバー構築 改訂版(★★☆)
会社においてあり、先輩にオススメされた本です。
オンプレの知識はあるけどAWSは全く触ったことがない方には確かにオススメな内容でした。
この本で一通りハンズオンすればAWSの基礎知識は身につくと思います。ただし、セキュリティグループやIAMといったセキュリティまわりの内容が極端に薄かった気がします。

## IT読み物
### エンジニアとして世界の最前線で働く選択肢(★☆☆)
エンジニアならば誰でも一度は夢見るシリコンバレーについて知りたいと思い購入しました。
著者の生の経験が書かれており非常に刺激的な内容でしたが、「自分にアメリカは向いていないな」という感想を持ちました。

### エンジニアリング組織論への招待(★☆☆)
特に情報格差によって余計なコミュニケーションコストが発生する、という箇所が印象的でした。

### ブロックチェーン、AIで先を行くエストニアで見つけたつまらなくない未来(★☆☆)
技術的なことはほぼ触れず、エストニアという国への理解が深まる内容です。
海外からでも行政サービスを受けることができる点や、出生届が不要で諸々の手続きが完了させる点など、日本にも取り入れてくれるといいなぁと思えることが多く書かれています。

### プリンシパル・オブ・プログラミング(★☆☆)
コードを書く作業にも慣れてきたところで、バグの少ない読みやすいコードを書きたいと思い購入しました。
一度通読してからは、悩んだときにページを開くという使い方をしています。

## 終わりに
以上、ちと少ないかもしれませんが、私が1年間で読んだ書籍を記載しました。
少しでも参考になれば幸いです。

また、この書籍がオススメなどありましたらコメント頂けると嬉しいです。