【Webエンジニアど素人から３年生ぐらいになるまでに読むと良い本】を段階的にまとめた

#これってなんなの？
**【ど素人状態＝社会人になって初めてプログラミングを勉強したぜ！（特に新卒）】〜【Webエンジニアの３年生ぐらい】になるまでに読むと良い本まとめです。「どんな目的で学ぶか？」*「いつぐらいまでに読むといいか？」を段階的にまとめました。**「これだけ読めばいい！」と、そんな簡単な話ではありませんが、「今いるレベルより少し上の人がどんなジャンルのことを学んでんだろ？」という方の参考になれば嬉しいです。過去の自分に向けてでもあります、自戒。これからWebエンジニアになる人、なって間もない人の参考になれば幸いですm(__)m

※続編
[【Webエンジニアど素人】が【3〜4年生】くらいになったら読むといい本を目的別にまとめた ](https://qiita.com/JunyaShibato/items/59743191e4883bc1c517)

# ”Webエンジニアど素人から３年生ぐらいになるまでに読むと良い本”の段階的まとめ（一部外部記事あり）
## ど素人の方々が手を動かしながら１〜６ヶ月以内に学ぼう！
### ◆<font color="Blue">どの職種のエンジニアも全員学ぼう！</font>
#### 「プログラムを動作させることができるレベルになろう！」
* [たのしいRuby](https://www.amazon.co.jp/%E3%81%9F%E3%81%AE%E3%81%97%E3%81%84Ruby-%E7%AC%AC5%E7%89%88-%E9%AB%98%E6%A9%8B-%E5%BE%81%E7%BE%A9/dp/4797386290)
* [アジャイル時代のオブジェクト脳のつくり方 Rubyで学ぶ究極の基礎講座](https://www.amazon.co.jp/dp/4798134651/)
* [現場で使える Ruby on Rails 5速習実践ガイド](https://www.amazon.co.jp/%E7%8F%BE%E5%A0%B4%E3%81%A7%E4%BD%BF%E3%81%88%E3%82%8B-Ruby-Rails-5%E9%80%9F%E7%BF%92%E5%AE%9F%E8%B7%B5%E3%82%AC%E3%82%A4%E3%83%89-%E5%A4%A7%E5%A0%B4%E5%AF%A7%E5%AD%90/dp/4839962227/)

#### 「SQLの基礎を理解して、操作できるレベルになろう！」
* [ゼロからはじめるデータベース操作 (プログラミング学習シリーズ) ](https://www.amazon.co.jp/SQL-%E7%AC%AC2%E7%89%88-%E3%82%BC%E3%83%AD%E3%81%8B%E3%82%89%E3%81%AF%E3%81%98%E3%82%81%E3%82%8B%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E6%93%8D%E4%BD%9C-%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0%E5%AD%A6%E7%BF%92%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-%E3%83%9F%E3%83%83%E3%82%AF/dp/4798144452/)

#### 「HTML/CSS/JSの基本的な記法とそれぞれの役割を理解したレベルになろう！」
* [これからWebをはじめる人のHTML&CSS、JavaScriptのきほんのきほん](https://www.amazon.co.jp/%E3%81%93%E3%82%8C%E3%81%8B%E3%82%89Web%E3%82%92%E3%81%AF%E3%81%98%E3%82%81%E3%82%8B%E4%BA%BA%E3%81%AEHTML-CSS%E3%80%81JavaScript%E3%81%AE%E3%81%8D%E3%81%BB%E3%82%93%E3%81%AE%E3%81%8D%E3%81%BB%E3%82%93-%E3%81%9F%E3%81%AB%E3%81%90%E3%81%A1%E3%81%BE%E3%81%93%E3%81%A8/dp/4839959714)

#### 「Linux基本操作を身につけたレベルになろう！」
* [Linux標準教科書](https://linuc.org/textbooks/linux/)
* [Linuxコマンドポケットリファレンス](https://www.amazon.co.jp/dp/B00Z5OCH1G/)

#### 「他人が読めるコードをかけるレベルになろう！」
* [リーダブルコード](https://www.amazon.co.jp/dp/4873115655)

#### 「アルゴリズムとデータ構造を最低限理解したレベルになろう！」
* [プログラマ脳を鍛える数学パズル シンプルで高速なコードが書けるようになる70問](https://www.amazon.co.jp/dp/B016QEE30G)

#### 「Webエンジニアとして働くなら絶対使う・・・学ぼう！」
* [GitHub実践入門 ~Pull Requestによる開発の変革](https://www.amazon.co.jp/GitHub%E5%AE%9F%E8%B7%B5%E5%85%A5%E9%96%80-Pull-Request%E3%81%AB%E3%82%88%E3%82%8B%E9%96%8B%E7%99%BA%E3%81%AE%E5%A4%89%E9%9D%A9-PRESS-plus/dp/477416366X/)

## １年〜２年以内に頑張って学ぼう！　
※ここからは、学ぶ分野の全体感、概要を把握して、人に応じて挫折しないように理解や学びの濃淡はつけた方が良いと思います。
### ◆<font color="Blue">どの職種のエンジニアも全員学ぼう！</font>
#### 「基礎的な知識を身につけたレベルになろう！」
* [基本情報技術者 合格教本](https://www.amazon.co.jp/dp/4297101939/)
* [応用情報技術者 合格教本](https://www.amazon.co.jp/dp/4297101971/)

#### 「オブジェクト指向言語について何がありがたいのか？を説明、理解をしているレベルになろう！」
* [オブジェクト指向でなぜつくるのか](https://www.amazon.co.jp/dp/4822284654/)
* [Effective Ruby](https://www.amazon.co.jp/dp/4798139823)
* [オブジェクト指向設計実践ガイド　～Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方](https://www.amazon.co.jp/dp/B01L8SEVYI/)

#### 「RDBの仕組みについての基礎知識・SQLの基本的な書き方を身につけたレベルになろう！」
* [達人に学ぶ SQL徹底指南書](https://www.amazon.co.jp/dp/B00DIM6330)
* [達人に学ぶDB設計 徹底指南書](https://www.amazon.co.jp/%E9%81%94%E4%BA%BA%E3%81%AB%E5%AD%A6%E3%81%B6DB%E8%A8%AD%E8%A8%88-%E5%BE%B9%E5%BA%95%E6%8C%87%E5%8D%97%E6%9B%B8-%E3%83%9F%E3%83%83%E3%82%AF-ebook/dp/B00EE1XPAI)
* [基礎からのMySQL](https://www.amazon.co.jp/%E5%9F%BA%E7%A4%8E%E3%81%8B%E3%82%89%E3%81%AEMySQL-%E7%AC%AC3%E7%89%88-%E5%9F%BA%E7%A4%8E%E3%81%8B%E3%82%89%E3%82%B7%E3%83%AA%E3%83%BC%E3%82%BA-%E8%A5%BF%E6%B2%A2-%E5%A4%A2%E8%B7%AF/dp/4797393114)
* [SQLアンチパターン](https://www.amazon.co.jp/SQL%E3%82%A2%E3%83%B3%E3%83%81%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3-Bill-Karwin/dp/4873115892)

#### 「Linuxの仕組みについて基礎的な知識を身につけたレベルになろう！」
* [Linuxサーバー構築標準教科書](https://linuc.org/textbooks/server/)
* [詳解 シェルスクリプト](https://www.amazon.co.jp/dp/4873112672/)

#### 「インフラ・ミドルウェアに関する基礎的な知識を身につけたレベルになろう！」
* [実践! CentOS 7 サーバー徹底構築](https://www.amazon.co.jp/dp/4800711967/ref=cm_sw_em_r_mt_dp_U_jLE.CbCBZV8T9)
* [Linuxシステム管理標準教科書](https://linuc.org/textbooks/admin/)
* [Amazon Web Services 基礎からのネットワーク&サーバー構築](https://www.amazon.co.jp/dp/4822237443/)

#### 「自動テストについて基礎的な知識を身につけたレベルになろう！」
* [テスト駆動開発](https://www.amazon.co.jp/dp/4274217884/)
* [Everyday Rails - RSpecによるRailsテスト入門](https://leanpub.com/everydayrailsrspec-jp)

#### 「アジャイルの基礎知識を身につけたレベルになろう！」（技術マネジメントを理解）
* [アジャイルサムライ−達人開発者への道](https://www.amazon.co.jp/dp/4274068560)
* [アジャイルプラクティス 達人プログラマに学ぶ現場開発者の習慣](https://www.amazon.co.jp/dp/4274066940)

#### 「エンジニアとして自立するために基本的な考え方を身につけたレベルになろう！」（心得的なもの）
* [ハッカーと画家 コンピュータ時代の創造者たち](https://www.amazon.co.jp/dp/4274065979)
* [達人プログラマー 職人から名匠への道](https://www.amazon.co.jp/dp/427421933X/)
* [UNIXという考え方―その設計思想と哲学](https://www.amazon.co.jp/dp/4274064069)

#### 「良いお作法の基礎的な知識を身につけたレベルになろう！」
* [プログラミング作法](https://www.amazon.co.jp/dp/4048930524/)

#### 「要件定義とは何か？非機能要件とは何か？基本的な考え方を身につけているレベルになろう！」
* [だまし絵を描かないための-- 要件定義のセオリー](https://www.amazon.co.jp/%E3%81%A0%E3%81%BE%E3%81%97%E7%B5%B5%E3%82%92%E6%8F%8F%E3%81%8B%E3%81%AA%E3%81%84%E3%81%9F%E3%82%81%E3%81%AE-%E8%A6%81%E4%BB%B6%E5%AE%9A%E7%BE%A9%E3%81%AE%E3%82%BB%E3%82%AA%E3%83%AA%E3%83%BC-%E8%B5%A4-%E4%BF%8A%E5%93%89/dp/4865940685)

* [[入門+実践]要求を仕様化する技術・表現する技術 -仕様が書けていますか?](https://www.amazon.co.jp/%E6%94%B9%E8%A8%82%E7%AC%AC2%E7%89%88-%E5%85%A5%E9%96%80-%E5%AE%9F%E8%B7%B5-%E8%A6%81%E6%B1%82%E3%82%92%E4%BB%95%E6%A7%98%E5%8C%96%E3%81%99%E3%82%8B%E6%8A%80%E8%A1%93%E3%83%BB%E8%A1%A8%E7%8F%BE%E3%81%99%E3%82%8B%E6%8A%80%E8%A1%93-%E4%BB%95%E6%A7%98%E3%81%8C%E6%9B%B8%E3%81%91%E3%81%A6%E3%81%84%E3%81%BE%E3%81%99%E3%81%8B/dp/4774142573)


#### 「Webアプリケーションの脆弱性を理解し、対策する知識を身につけたレベルになろう！」
* [体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 脆弱性が生まれる原理と対策の実践](https://www.amazon.co.jp/%E4%BD%93%E7%B3%BB%E7%9A%84%E3%81%AB%E5%AD%A6%E3%81%B6-%E5%AE%89%E5%85%A8%E3%81%AAWeb%E3%82%A2%E3%83%97%E3%83%AA%E3%82%B1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9-%E7%AC%AC2%E7%89%88-%E8%84%86%E5%BC%B1%E6%80%A7%E3%81%8C%E7%94%9F%E3%81%BE%E3%82%8C%E3%82%8B%E5%8E%9F%E7%90%86%E3%81%A8%E5%AF%BE%E7%AD%96%E3%81%AE%E5%AE%9F%E8%B7%B5-%E5%BE%B3%E4%B8%B8/dp/4797393165/)

#### 「テスト設計の基本的な考え方を身につけているレベルになろう！」
* [知識ゼロから学ぶソフトウェアテスト](https://www.amazon.co.jp/%E7%9F%A5%E8%AD%98%E3%82%BC%E3%83%AD%E3%81%8B%E3%82%89%E5%AD%A6%E3%81%B6%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%83%86%E3%82%B9%E3%83%88-%E3%80%90%E6%94%B9%E8%A8%82%E7%89%88%E3%80%91-%E9%AB%98%E6%A9%8B%E5%AF%BF%E4%B8%80-ebook/dp/B00HQ7S5CA/)
* [はじめて学ぶソフトウェアのテスト技法](https://www.amazon.co.jp/%E3%81%AF%E3%81%98%E3%82%81%E3%81%A6%E5%AD%A6%E3%81%B6%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%81%AE%E3%83%86%E3%82%B9%E3%83%88%E6%8A%80%E6%B3%95-%E3%83%AA%E3%83%BC-%E3%82%B3%E3%83%BC%E3%83%97%E3%83%A9%E3%83%B3%E3%83%89-ebook/dp/B00HE8082Q/)

#### 「コンピュータが動くメカニズムを最低限理解するレベルになろう！」
* [コンピュータはなぜ動くのか～知っておきたいハードウエア＆ソフトウエアの基礎知識](https://www.amazon.co.jp/dp/4822281655)

### ◆<font color="Blue">ここからはフロントエンジニア、バックエンジニアやQA寄りの人</font>
#### 「効率の良いアルゴリズムとはなんなのかを理解し、それぞ実際のコードに対して反映することができるレベルになろう！」
* [珠玉のプログラミング 本質を見抜いたアルゴリズムとデータ構造](https://www.amazon.co.jp/%E7%8F%A0%E7%8E%89%E3%81%AE%E3%83%97%E3%83%AD%E3%82%B0%E3%83%A9%E3%83%9F%E3%83%B3%E3%82%B0-%E6%9C%AC%E8%B3%AA%E3%82%92%E8%A6%8B%E6%8A%9C%E3%81%84%E3%81%9F%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0%E3%81%A8%E3%83%87%E3%83%BC%E3%82%BF%E6%A7%8B%E9%80%A0-%E3%82%B8%E3%83%A7%E3%83%B3%E3%83%BB%E3%83%99%E3%83%B3%E3%83%88%E3%83%AA%E3%83%BC/dp/4621066072/)

#### 「適切なクラス設計ができるレベルになろう！」
* [Java言語で学ぶデザインパターン入門](https://www.amazon.co.jp/dp/4797327030)
* [オブジェクト指向における再利用のためのデザインパターン](https://www.amazon.co.jp/dp/4797311126/)
* [Java言語で学ぶデザインパターン入門 マルチスレッド編](https://www.amazon.co.jp/Java%E8%A8%80%E8%AA%9E%E3%81%A7%E5%AD%A6%E3%81%B6%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3%E5%85%A5%E9%96%80-%E3%83%9E%E3%83%AB%E3%83%81%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89%E7%B7%A8-%E7%B5%90%E5%9F%8E-%E6%B5%A9/dp/4797319127)
* [レガシーコード改善ガイド](https://www.amazon.co.jp/dp/4798116831/)
* [Webアプリケーション設計・実装のためのフレームワーク活用の技術](https://www.amazon.co.jp/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%E8%A8%AD%E8%A8%88%E3%83%BB%E5%AE%9F%E8%A3%85%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AE%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AF%E6%B4%BB%E7%94%A8%E3%81%AE%E6%8A%80%E8%A1%93-%E5%8F%A4%E5%B7%9D-%E6%AD%A3%E5%AF%BF/dp/4798115789/)
* [Webを支える技術 -HTTP、URI、HTML、そしてREST](https://www.amazon.co.jp/dp/4774142042/)
* [Web API: The Good Parts](https://www.amazon.co.jp/dp/4873116864/)


※ちょいここ欲張りすぎ感あるかも…

#### 「フレームワークも大事だけど、JavaScriptの基礎を理解したレベルになろう！」
* [JavaScript本格入門 ~モダンスタイルによる基礎から現場での応用まで](https://www.amazon.co.jp/dp/477418411X/)

#### 「UI/UXの基本ルールを理解したレベルになろう！」
* [ノンデザイナーズ・デザインブック](https://www.amazon.co.jp/dp/4839928401)
* [超明快 Webユーザビリティ ―ユーザーに「考えさせない」デザインの法則](https://www.amazon.co.jp/dp/4802510314)

#### 「サービスの作り方について基本的な考え方を身につけたレベルになろう！」
* [リーン・スタートアップ](https://www.amazon.co.jp/dp/4822248976)

### ◆<font color="Blue">ここからはインフラエンジニアやSRE寄りの人</font>
#### 「基本的な運用知識を身につけているレベルになろう！」
* [最適コストで安定運用！モデルケースで紐解く「システム運用管理」の勘どころ　＊書籍ではなくWebサイトです。](https://www.arksystems.co.jp/closeupit/operationmgmnt/)

#### 「TCP/IPの基本的な知識を身につけているレベルになろう！」
* [3分間NetWorking　＊書籍ではなくWebサイトです。](http://www5e.biglobe.ne.jp/%257eaji/3min/)
* [マスタリングTCP/IP 入門編](https://www.amazon.co.jp/dp/4274068765/)

#### 「仮想技術を理解して基本的な知識を身につけたレベルになろう！」
* [仮想化の基本と技術](https://www.amazon.co.jp/dp/4798123706)　＊古いので以下のほうがいいかも。
* [ネットワーク仮想化～基礎からすっきりわかる入門書](https://www.amazon.co.jp/%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E4%BB%AE%E6%83%B3%E5%8C%96%EF%BD%9E%E5%9F%BA%E7%A4%8E%E3%81%8B%E3%82%89%E3%81%99%E3%81%A3%E3%81%8D%E3%82%8A%E3%82%8F%E3%81%8B%E3%82%8B%E5%85%A5%E9%96%80%E6%9B%B8%EF%BD%9E-%E6%B8%A1%E8%BE%BA%E5%92%8C%E5%BD%A6-ebook/dp/B014UEFZ3S/)

#### 「Linuxの最低限のセキュリティ知識を身につけているレベルになろう！」
* [Linuxセキュリティ標準教科書](https://linuc.org/textbooks/security/)


## ２年〜３年以内に頑張って学ぼう！
### ◆<font color="Blue">どの職種のエンジニアも全員学ぼう！</font>
#### 「テーブル設計に合わせて、SQLをちゃんとかけるレベルになろうね！]
* [理論から学ぶデータベース実践入門](https://www.amazon.co.jp/dp/4774171972)
* [Elasticsearch実践ガイド](https://www.amazon.co.jp/dp/4295003913/)

#### 「開発〜運用に必要な、ミドルウェアの知識を身につけるレベルになろう！」
* [プログラマのためのDocker教科書](https://www.amazon.co.jp/dp/4798153222/)
* [初めてのAnsible](https://www.amazon.co.jp/dp/4873117658)
* [Jenkins実践入門](https://www.amazon.co.jp/dp/4774189286/ref=cm_sw_em_r_mt_dp_U_KLgaDb5GTNQF4)

#### 「チームとして実施される開発手法を理解し、メンバーとして適切な実践ができるレベルになろう！」（技術マネジメントを理解）
* [エンジニアリング組織論への招待 ~不確実性に向き合う思考と組織のリファクタリング](https://www.amazon.co.jp/%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%83%AA%E3%83%B3%E3%82%B0%E7%B5%84%E7%B9%94%E8%AB%96%E3%81%B8%E3%81%AE%E6%8B%9B%E5%BE%85-%E4%B8%8D%E7%A2%BA%E5%AE%9F%E6%80%A7%E3%81%AB%E5%90%91%E3%81%8D%E5%90%88%E3%81%86%E6%80%9D%E8%80%83%E3%81%A8%E7%B5%84%E7%B9%94%E3%81%AE%E3%83%AA%E3%83%95%E3%82%A1%E3%82%AF%E3%82%BF%E3%83%AA%E3%83%B3%E3%82%B0-%E5%BA%83%E6%9C%A8-%E5%A4%A7%E5%9C%B0/dp/4774196053)
* [ピープルウエア](https://www.amazon.co.jp/dp/4822285243)
* [Joel on Software](https://www.amazon.co.jp/dp/4274066304)
* [アジャイルな見積りと計画づくり](https://www.amazon.co.jp/dp/4839924023)

#### 「サービスの分析についての基本的な知識を身につけるレベルになろう！」
* [Lean Analytics ―スタートアップのためのデータ解析と活用法](https://www.amazon.co.jp/dp/4873117119)
* [データ解析の実務プロセス入門](https://www.amazon.co.jp/dp/4627817711)

####　「組織の技術的なリスクを把握。マネジメントと協力し、運営に改善提案できるレベルになろう！」
* [熊とワルツを - リスクを愉しむプロジェクト管理](https://www.amazon.co.jp/dp/4822281868)
* [人月の神話](https://www.amazon.co.jp/dp/4621066080)

### ◆<font color="Blue">ここからはフロントエンジニア、バックエンジニアやQA寄りの人</font>
#### 「基本的なフレームワークと設計思想を身につけた（MVVM, Reduxなど）レベルになろう！」
* [JavaScript フレームワーク入門](https://www.amazon.co.jp/dp/B079Z268T8/)
* [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/)
* [CSS設計の教科書](https://www.amazon.co.jp/dp/B00M0ESXUI/)

#### 「自動テストの応用レベルの知識を身につけたレベルになろう！」
* [実践テスト駆動開発](https://www.amazon.co.jp/dp/4798124583)
* [レガシーソフトウェア改善ガイド](https://www.amazon.co.jp/dp/4798145149/)

#### 「言語について複数パラダイムの理解と特徴を捉えているレベルになろう！」
* [Rubyのしくみ](https://www.amazon.co.jp/dp/4274050653/ref=cm_sw_em_r_mt_dp_U_p0DaDb3GHQ8QC)
* [プログラミング言語C](https://www.amazon.co.jp/dp/4320026926)
* [プログラミングHaskell](https://www.amazon.co.jp/dp/4274067815)
* [Scalaスケーラブルプログラミング](https://www.amazon.co.jp/dp/4844381490)

#### 「堅牢なシステムを作るための手法について理解できているレベルになろう！」
* [CODE COMPLETE  上 完全なプログラミングを目指して](https://www.amazon.co.jp/dp/489100455X)
* [CODE COMPLETE  下 完全なプログラミングを目指して](https://www.amazon.co.jp/dp/4891004568)

#### 「フレームワークやライブラリを適切に利用することができるレベルになろう！」
* [コーディングを支える技術 ~成り立ちから学ぶプログラミング作法](https://www.amazon.co.jp/dp/477415654X)
* [リファクタリング―既存のコードを安全に改善する](https://www.amazon.co.jp/%E3%83%AA%E3%83%95%E3%82%A1%E3%82%AF%E3%82%BF%E3%83%AA%E3%83%B3%E3%82%B0%E2%80%95%E6%97%A2%E5%AD%98%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E3%82%92%E5%AE%89%E5%85%A8%E3%81%AB%E6%94%B9%E5%96%84%E3%81%99%E3%82%8B%E2%80%95-OBJECT-TECHNOLOGY-Martin-Fowler/dp/427405019X/)
* [Code Reading ~オープンソースから学ぶソフトウェア開発技法~](https://www.amazon.co.jp/dp/4839956693/)

#### 「正しいアルゴリズムを選択し、実装ができるレベルになろう！」
* [アンダースタンディング コンピュテーション ―単純な機械から不可能なプログラムまで](https://www.amazon.co.jp/dp/487311697X)

#### 「UI/UXの正しい知識をもった上で、改善提案することができるレベルになろう！」
* [インタフェースデザインの心理学 ―ウェブやアプリに新たな視点をもたらす100の指針](https://www.amazon.co.jp/dp/4873115574)
* [UXデザインの教科書](https://www.amazon.co.jp/dp/4621300377/)


### ◆<font color="Blue">ここからはインフラエンジニアやSRE寄りの人</font>
#### 「全体のアーキテクチャを考える上で、インフラとMWの必要な知識を身につけているレベルになろう！」
* [[24時間365日] サーバ/インフラを支える技術 ‾スケーラビリティ、ハイパフォーマンス、省力運用](https://www.amazon.co.jp/dp/4774135666/)
* [[Web開発者のための]大規模サービス技術入門 ―データ構造、メモリ、OS、DB、サーバ/インフラ](https://www.amazon.co.jp/dp/4774143073)

#### 「サーバ構成の理解、構築〜運用ができるレベルになろう！」
* [インフラ/ネットワークエンジニアのためのネットワーク技術&設計入門](https://www.amazon.co.jp/dp/4797373512/)
* [絵で見てわかるITインフラの仕組み](https://www.amazon.co.jp/dp/4798125733)

#### 「運用管理の基礎知識を身につけているレベルになろう！」
* [IT Service Management教科書 ITIL ファンデーション](https://www.amazon.co.jp/dp/4798125709/)
* [ITIL入門 ITサービスマネージメントの仕組みと活用](https://www.amazon.co.jp/dp/4881666223/)

#### 「サーバの基本的なトラブルシュートを一人で実施ができるレベルになろう！」
* [プロのためのLinuxシステム構築・運用技術](https://www.amazon.co.jp/%E6%94%B9%E8%A8%82%E6%96%B0%E7%89%88-%E3%83%97%E3%83%AD%E3%81%AE%E3%81%9F%E3%82%81%E3%81%AELinux%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E6%A7%8B%E7%AF%89%E3%83%BB%E9%81%8B%E7%94%A8%E6%8A%80%E8%A1%93-Software-Design-plus/dp/4774184268/)
* [プロのための Linuxシステム・10年効く技術](https://www.amazon.co.jp/dp/4774151432/)

#### 「Webサービス稼働に必要な環境構築ができるレベルになろう！」
* [エキスパートのためのMySQL[運用+管理]トラブルシューティングガイド](https://www.amazon.co.jp/dp/4774142948)
* [Elasticsearch実践ガイド](https://www.amazon.co.jp/dp/4295003913/)
* [30分NetWorkng ＊書籍ではなくWebサイトです。](http://www5e.biglobe.ne.jp/%257eaji/30min/index.html)
* [ネットワークエンジニアとして ＊書籍ではなくWebサイトです。](https://www.infraexpert.com/)

#### 「仮想技術を理解・運用することができるレベルになろう！」
* [Docker 実践ガイド](https://www.amazon.co.jp/Docker%E5%AE%9F%E8%B7%B5%E3%82%AC%E3%82%A4%E3%83%89-%E7%AC%AC2%E7%89%88-impress-top-gear/dp/4295005525/)

#### 「クラウドを運用することができるレベルになろう！」
* [クラウド開発徹底攻略](https://www.amazon.co.jp/dp/4774180955)
* [Amazon Web Servicesクラウドデザインパターン設計ガイド](https://www.amazon.co.jp/Amazon-Services%E3%82%AF%E3%83%A9%E3%82%A6%E3%83%89%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3%E8%A8%AD%E8%A8%88%E3%82%AC%E3%82%A4%E3%83%89-%E6%94%B9%E8%A8%82%E7%89%88%EF%BC%88%E6%97%A5%E7%B5%8CBP-Next-ICT%E9%81%B8%E6%9B%B8%EF%BC%89-ebook/dp/B0126HZGP8/)
* [Amazon Web Services 基礎からのネットワーク＆サーバー構築](https://www.amazon.co.jp/Amazon-Web-Services-%E5%9F%BA%E7%A4%8E%E3%81%8B%E3%82%89%E3%81%AE%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%EF%BC%86%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E6%A7%8B%E7%AF%89-%E6%94%B9%E8%A8%82%E7%89%88-ebook/dp/B06Y5ZSYY4/)

#### 「脆弱性診断（テスト）ができるレベルになろう！」
* [サイバーセキュリティテスト完全ガイド ~Kali Linuxによるペネトレーションテスト~](https://www.amazon.co.jp/dp/4839959552)

## ３年目くらいに頑張って学ぼう！
### 今後整理、追加します…
#### 「アーキテクチャを理解できるレベルになろう！」
* [Clean Architecture 達人に学ぶソフトウェアの構造と設計](https://www.amazon.co.jp/Clean-Architecture-%E9%81%94%E4%BA%BA%E3%81%AB%E5%AD%A6%E3%81%B6%E3%82%BD%E3%83%95%E3%83%88%E3%82%A6%E3%82%A7%E3%82%A2%E3%81%AE%E6%A7%8B%E9%80%A0%E3%81%A8%E8%A8%AD%E8%A8%88-Robert-C-Martin/dp/4048930656)
* [ビューティフルアーキテクチャ (THEORY/IN/PRACTICE)](https://www.amazon.co.jp/%E3%83%93%E3%83%A5%E3%83%BC%E3%83%86%E3%82%A3%E3%83%95%E3%83%AB%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E3%83%A3-THEORY-PRACTICE-Diomidis-Spinellis/dp/4873114306) *ちょい古いかも

#### 「方針を理解したうえで、テストの設計・実行ができるレベルになろう」
* [継続的デリバリー 信頼できるソフトウェアリリースのためのビルド・テスト・デプロイメントの自動化](https://www.amazon.co.jp/dp/4048707876)

・・・

# 補足
* MacやWindowsの操作などITに関する一定以上のリテラシーはあることを前提にしています。
* 言語の部分はRuby、OSはLinux、DBはMySQL、クラウドはAWS、JavaScriptのフレームワークは Vue.js からはじめた人を前提にしています。
* NoSQL(RedisやDynamoなど)、正規化・非正規化などのテーブル設計とか入っていないものもいくつか・・・今後追記していきたい。
* 弊社の状況に合わせた内容であるため、一般とあっていないとこがあるかもしれません。

# そもそもの背景
リンクアンドモチベーションの開発組織には、パートナーの方、中途、新卒がいます。新卒は研修、OJTなどを通じ育成しています。"個の効力感の観点"と"事業の観点"から、勉強する技術分野を必要最小限に絞ることが効果的と思います。一方「自主的にどんどん学びたい」「どういった本読むのがいい？」という相談も受けます。そう言った人向けに自分や中途が読んできた本、技術顧問からも、色んな方々からお勧め、アドバイスいただいたり、外部から得た情報を元に、本、まとめかたを整理しました。

#仲間への願い
**基礎から理解して、「再現性」と「実効性」の高いレベルになってほしい。**たまたま簡単な改修に当たった→できた！だけでは再現性がなく、勘違いも生まれやすく後々苦しみます。

基礎を理解せずに、ツールを使って動くものを作る、というだけの中身のないエンジニアになって欲しくはない。

* ex.「設計」をするのに、機能だけでなく、非機能、サーバー、DB、PG（アルゴリズムなど）、ビジネスの拡張性を踏まえてどういう設計にすべきか？などを考えて設計できるかどうか？ 
* ex.「テスト」をする/テストコードを書くのに、どんなケースを書かなければ、網羅しなければならないのか？を知識として知り、それをコードに落とすことができるか？

・・・そのために、最低限、どういう知識を身につけておけばいいのか？そのためにどんな本を読んで学べばいいかな？という1つのマップになればいいかなと。

# 最後に
書いている最中に「あれもあるこれもある」とどんどん増えてしまいました...学んでいると、やるべきことがより見えてきて、こうなりがちなので、目的を定めて学ぶことの重要性を今更感じました。

ボリュームありすぎる感じが否めませんが、社会人になって初めてプログラミングをはじめた方や、新人エンジニアの方が勉強する際の参考として役立ててもらえれば幸いです。

こんなんおかしい、これのほうがいい、こうしたほうがいいなどアドバイスありましたら、いただけると幸いです。

今後は一言紹介文を足したり、新しいものを足したり、もうちょい順番つけたり、組織編を作ったり、などここをアップデートしながら運用していこうと思います。

メリークリスマス🎅🤶