1年目のときに背伸びして選書に失敗したエンジニアが贈る1年目に読んでおくと力がつく技術書

# 読書の前に必ず選書あり
皆さんは普段勉強する時、どんな媒体を使っていますか？
私はもっぱら技術書を使います。
いろんなタイプの教材が溢れかえっている昨今、動画とかいろいろな学習方法があります。
そんな群雄割拠の学習教材界隈の中でも、技術書は読書無理という層に敬遠されつつも、知りたいジャンルのことが体系的に学べるので、私は結局ここに行き着いてしまいます。

そして技術書は読む前に**良い本を選ぶのが本当に大事**だと思います。

自分が駆け出しエンジニアだった頃の話ですが、私は完全に自分の実力を履き違えて驕り高ぶっていた勘違いエンジニアでした。
そして小難しそうな本を読んでいるという謎アピールをするために背伸びして難しい本を選んだ結果、1冊読むのにめちゃくちゃ時間がかかる上に、本に書かれていることの9割がわからず、数カ月後には1割も知識が残らないという悲惨な状況に陥っていました。

その後、会社でプログラミング研修を担当することになって、人に教えるためという言い訳のもと、しばらくいろんな基礎を学べる本を読んだ結果気づきました。

これだ！！！！と。
1年目で積み上げておくべきだった本これだ！！！！と。

ということで、今から1年目の頃にタイムスリップして確実に基礎を積み重ねて、尋常じゃない成長を見せたいのですが、タイムスリップするのに時間がかかりそうなので、一旦この記事にたどり着いた人のために1年目にこれ読んでたら成長できたのに！という本を紹介していこうと思います。

同じ過ちを犯す人が減りますように。

## 対象読者
私自身が文系卒未経験エンジニア転職組なので、それくらいの人の1年目のレベル感を想定しています。

- 1年目のWebエンジニア
- フロントバックは問わない
- 大学でコンピュータサイエンスを学んでいない or 学んだ全てをそこに置いてきた人

## おすすめの読み方
1年目のうちに読み切れなさそうな量を紹介しているので、自分が一番興味あるのを選ぶのと、もしこれは難しすぎるって思ったら即座に読むのをやめて、1年後に再チャレンジするのが良いかと思います。

## 世界で最も強力な9のアルゴリズム
https://amzn.asia/d/74L6n9G

アルゴリズムの本です。
「アルゴリズム…？ちょっととっつきにくいなぁ…」とか思わないでほしいです！

この本はまっっじで面白いんです。アルゴリズムを知るためではなく、コンピュータおもしろ！って思ってもらうために読んでほしい1冊。
結局学習するにはモチベーションが大事なので、こういう本でもっとコンピュータに興味を持てるとモチベーション上がるんじゃないでしょうか？

## Code: コードから見たコンピュータのからくり
https://amzn.asia/d/j2kGREu

これもコンピュータおもしろ！ってなる本です。
コンピュータの仕組みの本のはずなのに、最初はコンピュータすら登場しません。

「どんなに複雑に見えることでも歴史を遡って最初の地点に立ち返れば、とてもシンプルなものになる」という着眼点が本書の優れた点だと思うのですが、複雑の権化であるコンピュータすらも信じられないくらいわかりやすく解説しています。

懐中電灯のON・OFFでやり取りをするところから始まって、情報をやり取りするための歴史を現代まで進めていき、最後はCPUを組み上げる中で低レイヤーの知識が着実についていきます。

## 新しいLinuxの教科書
https://amzn.asia/d/9WnZDjK

エンジニアならターミナルでの操作は必須だと思うのですが、それをすごくわかりやすく学ぶことができます。
やはりターミナルでできることが増えるとやれることも増えるし、何より作業の自動化が強くなると思うので、早めに学んでおきたい。

Kindleでよく半額セールの対象になっているので、その機を狙うとお得に購入できます。

## ストーリーで学ぶネットワークの基本
https://amzn.asia/d/fPGM5qx

インフラを触らないにしてもネットワークについて知っているのと知らないのでは、エンジニアとしてのデバッグ力や底力に大きな差がつくと思っています。
本書はわかりやすくネットワークの全体像や知識を知ることができるので、まずはネットワークの全体像を知りたいという人には超おすすめです。

個人的にはわかりやすさもそうですが、ストーリーも推せます。エンジニアってそうよね！という感覚になりました。

## ネットワークはなぜつながるのか
https://amzn.asia/d/fNhXOek

こちらもネットワークの本ですが、こちらはまた切り口が違っており、ブラウザにURLを入力してページが表示されるまでに内部でどんなことが起きているのかというところにフォーカスしてネットワークの基礎知識を学ぶことができるという1冊です。

こちらの方がストーリーのやつより難しい気はしますが、とはいえネットワークに入門するならかなりわかりやすさと得られる知識の深さみたいなところのバランスが良いと思います。

## 達人プログラマー
https://amzn.asia/d/jd1ZtMh

言わずとしれた名著。
1年目にやるには難しいこともあればわかりやすいこともありますが、章ごとに完全に分かれているエッセイみたいな構成なので、今自分がわかるところを拾い食いするのが良いと思います。

何年後かに読んでも都度刺さるし学びがあるというスルメみたいな本。
とりあえずこれは紙の本を買って、ボロボロになるまで何回も読みたくなります。私のはまだツルツルのピッカピカですが。

## SOFT SKILLS
https://amzn.asia/d/h4M0Opk

エンジニア人生のバイブルです。
勉強の仕方、仕事の仕方、果ては資産形成や健康、まさかの恋愛にまで踏み込んでくる本です。

すごいエンジニアの考え方が学べるので、技術書を読んで成長したいと思っているなら、かなりおすすめです

Kindleでたまに半額セールの対象になっています。

## Head First デザインパターン
https://amzn.asia/d/2PQJAWO

デザインパターンを学ぶためというよりも、デザインパターンを学ぶことを通して、オブジェクト指向で再利用しやすいプログラムを書くために必要な考え方を知ることができる1冊です。

謎のユーモアと機械翻訳したかのような日本語訳に戸惑うこともあるのですが、内容はかなりわかりやすいしためになるんじゃないかなと思います。
言語やフレームワークに依存しない大事なことが学べると思います。

## Web API: The Good Parts
https://amzn.asia/d/bmm3KRg

APIを作るためのベストプラクティスを学べるし、それを学ぶことでRESTやHTTPなどの知っておいた方が良いことまで学ぶことができます。
わかりやすいし、API開発をするときは必ず来ると思うので、早めに修了しておきたいですね。

## 達人に学ぶDB設計徹底指南書
https://amzn.asia/d/9Q7pN8N

DB設計は一度ミスるとあとでカジュアルに直すみたいなことがやりにくい分野なので、ぜひとも早い段階で知っておきたい内容が詰まっています。いや、詰まりまくっています。

Kindleでよく半額セールの対象になっているので、その機を狙うとお得に購入できます。

## SQLアンチパターン
https://amzn.asia/d/5h9CP4F

これ読まなかったら多分やってたわ。あっぶね〜〜〜！
みたいな内容が満載です。
SQLと銘打ってますが、イメージしているようなSQL部分だけでなく設計の話もたくさん出てきます。

## SCRUM BOOT CAMP
https://amzn.asia/d/5cRYK0w

アジャイル開発手法の一つであるスクラムのやり方が具体的に書かれています。
現場でスクラムを採用している人もそうでない人も、どんなプラクティスがあって、その背景にはどんな目的があるのかみたいなところが知れるので今後の開発人生に活きてくるんじゃないかなと思います。

これもよくKindleの半額セール対象になっていたりします。

## 体系的に学ぶ安全なWebアプリケーションの作り方
https://amzn.asia/d/0WkhIxy

どんなに良いアプリケーションでもセキュリティ対策がぼろぼろだったらやばいですよね？
そしてそのやばい部分を自分が作ってしまって情報漏洩が起きたらなんて考えると想像するだけでやばくないですか？

今どきのフレームワークであれば機能でカバーされているところも多いので、ちゃんと使っていればそれなりに安全なものができるとは思いますが、それを知ってて使うのとそうじゃないのとでは意味がぜんぜん違うと思います。

分厚いですが、わかりやすいので教養を身につける1冊としてぜひ…！

これもKindleで半額セール対象になりがちな本です。

## プログラムはなぜ動くのか
https://amzn.asia/d/a92QPly

私みたいなコンピュータサイエンスの知識がない状態で業界に入ってきたエンジニアの駆け込み寺。
一つ一つはそこまで深堀りするわけではありませんが、コンピュータの基礎知識を広く知ることができるし、内容もわかりやすいと思います。

## Amazon Web Services基礎からのネットワーク＆サーバー
https://amzn.asia/d/2RYvN8m

初版はかなり古いですがしっかり改定を重ねているのでご安心ください。
AWSもできるようにならきゃな〜って漠然と思っていた頃に、これでハンズオンでサーバー立てて、AWSだけじゃなくサーバーとかネットワークについての知識もかなり増えました。

これもたまにKindleの半額セール対象になっていたはずなので、浮いたお金でAWSが使えますね。

## Clean Code
https://amzn.asia/d/a2gnHnM

この本は他より難しいのでいれるかどうか悩んだのですが、前半はわかりやすいし良いかということでピックアップしました。
よく最初はリーダブルコードがおすすめされているイメージがあるのですが、個人的にはこちらをおすすめしたい。
表面的なところにとどまらないきれいなコードの書き方を学ぶことができます。

私はこれを読んでコードの書き方が一気に変わりました。
ただ、難しい箇所もたくさんあるので、こちらも現在挑めるレベルのところを読んで、難しい箇所になったらタイムカプセルで未来に送ってしまい、将来の自分に挑戦させるのが良いと思います。

## 以上
世の中には他にも良い技術書がたくさんあると思います。
しかし選書するとなるとやはり自分が読んだ本の範囲内からしか紹介できないので、本記事ではこれらの技術書を紹介させていただきました。

今回紹介した本から選ぶのも良し、書店でたまたま出会った光り輝く本を手に取るのも良しということで素敵な技術書ライフをお送りください！

もし、この記事を読んで技術書を買ったという方やこれは私もおすすめでと思ったものがあった方はいいねしてもらえると今後のアウトプットの活力になりますので何卒よろしくお願いしますm(_ _)m