📚

駆け出し時代の自分に読ませたかった技術書18選 遠回りをしまくった自分に送りたい

2024/02/02に公開

どうもお疲れ様です。MESIです。

これは私が駆け出しの新卒1年目の頃でしょうか。
ある社内のつよつよエンジニアからこう言われました。

「MESIよ。流行りのフレームワークの使い方を覚えるのではなく、土台を理解しなさい」

彼はそう言い残すと1冊の本を残し会社を去っていきました。

これ。

託された本を読んでみたものの当時の私には難しすぎました。
理解ができないのですが、何が理解できないのかがわからない。そんな状態でした。
毎日この本とにらめっこをしましたが、時間だけが過ぎていきました。

大学でコンピュータサイエンスを全く学んでいない状態で入社した当時の私には難しすぎたのです。

私は諦めずにOS関連の低レイヤーの本を読み出しました。そして以下のループにハマりました

本の内容が理解できない

本を理解するために別の本を読む

理解できないのでまた別の本を読む

いきなり難しい本にチャレンジをした結果、多くの時間を費やしました。
自分にあっていない難易度の本を買っては、ボコボコにされてまた別の本を買って読んでました。
なかなか効率が悪いですね(笑)

ポケモンに例えるとマサラタウンを出ていきなり四天王に挑んでいたようなものです。
最初は四天王ではなく、まずはジムリーダーのタケシのイワークを目標にするべきですよね。
段階を踏んで強い相手を倒して行くべきです。

ITエンジニアも同じで、段階を踏んで効率よく知識を吸収していきたいわけです。

よって本記事では私が新卒1年目のときに読ませたかった本を紹介します。
適切な難易度でステップアップするのに最適な本を選定しました。

総合系

キタミ式イラストIT塾 応用情報技術者

https://amzn.to/3SmrwYU
エンジニアとしての土台を固めるための本として最適です。
基本情報のシリーズもありますが応用情報のものをオススメします。なぜなら応用情報のほうが網羅性が高く大は小を兼ねるからです。
基本情報を受ける人もこの応用情報の本で勉強すると良いと思います。
私は両方もってますが応用が一冊あれば、基本情報の方は必要ないと感じました。

それからもし大学でCSを受けていないのであれば、まずは基本情報技術者を取得することを強くおすすめします。
基本情報を勉強しておくと技術書の理解スピードが上がります。
詳しくは以下の記事をどうぞ。
https://zenn.dev/mesi/articles/88ff0f11a631c6

Web系

プロになるためのWeb技術入門

https://amzn.to/480Oavt
Webを支える技術」が難してくて読めなかった私でもこちらの本は読めました。
知識が少なくても読みやすく、Web技術の基本を学ぶことができます。
私と同じく「Webを支える技術」で挫折した人は読んでみることをおすすめします。

作りながら学ぶWebシステムの教科書

https://amzn.to/3Ou1YHV
ハンズオン形式で広くWeb関連の知識をカバーできる本です。
広く浅くといった感じで新卒1年目の私でも読めると思います。
初学者がWebシステムの知識を広く網羅するのにおすすめの1冊

HTTPの教科書

https://amzn.to/42pSuDt
少し古いですが、イラスト満載でHTTPを学ぶのに一番やさしいと思いました。
古いのでHTTP/2やHTTP/3のことを学ぶためにこの本を読んでから「Real World HTTP」にステップアップするのが良いかと。

インフラ&クラウド系

3分間ネットワーク基礎講座

https://amzn.to/3ukrPv7
とてもわかり易く、丁寧にネットワークの基礎を解説しています。
私はこの本に出会ったのは最近であまりにも遅すぎました。
マスタリングTCP/IP」を読んでわからずに頭を抱えていた新卒時代の私に渡したい本の中の1つです。。

3分間DNS基礎講座

https://amzn.to/4bmojkr
同じく3分間シリーズです。「DNSがよくわかる教科書」とどちらが良いか悩みましたが、3分間のほうが初学者には優しいと思いこちらをチョイス。
この本を読んだあとに「DNSがよくわかる教科書」を読むとDNSについて深く理解できるでしょう。

Amazon Web Services基礎からのネットワーク&サーバー構築

https://amzn.to/3w1bV9t
AWSを学ぶついでにネットワークも一緒に学べるお得な本です。
私の場合「サブネットってなんだよ」って感じでしたが、実際にネットワークを構築することで理解が深まりました。
初めてAWSを学ぶ方はまずこの本で手を動かして学ぶことをおすすめします。

Amazon Web Servicesのしくみと技術がこれ1冊でしっかりわかる教科書

https://amzn.to/3OsZtWr
AWSのサービスについてわかりやすく解説された本です。
一通り体系的に知識を習得することができます。
AWSにはどんなサービスがあってどのように使われるのかを把握するのに最適です。

Linux

ゼロからわかる Linuxコマンド200本ノック

https://amzn.to/3uah26T
Linuxコマンドを学ぶのに最適な1冊です。
ノック形式で頭にコマンドを覚え込ませることができます。
Udemyの講座があるので、そちらとセットで見ると非常に理解度が深まりました。
https://www.udemy.com/course/linux100test/

図解でパッとわかるLPIC/LinuC

https://amzn.to/3ukBcem
タイトルの通り図解が多く、頭の中にスムーズに知識が入ってきます。
この本単体で読むというよりは他のLinux本で分からなかった用語をこの本で確認する使い方をおすすめします。

ITエンジニア1年生のためのまんがでわかるLinux コマンド&シェルスクリプト基礎編

https://amzn.to/3HI9wD9
他のLinux本とは違い実務ベースで「こんなときどうする?」を学べます。
漫画ですのでイラストによる図が多く、スムーズに理解することができます。

データベース

達人に学ぶDB設計指南書

https://amzn.to/3HJPQPi
データベースを制するものはシステムを制す!
データベースの設計はシステムにおいて超重要です。
そんなデータベースの設計を体系的に学べる良書。

やってはいけないアンチパターンが書いてあるのですが、私が保守していたレガシーシステムはほとんど当てはまっていました(泣)
後から保守する人を泣かさないためにも読みましょう。

コーディング

リーダブルコード

https://amzn.to/480kdf2
説明不要ですよね?読みましょう。

良いコード/悪いコードで学ぶ設計入門

https://amzn.to/3OtrRaK
クソコードの例が乗っているのが良いですね。
私の保守していたレガシーシステムは悪いコードの例がほとんど当てはまっていたのでとっても共感できました。
後から保守する人を泣かさないためにも読みましょう。

セキュリティ

体系的に学ぶ 安全なWebアプリケーションの作り方 第2版

https://amzn.to/49gLhYw
体系的にWebアプリケーションのセキュリティについて学ぶことができます。
環境構築して実際に動かすことができるので理解が深まります。
分厚いので最後まで読み切るのには根気が必要ですが、とてもためになる1冊です。

Docker

Docker&Kubenetesのきほんのきほん

https://amzn.to/3uaGUQ2
Docker初学者が一番最初に読むといい本です。
図が多く非常にわかりやすい内容となっています。
私が読んできた中では一番初学者にやさしいと思う本です。

開発系エンジニアのためのDocker絵とき入門

https://amzn.to/4bk9uiy
初心者が絵で理解する Docker」のほげさんが書いた本です。
「Docker&Kubenetesのきほんのきほん」を読んだあとにこの本を読むことをおすすめします。
こちらも図が満載でDockerの理解を深めるのに最適だと思います。

アルゴリズム

アルゴリズム図鑑

https://amzn.to/3uilNv3
アルゴリズム本の中で一番わかりやすく、初学者に向いています。
有名なアルゴリズムを網羅しており、基本情報技術者を勉強する際の参考書としてもおすすめです。
またアプリもありこっちは実際に動かせるので、正直本よりアプリに課金したほうが良いかも?
https://apps.apple.com/jp/app/アルゴリズム図鑑/id1047532631

最後に

本記事では駆け出し時代の自分に読ませたい本を選定しました。
私はかなり遠回りして、いろんな本を読んだのでそれまで読んできた中で駆け出し時代の自分に読ませたい技術書をまとめました。
これからエンジニアとして駆け出すか、駆け出し中の方に参考になれば幸いです。

Discussion