新人エンジニアにおすすめの技術書9選

これは[ビジネスエンジニアリング株式会社（B-EN-G）アドベントカレンダー2023](https://qiita.com/advent-calendar/2023/b-en-g) の記事です。
※記載内容は全て個人の見解です。所属組織の意見によるものではありません。

# はじめに

今回は「新人エンジニアにおすすめの技術書9選」を紹介します。
※技術書でないものも含みます。

私は2022年4月に新卒で入社した、2023年12月現在で2年目のソフトウェアエンジニアです。
そんな、やや新人エンジニアの私からみた「この本は読んでよかったな」「この本なら来世でも読む」という本を9冊、おすすめの理由も交えながらご紹介してきます。
また、技術書を読んで感じたことやおすすめの読み方についても少しだけ触れます。


# 新人エンジニアにおすすめの技術書9選

それではさっそく本題の私が心の底からおすすめする技術書9選を、
「Web・Webフロントエンド・データベース・その他 」のジャンルごとにご紹介します。
※いずれの書籍もサブタイトルと版数は省略しています。


## Web

### 1. プロになるためのWeb技術入門
![proWeb.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620653/a83dcc57-11e4-3505-2bcf-6383811c33b6.jpeg)
画像出典：[Amazon](https://www.amazon.co.jp/)

- ジャンル
Webシステム入門
- この本読んだ経緯
Webシステムを自作したことがなかった時に、サブタイトルの「なぜ、あなたはWebシステムを開発できないのか」が胸に刺さりました。
- 紹介
キャッシュやCookieなどの概念や、APサーバー・Webサーバー・DBサーバーがそれぞれどういう役割を担うかを初心者にもわかるように解説してくれています。
Webシステム全体像への解像度が高まること間違いなしです。
ただ、この本を読むと「Webシステム開発ができるようになる」というよりは、「Webシステムを体系的に理解できるようになる」という要素の方が強い点にはご注意ください。

:::note info
- 特にこんな人におすすめ
    - Webシステム開発をこれから始めようとしている人
    - Webの仕組みやアーキテクチャについて理解したい人
:::

### 2. Webを支える技術
![web.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620653/60d96b25-7bb3-fa1f-1bc2-739043b897fd.jpeg)
画像出典：[Amazon](https://www.amazon.co.jp/)
- ジャンル
Webシステム中級
- この本を読んだ経緯
新人エンジニアの必読書的な立ち位置にあるから。Webシステムに関する体系的な理解を深めたかったから。
- 紹介
この手の記事の常連、「Webを支える技術」です。色々な記事やブログで推奨されているだけあって、実際に私も良書だと感じました。
ハイパーメディアシステム（様々な情報をリンクによって結び付けて構成するシステム）としての観点から見たWebの全体像について、わかりやすく説明してくれています。
アーキテクチャスタイルであるRESTがどういったアーキテクチャで構成されているかなど、RESTやWebについての体系的な知識を得られる１冊です。

以下のリンクはこの本の著者である山本陽平さんのブログです。
この本について紹介されています。
https://yohei-y.blogspot.com/2010/03/web-httpurihtmlrest.html

:::note info
- 特にこんな人におすすめ
    - Webエンジニアとして仕事をしたい人
    - RESTやWebについての体系的な知識を得たい人
:::

WEB+DB PRESSが休刊してしまったのは口惜しいですね....復刊に期待です！

## Webフロントエンド

### 3. 1冊ですべて身につくHTML&CSSとWebデザイン入門講座
![html&css.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620653/272a2713-6c16-9ec6-fe18-61cb3e87580b.jpeg)
画像出典：[Amazon](https://www.amazon.co.jp/)

- ジャンル
HTML&CSS入門
- 紹介
基本的なHTMLやCSSについて学習した後に、ハンズオン形式で3パターンのWebサイトを作成するという内容の本です。
さすがフロントエンドの入門書というだけあり、フルカラーかつレイアウトが綺麗で読みやすいです。
また、作成する3つのサイトはおしゃれなデザインにまとまっており、「基本を理解すればこんなきれいなサイトがつくれるのか！」という高揚感を得ることができます。
これからプログラミングをはじめようと思ってて、マークアップ言語からやってみよう！という人にもおすすめです。

:::note info
- 特にこんな人におすすめ
    - HTML&CSSはあまりわからないけどWebサイトを作ってみたい人
    - 基礎的なHTML&CSSについて学習したい人
:::

### 4. CSS設計完全ガイド
![css.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620653/f9e42dd7-4335-4fe8-c417-2088f2e3e093.jpeg)
画像出典：[Amazon](https://www.amazon.co.jp/)

- ジャンル
HTML&CSS入門
- この本を読んだ経緯
業務でCSSを書くことがあり、粗悪なコードを書く前にスタイルシート言語のコード規範や可読性について勉強したかったから。
- 紹介
主要なCSS設計(**OOCSS、SMACSS、BEM、PRECSS**)について説明した後に、
**BEMとPRECSS**でのボタンなどの部品やタブナビゲーションなどの大きい部品のスタイㇽの当て方を学べる本。
UI部品（本書ではモジュールと表現）の作成方法を多く掲載してくれているのでシステム開発時の辞書的な使用にも適しています。

以下のYouTubeにアップされた動画で、この本の著者である半田淳志さんが特定の設計手法にとらわれないスタイルについてもお話しされています。
こちらの動画も必見です。CSS設計への理解がより深まります。

https://www.youtube.com/watch?v=i0TdLMknMxQ

https://www.youtube.com/watch?v=STKFQTE41SI

::: note info
- 特にこんな人におすすめ
    - HTMLとCSSの基本は理解したけど、もう少し専門的な内容を学びたい人
    - 可読性や保守性の高いCSSをかけるようになりたい人
:::

### 5. Software Design 2023年9月号
![JavaScriptAsync.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620653/248da111-98c4-5df8-5554-c9bd03a8aea5.jpeg)
画像出典：[Amazon](https://www.amazon.co.jp/)
- ジャンル
JavaScript
- この本を読んだ経緯
JavaScript非同期処理にありがちななんとなくで書いてるけどよくわかっていない状態を脱したかったから。
- 紹介
かの有名なSoftware Designの2023年9月号です。
JavaScirptの非同期処理についてコラム形式で深堀してくれています。
JavaScript非同期処理の歴史、コールバック関数・Promise・async/awaitの使い分け、Promise自作のレシピなどについて書かれており、JavaScript非同期処理のアレルギーを克服できること間違いなしです。
中でもPromiseを自作するコラムが特におすすめです。

コラムの執筆を担当されている小田島太郎さんが書いている以下の記事も併せて参照してもらえるとより理解が深まるかと。

https://knowledge.sakura.ad.jp/24888/

https://knowledge.sakura.ad.jp/24890/

:::note info
- 特にこんな人におすすめ
    - JavaScriptの非同期処理を体系的に学びたい人
    - Promiseを自作してみたい人（個人的におすすめ）
:::

## データベース

### 6. スッキリわかるSQL入門
![sqlSukkiri.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620653/fc00e25c-f19c-1b88-d4c7-6ec288cc9f67.jpeg)
画像出典：[Amazon](https://www.amazon.co.jp/)
- ジャンル
SQL入門
- 紹介
皆さんも一度はお世話になったことがあるであろう、「スッキリわかる」シリーズのSQL版です。
この本の特徴はとにかく説明が丁寧、インプット⇒アウトプットの流れが秀逸、環境構築いらずの実行環境「dokoQL」の３点が魅力です。
初心者に寄り添った説明で理解を図り、納得ボリュームの256問のドリルで知識の定着を図り、ドリルは環境構築いらずの実行環境があるという駆け出しエンジニアにとことん寄り添った１冊です。

:::note info
- 特にこんな人におすすめ
    - SQLについての入門書を読みたい人
    - SQLの文法を手を動かして定着させたい人
:::

### 7. 達人に学ぶSQL徹底指南書
![513WOO0weML._SY445_SX342_.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620653/8d85f3f7-11f0-b037-20a6-81da07c9ae0b.jpeg)
画像出典：[Amazon](https://www.amazon.co.jp/)
- ジャンル
SQL中級
- この本を読んだ経緯
「スッキリわかるSQL入門」を読んだ後に、もう1冊くらいSQLに関する本を読みたいなと思い購入。我ながらよい流れだったと思ってます。
- 紹介
こちらの本のコンセプトは「中級SQLプログラミング入門」で想定読者は実務でのSQLブログラミングの経験が半年から１年くらいある方とプロローグに記載されています。
あまたあるSQL入門書に比べて、より実用的な内容が書かれています。
個人的にEXISTSについての理解が怪しかったのですがこの本のおかげで理解することができ、恩を感じています。
ぜひご一読ください。SQLの基本的な文法から複雑なクエリの最適化まで、読者をSQL中級者に押し上げる知識が得られます。

:::note info
- 特にこんな人におすすめ
    - SQLの基本は理解したけど実用的なSQLに関する技術書を読みたい人
    - SQL中級者になりたい人
:::

### 8. 達人に学ぶDB設計徹底指南書
![database.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620653/64420fcd-8640-ef56-a2d1-91546f07edcd.jpeg)
画像出典：[Amazon](https://www.amazon.co.jp/)
- ジャンル
データベース設計入門
- この本を読んだ経緯
「スッキリわかるSQL入門」⇒「達人に学ぶSQL徹底指南書」の流れでSQLについての理解が多少深まってきたかな...というあたりでデータベース設計についての本も読みたいなと思い購入。
- 紹介
6.7でご紹介したSQLについての技術書とはちょっと毛色が変わりまして、この本はデータベースのテーブルなどをどのように設計するかについて詳しく解説された本です。
前半ではどうやってデータベースの設計を行っていくかを正規化の仕方からER図作成まで具体的な手順を示して解説してくれており、後半では設計のバッドノウハウやアンチパターンについて解説してくれています。
設計の手順を示してくれているので、実際に業務でデータベース設計をする際にも再現性があるのではないのかなと感じています。

:::note info
- 特にこんな人におすすめ
    - SQLは理解したけどもう少し専門的なデータベースに関する技術書を読みたい人
    - データベース設計におけるアンチパターンやバッドノウハウを知りたい人
:::

「スッキリわかるSQL入門」・「 達人に学ぶSQL徹底指南書」・「達人に学ぶDB設計徹底指南書」のセットはデータベース学習3種の神器です☺

## その他

### 9. 世界一流エンジニアの思考法
![ms.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3620653/43a122c4-9838-2309-3855-01876b2409af.jpeg)
画像出典：[Amazon](https://www.amazon.co.jp/)
- ジャンル
業務改善
- 紹介
こちら1番最近に読んだのですが、重めのカルチャーショックを受けた本です。
米国Microsoft社のAzure Functionsというクラウドサービスの開発チームに所属している著者の牛尾剛さんが、業務で得た知見やマインドセットを紹介してくれている１冊です。
以下の内容が実際の業務の例を交えて紹介されており、この本のアンチパターンをほぼすべて実行していた私はちょっとした衝撃を受けました。
この本はベテランエンジニアの皆様にもお勧めです。ぜひぜひ手に取ってみてください。
    - マルチタスクは悪
    - 試行錯誤は悪
    - 「納期は絶対」の神話は捨てよう
    - ミーティングの議事録はその場で書かない
    - 質問するときは最初から全部説明しない

:::note info
- 特にこんな人におすすめ
    - 米国Microsoft社で重視されているマインドセットを知りたい人
    - 日々のエンジニア業務の生産性を向上させたい人
:::

# 技術書の読み方について

つぎに技術書の読み方についてです。
近頃、どの技術書を読むかも大事だけど**どうやってその本を読むか**がもっと大事だなと感じています。

以前の私は技術書を読んで「良いこと学習したな」で満足してしまうことが多かったです。
ですが、しばらくすると読んだ内容をまるで覚えていないことが多く、
これはどうにかせねばと思い、ここ１年くらいは以下の方法で技術書を読むようにしています。

1. 技術書を読む
1. 章ごとに内容をまとめる
1. まとめた内容を人に教える

月並みですが、この方法は非常に効果的です。
内容の要約に時間はかかりますが、読んで終えるよりは知識として定着する実感があります。

また、私が業務をしているチームでは、週に1回「ミニ勉強会」という発表者が好きなテーマで勉強会を開催するという文化があります。
このミニ勉強会で読んだ本の要約について発表することで、3の「まとめた内容を人に教える」まで遂行することになり、読んだ本に対する理解度がぐっと上がったなという実感があります。ぜひお試しください。

# おわりに

今回は「新人エンジニアにおすすめの技術書9選」という内容で記事を書きました。
この記事で紹介されている本は紛れもない良書だと自信をもっているので、興味が沸いた本は手に取ってみてください。

余談ですが、私は技術書を"買うこと自体"が好きでして、2023年12月現在で大量の「積読」に頭を抱えています。
2024年を晴れやかな気持ちで迎えるためにも、2023年の内に「積読」を少しでも消化していきたいなと思っています..