駆け出し時代の自分に読ませたかった技術書18選 遠回りをしまくった自分に送りたい
どうもお疲れ様です。MESIです。
これは私が駆け出しの新卒1年目の頃でしょうか。
ある社内のつよつよエンジニアからこう言われました。
「MESIよ。流行りのフレームワークの使い方を覚えるのではなく、土台を理解しなさい」
彼はそう言い残すと1冊の本を残し会社を去っていきました。
これ。
託された本を読んでみたものの当時の私には難しすぎました。
理解ができないのですが、何が理解できないのかがわからない。そんな状態でした。
毎日この本とにらめっこをしましたが、時間だけが過ぎていきました。
大学でコンピュータサイエンスを全く学んでいない状態で入社した当時の私には難しすぎたのです。
私は諦めずにOS関連の低レイヤーの本を読み出しました。そして以下のループにハマりました
本の内容が理解できない
↓
本を理解するために別の本を読む
↓
理解できないのでまた別の本を読む
いきなり難しい本にチャレンジをした結果、多くの時間を費やしました。
自分にあっていない難易度の本を買っては、ボコボコにされてまた別の本を買って読んでました。
なかなか効率が悪いですね(笑)
ポケモンに例えるとマサラタウンを出ていきなり四天王に挑んでいたようなものです。
最初は四天王ではなく、まずはジムリーダーのタケシのイワークを目標にするべきですよね。
段階を踏んで強い相手を倒して行くべきです。
ITエンジニアも同じで、段階を踏んで効率よく知識を吸収していきたいわけです。
よって本記事では私が新卒1年目のときに読ませたかった本を紹介します。
適切な難易度でステップアップするのに最適な本を選定しました。
総合系
キタミ式イラストIT塾 応用情報技術者
基本情報のシリーズもありますが応用情報のものをオススメします。なぜなら応用情報のほうが網羅性が高く大は小を兼ねるからです。
基本情報を受ける人もこの応用情報の本で勉強すると良いと思います。
私は両方もってますが応用が一冊あれば、基本情報の方は必要ないと感じました。
それからもし大学でCSを受けていないのであれば、まずは基本情報技術者を取得することを強くおすすめします。
基本情報を勉強しておくと技術書の理解スピードが上がります。
詳しくは以下の記事をどうぞ。
Web系
プロになるためのWeb技術入門
Webを支える技術」が難してくて読めなかった私でもこちらの本は読めました。
知識が少なくても読みやすく、Web技術の基本を学ぶことができます。
私と同じく「Webを支える技術」で挫折した人は読んでみることをおすすめします。
作りながら学ぶWebシステムの教科書
広く浅くといった感じで新卒1年目の私でも読めると思います。
初学者がWebシステムの知識を広く網羅するのにおすすめの1冊
HTTPの教科書
古いのでHTTP/2やHTTP/3のことを学ぶためにこの本を読んでから「Real World HTTP」にステップアップするのが良いかと。
インフラ&クラウド系
3分間ネットワーク基礎講座
私はこの本に出会ったのは最近であまりにも遅すぎました。
「マスタリングTCP/IP」を読んでわからずに頭を抱えていた新卒時代の私に渡したい本の中の1つです。。
3分間DNS基礎講座
DNSがよくわかる教科書」とどちらが良いか悩みましたが、3分間のほうが初学者には優しいと思いこちらをチョイス。
この本を読んだあとに「DNSがよくわかる教科書」を読むとDNSについて深く理解できるでしょう。
Amazon Web Services基礎からのネットワーク&サーバー構築
私の場合「サブネットってなんだよ」って感じでしたが、実際にネットワークを構築することで理解が深まりました。
初めてAWSを学ぶ方はまずこの本で手を動かして学ぶことをおすすめします。
Amazon Web Servicesのしくみと技術がこれ1冊でしっかりわかる教科書
一通り体系的に知識を習得することができます。
AWSにはどんなサービスがあってどのように使われるのかを把握するのに最適です。
Linux
ゼロからわかる Linuxコマンド200本ノック
ノック形式で頭にコマンドを覚え込ませることができます。
Udemyの講座があるので、そちらとセットで見ると非常に理解度が深まりました。
図解でパッとわかるLPIC/LinuC
この本単体で読むというよりは他のLinux本で分からなかった用語をこの本で確認する使い方をおすすめします。
ITエンジニア1年生のためのまんがでわかるLinux コマンド&シェルスクリプト基礎編
漫画ですのでイラストによる図が多く、スムーズに理解することができます。
データベース
達人に学ぶDB設計指南書
データベースの設計はシステムにおいて超重要です。
そんなデータベースの設計を体系的に学べる良書。
やってはいけないアンチパターンが書いてあるのですが、私が保守していたレガシーシステムはほとんど当てはまっていました(泣)
後から保守する人を泣かさないためにも読みましょう。
コーディング
リーダブルコード
説明不要ですよね?読みましょう。
良いコード/悪いコードで学ぶ設計入門
私の保守していたレガシーシステムは悪いコードの例がほとんど当てはまっていたのでとっても共感できました。
後から保守する人を泣かさないためにも読みましょう。
セキュリティ
体系的に学ぶ 安全なWebアプリケーションの作り方 第2版
環境構築して実際に動かすことができるので理解が深まります。
分厚いので最後まで読み切るのには根気が必要ですが、とてもためになる1冊です。
Docker
Docker&Kubenetesのきほんのきほん
図が多く非常にわかりやすい内容となっています。
私が読んできた中では一番初学者にやさしいと思う本です。
開発系エンジニアのためのDocker絵とき入門
初心者が絵で理解する Docker」のほげさんが書いた本です。
「Docker&Kubenetesのきほんのきほん」を読んだあとにこの本を読むことをおすすめします。
こちらも図が満載でDockerの理解を深めるのに最適だと思います。
アルゴリズム
アルゴリズム図鑑
有名なアルゴリズムを網羅しており、基本情報技術者を勉強する際の参考書としてもおすすめです。
またアプリもありこっちは実際に動かせるので、正直本よりアプリに課金したほうが良いかも?
最後に
本記事では駆け出し時代の自分に読ませたい本を選定しました。
私はかなり遠回りして、いろんな本を読んだのでそれまで読んできた中で駆け出し時代の自分に読ませたい技術書をまとめました。
これからエンジニアとして駆け出すか、駆け出し中の方に参考になれば幸いです。
Discussion