新人エンジニアの自分がおすすめする技術書ランキング 2022春

## どんな記事？
2021春から1年間エンジニアとして働く中で個人的に「読んで良かった」と感じた技術書で、これからエンジニアを目指す方やエンジニア1年目の方の参考になれば嬉しいです。

## 自己紹介
文系の大学を卒業し、完全未経験でエンジニアとして働き始めました。働き始めてまだ１年ほどのペーペーですが、細々とRubyやJavaScript、ごく稀にPHPを使ってお仕事しています。


## おすすめ技術書ランキング
### 1位　[オブジェクト指向設計実践ガイド](https://www.amazon.co.jp/dp/B01L8SEVYI)
![](https://m.media-amazon.com/images/I/5112hfXmhtL.jpg)
>クラス設計から基本概念，継承のテクニック，ダックタイプ，そしてテスト設計まで，幅広くカバーしています。オブジェクト指向言語を使用するすべての人におすすめの1冊です

引用にある通りで、言語こそRubyで書かれていますがオブジェクト指向言語を扱うのであれば読んで得しかない本だと思います。
**特にクラスやインスタンス、継承の概念がピンときてない方にお勧めしたいです。**
私はネットで調べた謎のたい焼きの話でインスタンスやクラスを理解したつもりになっていました。
しかしこの本を読んで、自分の理解がいかに曖昧なものであったかを思い知らされました。
この本を読んでから完璧とは言わないまでも理解が進み、コーディングが凄い楽しくなりました。
他にもクラスの単一責任や疎結合といった、知っておいて損はない概念的な話もわかりやすく書かれています。
余談ですが、１時期この本にハマり過ぎて「『**オブジェクト指向設計実践ガイド**』しか勝たん」って言いながら働いてました。多分４周は読んだ気がします。


### 2位　[リーダブルコード](https://www.amazon.co.jp/dp/4873115655)
![](https://images-na.ssl-images-amazon.com/images/I/51MgH8Jmr3L._SX352_BO1,204,203,200_.jpg)
>コードは理解しやすくなければならない。本書はこの原則を日々のコーディングの様々な場面に当てはめる方法を紹介します。

「読みやすい、理解しやすいコードってなんだろう？」という疑問に、具体的な方法を紹介しながら答えてくれる本です。
誰がみてもわかるコードを書きたい気持ちはあるけど、具体的なやり方が分からなくて途方に暮れている人に特にお勧めしたいです。
**理解し易いコードを書いて得をするのは、数ヶ月後の自分かもしれない**という考えが印象的でした。
もし今この記事を読んでる人の中に「自分の書くコードは自分さえわかればいい」という考えの人がいるのであればすぐに未来の自分自身のためにこの本を読むことをお勧めします。
実際にエンジニアとして働いてみて思ったのは、自分の書いたコードを見直す機会は意外と多いということです。その際に、読みづらいコードだと自分が苦労することになるので、早めにこの本を読んでおくと未来の自分に感謝されるかもしれません。

### 3位　[独習Ruby](https://www.amazon.co.jp/dp/479816884X)
![](https://m.media-amazon.com/images/P/B09BHLFXPN.01._SCLZZZZZZZ_SX500_.jpg)
>Rubyでプログラミングを行う際に必要となる基本的な知識/概念/機能、
文法/書き方を、網羅的かつ体系的に習得できる

Rubyに標準で搭載されているメソッドなどの基礎知識がサンプルコード付きでわかりやすく書かれています。Rubyの教科書のような本なので、隅々までに目を通すというよりは、**初心者の方が参考書として使ったり、抜けている知識を埋めるために読むのがおすすめです。**
圧倒的主観ですが、この本でRubyに必要な基本的知識は網羅できるんじゃないかなあと思いました。

### 4位　[イラスト図解式 この一冊で全部わかるWeb技術の基本](https://www.amazon.co.jp/dp/4797388811)
![](https://m.media-amazon.com/images/I/51ouGc6zGFL.jpg)
>Webの全体像から、HTTPでやりとりする仕組み、さまざまなデータ形式、Webアプリケーションの開発、セキュリティ、システムの構築・運用まで、これからWebにかかわる人が知っておきたい知識をこの一冊で丸ごと解説！

Web系の知識で必須とされている項目のさわりを図解付きで学ぶことができます。
Web技術の基本すら分からなかった自分でも、スムーズに読み進められたくらいわかりやすく書かれています。**図解付きなので感覚を掴みやすく、理解し易いと感じました**。
逆に言えば、深い知識には触れていないので、「もっと深く学びたい！」という方は以下の書籍の方がおすすめです。。
[『Webを支える技術』](https://www.amazon.co.jp/dp/B07JK7FZH2#customerReviews)


### 5位　[リファクタリング 既存のコードを安全に改善する（第2版）](https://www.amazon.co.jp/dp/B0827R4BDW)
![](https://m.media-amazon.com/images/I/41XPB3t7-qL.jpg)
>本書はリファクタリングのガイドブックであり、リファクタリングとは何か、なぜリファクタリングをすべきか、どこを改善すべきか、実際の事例で構成され、ソフトウェア開発者にとって非常に役立つものとなっています。

リファクタリングのカタログのようなもので、実際の事例の説明にはjavaScriptが使われています。
そもそもリファクタリングの目的が分からないという方、やりたいけどやり方が分からないという方にお勧めの本です。
分厚く読み切るには体力と精神力を大きく消費するので、リファクタリングを行う理由について書かれている本書の1,2章を、最初に読むことをお勧めします。
残りはリファクタリングする際に、目次から参考になりそうな箇所を参照するといった使い方がいいと思います。

### 6位[おうちで学べるデータベースのきほん](https://www.amazon.co.jp/dp/B00TTRZFDC)
![](https://m.media-amazon.com/images/I/51cjUlZIynL.jpg)
>データベースについてを学びたいけど、本を読んでもわからない」…そんなあなたは必読です。

データベースについて全くの初心者でも、最低限のSQLは書けるようになる本です。
概念や用語の説明があるので、データベースについて全く分からなかった自分でも、とっつきやすくスラスラと読めました。
実際に自分のPCで画面や挙動を確認しながら進めることができるので、すぐに業務に活かせると思います。


## 最後に
ここまで読んでいただきありがとうございます🙏
1位が絶対的におすすめということはなく、どれもお勧めなので興味を持たれた本があればぜひ読んでみてください。
拙い記事だったとは思いますが、プログラミングを勉強する際に少しでも役立てば嬉しいです。
本で勉強するのが好きなので、今後もお勧めしたい本があればこのランキングに追加していこうと思います。10位とかキリのいい数までは更新したいです。