みなさんこんにちは、マッチョ系エンジニアこちょすです!
今回はタイトルにもあるとおり、この記事ではシステムエンジニア6年目の僕が2021年12月現在までに読んだ、または読みたいと思って予約しているエンジニア関連の本を20冊ご紹介します!
これからエンジニアになりたいと思っている方や、今エンジニアをしているが、更にレベルアップをしたい人には是非読んでいただきたい本を厳選していますので、是非この記事を参考に手に取ってみてくださいね!
今回は最新の本を5冊、昔からエンジニア業界ではバイブル的な位置付けである本を15冊ご紹介していきます。
ではいってみよー!
こんな方におすすめ
- これからエンジニアになりたいが、どういう知識を身につければ良いか分からない
- SEが必要なスキルが体系的にまとまっている本が読みたい
- SEとして同期や先輩から一歩進んだスキルを身につけたい
目次
エンジニアなら絶対に読むべきおすすめ本 最近出版された注目の5冊!
Googleのソフトウェアエンジニアリング ―持続可能なプログラミングを支える技術、文化、プロセス
僕も普段は数百万Kステップの大規模システムを担当しているのですが、そのシステムに対して新たな機能を作り込むのはド新規で作るよりも圧倒的に難しいです。(既存機能に影響を与えないようにしつつ、構築するのはとても難しい)
この本では、Googleの現役ソフトウェアエンジニアによる、超大規模ソフトウェアの開発と保守を長期的に支えてきたGoogle社内の多様なベストプラクティスを、文化、プロセス、ツールの観点で書かれています。
俗にいうオライリー本で、分厚いですが読み応えがあってとても面白いです。システムエンジニアとして仕事をしている方、これからシステムエンジニアになりたい方は読んでおいて損はない一冊だと思います。
コピペで簡単実行! キテレツおもしろ自然言語処理 PythonとColaboratoryで身につく基礎の基礎
pythonといえば機械学習や AI、自然言語処理などが得意分野ですが、この本は中でも自然言語処理にフォーカスを当てています。データ分析や機械学習系の本はこれまでも読んでいたのですが、自然言語系はまだ勉強したことがなかったので読んでみたところ、非常に分かりやすかったです。
まず、タイトルにもあるとおり、コピペで動かせるので、「とりあえず動かして確認したい」という人にはとても良いと思います。
GAFA next stage ガーファ・ネクストステージ: 四騎士+Xの次なる支配戦略
これはスキルアップのため、というよりも読み物として買ってみました。
色々言われてますが、なんだかんだ今だに世の中の覇権はGAFAが握っていると思っていますが、彼らの次の一手がなんなのかについて気になったので読んでみました!
面白かったので経営層、現場の方共におすすめです!
チームトポロジー 価値あるソフトウェアをすばやく届ける適応型組織設計
大規模システムになると個人でどうにかなる世界ではないので、チームで保守していく必要があるのですが、その組織論的なものが書かれています。
チームになるとどうしてもモチベーションややりたい方向性、スキルレベルも異なるので、そんななかでいかに早く、高品質なリリースをしていくのかが知りたい方は読んでおくと良いと思います。
脳と人工知能をつないだら、人間の能力はどこまで拡張できるのか 脳AI融合の最前線
最近ネットで、ピーター・スコット・モーガンさんという方が難病を患い、手術でサイボーグに近づいたというニュースを見たのですが、この本も同じような方向性の記事だなと思い、今後のAIや医学の融合がどうなっていくのか知りたくて読みました。
僕は医療系は専門外なので仕事であまり使わない知識かも知れませんが非常に面白かったです。
ちなみに僕が読んだニュースはこちら👇👇
僕が最近読んだ面白かった本たち!
ここからは最新の本ではないけど、これまで読んできて面白かった本、スキルアップにつながったなーと感じた本をご紹介します!
実践 AWSデータサイエンス ―エンドツーエンドのMLOpsパイプライン実装
言わずと知れたクラウドサービスの1つ、AWSでは機械学習関連の機能がどんどん増えてきているところです。
そんなさなかにオライリーから出た1冊です。これは読むしかない!
図解即戦力 インフラエンジニアの知識と実務がこれ1冊でしっかりわかる教科書
僕はアプリケーションエンジニアなのですが、インフラ無くしてアプリ無しなので、インフラの知識を体型的に身につけたいと思って手に取った本です。
他の図解即戦力シリーズと同様とてもわかりやすく解説されていますので、若手インフラエンジニアやアプリケーションエンジニアの方でインフレが知りたい方はぜひ読んで欲しいです!
セキュア・バイ・デザイン
2021/8/27にIBMから発表された調査によると、2021年に発生したセキュリティインシデントの一件あたりの対応コストは4.7億円ものコストがかかっているとのことです。

なので設計時にもかならずセキュリティの知識が必要だと思い、インプットのために読みましたが、非常に内容が濃く、勉強になりました。
Pythonで作るゲームSNS
pythonをメインで勉強しており、DjangoやFlaskを普段使っています。
ですが、このフレームワークで実装されている機能がどのように作られているのかがわかったほうが応用が効くなーと思っていた時に見つけた本です。
標準モジュールだけで会員制サイトのゲームSNSの開発方法が書かれています。
1日1問、半年以内に習得 シェル・ワンライナー160本ノック
ワンライナー(つまり1行)のシェルで色々な処理を実装してみようという本です。
本業でLinux上で動かす簡単なツールをshellで書くことがよくあるので、買ってみました。160個の課題がありますが1つ1つはサクサク進むので、楽しく勉強することができます。
改訂2版 わかばちゃんと学ぶ Git使い方入門〈GitHub、SourceTree、コマンド操作対応〉– 2021/6/12
最近僕が読んだ本のうち、エンジニアにおすすめしたい本の1冊目のご紹介です!
1冊目の「わかばちゃんと学ぶ Git使い方入門」は、Gitの使い方が漫画でわかる本です。
Gitはモジュールのバージョン管理をするためのツールのデファクトスタンダードです!
システム開発をする現場では使わない会社はいないと思いますので、Git操作や知識はかならず身につけておきたいスキルです。
この本はVPS(Virtual Private Server)と呼ばれる仮想サーバー上にGitをインストールし、GitHubやBitBucketと呼ばれるツールを使って操作する方法が漫画で書かれています。
僕もGitって正直無機質なイメージがあって、これまで読んできた本はどれもコマンドが羅列されていてわかりにくいものばかりだったのですが、この本は漫画でストーリーもあるので楽しく、Gitを学ぶことができます!
初心者の方や、なんとなくGitのコマンドを使っている人はぜひ読んでほしい本です!
軽量Alpine LinuxによるDockerコンテナ構築術 (impress top gearシリーズ) – 2021/6/24
続いてのエンジニアにおすすめしたい2冊目の本は、軽量Linuxを使ったDocker構築手順の本です!
Alpine Linuxというのは、OSに付属のソフトウェア群を極力削った軽量ディストリビューションで、それを使ったDockerコンテナ構築の手法がまとまっています!
僕は趣味で個人開発サービスを公開したりしていますが、Dockerを使うとサービス規模に対してサイズが大きくなってしまい、無駄にサーバコストがかかってしまうという悩みを感じています。
なのでこの本を読んでみて、Alpine Linuxで構築し直すことも検討してみたいなと思い、読んでみたい本として上げました!(6月初現在まだ出版前)
開発環境構築にDockerを使う現場も増えてきているので、このあたりの知識をつけておくと現場で活躍すること間違いなしです!
絵で見てわかるマイクロサービスの仕組み – 2021/7/12
3冊目のエンジニアにお勧めの本はマイクロサービス関連の本です!
マイクロサービスという言葉を聞いたことはあるでしょうか。
マイクロサービスとは、一言で言えば小さなサービスを組み合わせて作るサービスのことです。
本書の著者の言葉を借りると、
「サービス指向の革新的ソフトウェアアーキテクチャに加え、コンテナやKubernetesといったアプリケーションランタイム、CI/CDやアジャイルプロセスなどの開発手法、RESTやメッセージングなどによるアプリケーション連携形態を包含する、クラウドネイティブコンピューティングの包括的なアーキテクチャスタイルです。」
とのことです。
上で紹介したDockerや、コンテナオーケストレーションの仕組みであるKubernetes、サーバレスサービス、ノーコードツールなどなど、1つ1つのコンポーネントを組み合わせて、拡張性を高いサービスを作っていきましょうというのがマイクロサービスのコンセプトだと僕は理解しています。
今後はサービスを起案してからリリースするまでの期間をどんどん短くして、スピード感を持ったシステム開発が求められていく時代です。そのため、既存のサービスを組み合わせて素早くサービスを組み立てていくことが必要になります!
「マイクロサービス」って言葉は聞いたことあるけど、いまいちイメージが掴めない、、、、という方はぜひこの本を手に取ってみてはいかがでしょうか!
また、このマイクロサービスに関連するサーバレス技術の1つであるAWS Lambdaを使った記事については以下を読んでいただけると嬉しいです! 続きを見る
4ステップで簡単にすぐにtweetbotを動かせる!AWS Lambdaの使い方
ノーコードツールについては以下で記事にしていますので、ぜひこちらも併せてご覧ください!
-
-
話題のノーコード!amazon honeycode できることを日本語で徹底解説
続きを見る
SCRUM BOOT CAMP THE BOOK【増補改訂版】 スクラムチームではじめるアジャイル開発– 2020/5/20
続いての定番おすすめ本は、スクラムによるアジャイル開発の進め方に関する本です!
これまでのシステム開発はウォーターフォール型が一般的でしたが、それが今、世界的にはアジャイル型開発がスタンダードに変わろうとしています。
日本でも新しいサービスを提供するような場合にはアジャイル型開発が採用される場面が多くなってきている印象があります。
とはいえまだまだ日本ではアジャイル開発が一般的ではないので、知識を持っていない人も多いはず。
この本はこれまでアジャイル開発をしたことがない人が、アジャイルのコアの部分であるスクラムの取り組み方について理解ができるように書かれている本です。
現場ではまだウォーターフォール型だったとしても、今後を見据えて今のうちにこのスキルを身につけておくことで、確実に同僚から一歩リードできると思います!必見です!
アプリケーションエンジニアになるには (なるにはBOOKS) – 2021/6/8
この記事を読んでいただいている方の中にはシステムエンジニアになりたくて勉強中の方も多くいると思っています。そんな方が実際にエンジニアになるために必要なことがわかりやすくまとまっている本です。
なり方だけでなく、エンジニアのやりがいについても書かれているので、エンジニアになりたてで、やりがいを見失ってしまっている方なども手に取って読んでみるといいかもしれません!
エンジニアなら絶対に読むべきおすすめ本 エンジニア界隈では鉄板の5冊!
ここまで最近僕が読んだ本の中から5冊、おすすめの本をご紹介しました。
次はエンジニア界隈ではバイブル的な位置付けである鉄板のおすすめ5冊をご紹介していきます!
リーダブルコード ―より良いコードを書くためのシンプルで実践的なテクニック (Theory in practice) – 2012/6/23
まずは言わずと知れた「リーダブルコード」です。簡単にいうと、この本は可読性の高いコードを書くためのルールブックのようなものです。
システムの維持保守をする中で、スパゲッティコードと言われるような深い階層構造になった処理や、条件分岐が非常に複雑に入り組んでいるコードが存在します。
こういったコードが悪さをして、アプリケーション障害を引き起こすと、そのトラブルフォローの調査は時間がかかり、最悪の場合、ユーザからの評価を下げることにもつながります。
この本は「コードは理解しやすくなければならない。」という原則を日々のコーディングの様々な場面に当てはめる方法を紹介しています。
コードを書く人も、コードのレビューをする人も、必ず読んでおきたい本です!
SEの基本 この1冊ですべてわかる – 2009/2/21
続いてのエンジニア向けのおすすめ本は、SEの基本動作がわかりやすくまとまっているこちらの本です!
どうすれば必要なテクニカルスキルが身につくのかや、どうすればSEとしてユーザから信頼を得られるのかといったSEとしての働き方がまとまった1冊です。
僕自身もシステムエンジニアとして働いていると辛いことも多く、システムエンジニアってなんだろう、どうすれば一人前のシステムエンジニアなんだろうと自問自答することもあります。
そんな時にこの本を手に取って読んでいました。
この本に書かれているのはある意味教科書的な内容なのですが、それが現場で働いていると見失ってしまいそうになることもあるので、たまに手に取って読むことをおすすめします!
ネットワークはなぜつながるのか 第2版 知っておきたいTCP/IP、LAN、光ファイバの基礎知識 – 2007/4/12
8冊目のエンジニア向けのおすすめの本のご紹介です!
こちらは日経NETWORKさんから出ている「〜〜はなぜ〜〜なのか」シリーズの中のネットワーク編です。
モノづくりの1つとして扱われるシステム開発ですが、システム自体は実態がありません。さらにネットワークは目にも見えないし、イメージもしづらい。。。だけどSEなら知っておかねばならないことです。
この本はネットワークの仕組みが、歴史からわかるような本になっていて、「そもそも」なところもわかりやすく解説されていて、サクサク読むことができます。
更に専門知識を身につけたい人は情報処理のネットワークスペシャリストなどを受けることをお勧めしますが、まずはSEとしての基本的なネットワーク知識を身につけるのであればお勧めの1冊です!
プログラムはなぜ動くのか 第3版 知っておきたいプログラムの基礎知識 – 2021/5/1
残り2冊!9冊目のお勧めの本は、システムが動く仕組みが手にとるようにわかる1冊です。
これまた日経NETWORKさんから出ている「〜〜はなぜ〜〜なのか」シリーズの1つです。
僕はこのシリーズものが大好きで一通り読んだのですが、ネットワークとプログラムの2冊は特にみんな読んでおいて損はないと思うのでこちらもご紹介です!笑
皆さんの中にはpythonやjavascriptなどを使って趣味でコーディングをされている方も多くいらっしゃると思います。僕も昔はそうでしたが、処理はかけたとして、「メモリー」とか「CPU」とかとプログラミングの関連性ってわかりにくくないですか??
メモリは最近の言語であればGC(Garbage Collection)が搭載されていることが多いのであまり意識しないかもしれませんが、インフラ構築や基盤性能などをセットで設計するときには必ずつきまとう話です。
コーディングをしたあと、そのコードをPCはどのように処理をしているのかを知っておくことで、更に1歩進んだシステムエンジニアになれると思いますので、ぜひ読んでみてください!
新しいLinuxの教科書
ついに最後の1冊となりました。最後はLinuxのコマンドについて体系的にまとまった本です!
システムエンジニアになれば確実に必要になるのがLinuxの操作です。
環境構築や、障害対応など、Linuxを使う場面は頻繁にあります。
LinuxはCLI(command line interface)なので、WindowsやMacのようにマウスでクリック…みたいなことはできません。コマンドを組んで実行する必要がありますが、慣れないうちは難しい…
この本には実務で使える便利なコマンドがひたすら書いてあるので、手元に置いてリファレンス的に使うことをおすすめします!!
いかがでしたか??この記事を読んでくださっているみなさんはスキルアップしたいという意欲が高い方なので、もう読んだことがある本もあったかもしれませんね!
今回ご紹介した本を読むだけでも、システムエンジニアにとって必要なスキルの多くを身につけることができるので、ぜひ頑張って読んでみてくださいね!!
今回は技術よりのおすすめ本を取り上げましたが、システムエンジニアに必要なスキルは他にもたくさんあります!
以下の記事ではエンジニアが実務で活躍するために必要なスキルをまとめていますので、併せてご覧ください!
-
-
SEで活躍したいなら【絶対】見て!システムエンジニアに必要なスキル5選と習得法!
続きを見る
ではまた!