SE 3年目で読んだ技術書52冊

# 概要
2ヶ月遅刻ですが、2023年4月～2024年3月で読んだ本145冊のうち技術寄りの本から52冊をざっくり紹介します。
オススメ度は10段階です。

1年目。

https://qiita.com/BinomialSheep/items/82c299691bba157b3351

2年目。

https://qiita.com/BinomialSheep/items/0453861218f728d86744


# プログラミング言語

### [実践Rustプログラミング入門](https://www.shuwasystem.co.jp/book/9784798061702.html)
オススメ度★6
章ごとに1つのプログラムを作成しながら、Rustとそのエコシステムの特徴を学べる形式の本です。Rust哲学や文法解説は少なめです。
Rust学習者にはプログラミング初心者が少なく、質の高い公式ドキュメントも充実しているため、この形式の本は多い印象ですが、その中でも最もポピュラーな本です。
多様な用途を紹介する都合で作成するプログラムも多様で、これは好みが分かれるかなと思います。「ざっくり出来ることが分かればいいので後半は読み流すだけで、あとは自分で作りたいものを作りながら学ぶ」という人にはオススメです。一方で、マトモにコードを理解して環境構築して動かそうとすると、Rust学習以外の面で詰まりうる箇所がいくつかあります。「サンプルプログラムを写経しながら学びたい」という人には『高効率言語 Rust』の方が向いていると思います。

### [初めてのGo言語 ―他言語プログラマーのためのイディオマティックGo実践ガイド](https://www.oreilly.co.jp/books/9784814400041/)
オススメ度★7
他言語を理解している人を対象にした、構文を一通り追いつつ「Goらしさ」を解説したオライリー本。本編も十分良い入門書ですが、速習用に付録されたサマリーと実例が特に優れており、Goの1冊目として素晴らしいです。

### [独習アセンブラ 新版](https://www.shoeisha.co.jp/book/detail/9784798170299)
オススメ度★9
18章中1-6章をコンピュータの構造の解説に割いていて、非常に勉強になりました。アセンブリ言語を直接書かない人にも（大抵書かない人だと思いますが）オススメです。
7-12章がアセンブリ言語の主要命令で、ここをザッと読めばリバースエンジニアリングとして必要な知識は身につき、自分で簡単なプログラムも書くことができると思います。13章以降は浮動小数点、SIMD、個別のアーキテクチャの話など発展的な内容です。

### [７つの言語 ７つの世界](https://www.ohmsha.co.jp/book/9784274068577/)
オススメ度★8
Ruby、Io、Prolog、Scala、Erlang、Clojure、Haskellをそれぞれ1週間で学ぶくらいの分量で掘り下げた本。業務でまず触らない言語も多く、「正直Ioなんて聞いたことないけど……？」と思いましたが、尖った特徴と魅力を持つ言語ばかりで、視野が広がります。
非情報系のエンジニアだと3年目あたりで「プログラミング言語なんてどれも同じ」「プログラミング言語という手段の話は卒業してもっと上流の話をすべきだ」と言うようになることもあるようですが、その認識を変える1冊になるかもしれません。
一方で、現代の情報科学徒だと「静的型付けこそ疑う余地なく正義だ」という考えになりがちですが、本書では動的型付けも活躍していますし、（初期のJavaに嫌気が差した）著者世代の型についてのコラムも面白く、「もうPrologやHaskellなら大学でちょっと触ったよ」という人にもオススメです。

# AI
### [ディープラーニングを支える技術 ——「正解」を導くメカニズム[技術基礎] ](https://gihyo.jp/book/2022/978-4-297-12560-8)
オススメ度★10
密度が非常に濃く、技術書というよりは超絶丁寧なサーベイ論文のような本です。
刊行から2年半経っていますが、当時の最新が記述されているため「ディープラーニングの最新動向」のような節以外は十分新しく、いずれも今でも（今こそ）理解しておきたい内容でした。
生成AIなどを扱った続編『ディープラーニングを支える技術2』も最近読了し、そちらもオススメです。

### [生成AIで世界はこう変わる](https://www.sbcr.jp/product/4815622978/)
オススメ度★6
一般向けに生成AIを広く解説した新書。著者が松尾研の博士後期課程で学術的・技術的に信頼でき、2024年に出版されていて比較的新しい点で、いい本です。

### [面倒なことはChatGPTにやらせよう](https://www.kspub.co.jp/book/detail/5342909.html)
オススメ度★9
ChatGPT本は毎月たくさん出ていますが、玉石混交で厳選しにくいですね。
本書は「機械学習に詳しい著者が本気で有料版ChatGPTを使い倒している」のが推せます。
内容的には業務効率化に特化していて、ファイル操作、officeソフト活用、データ分析可視化などを扱っています。まだあまり触ったことない人の「結局生成AIって我々の日常業務で何ができるの？」への回答としてピッタリです。
タイトルがインスパイアしているように『退屈なことはPythonにやらせよう』（2017）の2024年版という立ち位置かなと思います。

### [大規模言語モデルは新たな知能か――ChatGPTが変えた世界](https://www.iwanami.co.jp/book/b625941.html)
オススメ度★9
岡野原さんが一般向けに目一杯嚙み砕いて書いた、現時点の最良のChatGPT解説の1つ。「なぜGPTはここまで上手くいってるか」「何がまだできないか」というのは研究者だけでなくChatGPTを活用する一般ユーザーにとっても理解する価値のある話です。

### [ゼロから作るDeep Learning ―Pythonで学ぶディープラーニングの理論と実装](https://www.oreilly.co.jp/books/9784873117584/)
オススメ度★10
素晴らしいの一言。 理論にも触れながらガリガリ実装して、単層パーセプトロンからCNNまで作りきります。これまでブラックボックスだったディープラーニングが、これくらい手を動かしてようやく仕組みが分かってきました。
それでもChatGPTまでは遥か遠いですが、本シリーズは続刊が続々出ており、2024年4月に生成モデル編の5巻が発売され、6巻はLLMを予定していることが発表されました。楽しみです。

### [ゼロから作るDeep Learning ❸ ―フレームワーク編](https://www.oreilly.co.jp/books/9784873119069/)
オススメ度★6
この巻ではなんと、ディープラーニングフレームワークを自作します。サイエンス面ではゼロつく①の復習が多いですが、フレームワークとして見通しよく実装することで、理解がかなり深まります。また、エンジニアリング面でも多くの学びがありますし、インクリメンタルに大きなものが出来ていく体験が純粋に楽しかったです。

### [ゼロから作るDeep Learning ❹ ―強化学習編](https://www.oreilly.co.jp/books/9784873119755/)
オススメ度★8
（非深層）強化学習の入門としてとても良かったです。
競技プログラミングのヒューリスティックコンテストに取り組んできた中で、原理が知りたかったこと、ボンヤリ考えていたことが定式化されていて、勉強になりました。
ゼロつく1や3に比べると、「手を動かして実装レベルで理解する」というよりも「理論の直感や数式変形が分かれば、実装はまぁ自然にできる」感が強かったですが、数式変形の解説も丁寧で追いやすかったです。
深層強化学習入門としてもさわりは分かりやすいかなと思いますが、dezeroやgymをそのまま使えないのを解決する必要があるのと、ゼロから作ってる感はあまりないので、「分かった！」感はあまり得られなかったです。少なくとも自分は、もう少し理論寄りの教科書を読みながらいくつかプログラムを組んでみないと、「深層強化学習を実課題に適用できる」レベルには至らないかなぁと思いました。

### [はじめてのディープラーニング2 Pythonで実装する再帰型ニューラルネットワーク, VAE, GAN](https://www.sbcr.jp/product/4815605582/)
オススメ度★5
フレームワークなしで実装付きで解説してくれるという点では『ゼロつく』シリーズと似たコンセプトですが、当時はゼロつくシリーズになかった生成モデルに章を割いている点が良かったです。
（2024年5月現在、VAEはゼロつく⑤で詳しく説明されています。GANは扱っていません）

### 補足
生成AIの最新動向については、実際の利用や、OpenAIやDeepMindなどのテクニカルレポートや、論文から学ぶことも多かったです。また、理論的な理解については『コンピュータビジョン最前線』、業務適用やアプリケーション作成の現状については『Software Design』といった雑誌の特集や連載が役立ちました。例えば『Software Design 2023/12』の「特集２：ChatGPTを組み込んだサービスを開発する～「食べログ」の事例に学ぶPoC推進の秘訣～」などです。


# メタバース
### [メタバースの教科書: 原理・基礎技術から産業応用まで](https://www.ohmsha.co.jp/book/9784274230363/)
オススメ度★9
国内第一人者の雨宮先生のメタバース本。 メタバース本だとユーザ目線の『メタバース進化論』やベンチャー目線の『メタバース さよならアトムの時代』が代表的な良著ですが、専門家による総説となると日本語ではこの本が唯一という認識です。 技術書としては特に4章（VRと身体）が面白く、ビジネスパーソン的には5章（産業応用）も気になるところだと思います。 大学の教科書らしく1章（歴史）、2-3章（要素技術）も濃密にまとまっていて、メタバース、XRに興味があるのであれば読んでおくべき1冊だと思いました。

# アルゴリズム
### [アルゴリズム図鑑: 絵で見てわかる33のアルゴリズム](https://www.shoeisha.co.jp/book/detail/9784798172439)
オススメ度★8
フルカラーで大量の図を使って、アルゴリズムの「動き」をイメージできるように解説している本です。2023年に増補改訂されました。コードや証明はなく直感的理解の形成に徹していて、その分実装が比較的高度なアルゴリズムも初学者向け書籍の中で紹介することができていて、優れたコンセプトの本です。
類著に『アルゴリズム ビジュアル大辞典』があります。『アルゴリズム図鑑』の方がより扱うアルゴリズムを絞っていて、後半は実社会での適用（セキュリティ、クラスタリング、データ圧縮など）駆動で選ばれているので、アルゴリズムを学んだことないITエンジニア向けかもしれません。『ビジュアル大辞典』の方は160ページ分厚く、紹介しているアルゴリズムも多く、終盤はUnion-Find、凸包、セグ木、平衡二分探索木など計算機科学チックな紹介内容になっていて、そちらも面白いです。

### [アルゴリズム実技検定　公式テキスト［上級］～［エキスパート］編](https://book.mynavi.jp/ec/products/detail/id=135840)
オススメ度★6
PASTの公式対策本で、AtCoderのレートで言えば1200～2000くらいが対象読者かなと思います。
ネットワークフローや遅延セグ木に章が割かれている点がユニークで、（競プロ系アルゴリズム本として定番の）『鉄則本』『蟻本』を持っている人も買う価値があります。

### [データ構造とアルゴリズム（五十嵐健夫）](https://www.saiensu.co.jp/search/?isbn=978-4-86481-085-2&y=2022)
オススメ度★6
学部2年生で使う教科書の中でもかなり平易で分量も少なく、挫折しにくそうです。
演習問題もアルゴリズムの表面的な挙動の理解が中心で、学習の一歩目としてかなりオススメできます。 
一方で、正当性や計算量の証明が少なく、「情報系学科でアルゴリズムを学んだ」と言うには物足りません。2冊以上取り組む前提の1冊目として読むというのが良い使い方だと思います。

### [珠玉のプログラミング 本質を見抜いたアルゴリズムとデータ構造](https://www.maruzen-publishing.co.jp/item/b294732.html)
オススメ度★4
アルゴリズム設計が中心で、正当性の検証やアルゴリズム以外による高速化の話題もあります。古典的名著で、個人的にはとても面白かったですが、現代では読者を選ぶ本かもしれません。オーダーレベルの計算量削減が相当程度実践できていて（AtCoder水色レベル）、かつ計算機科学としてのアルゴリズムも履修済み（学部2単位レベル）の人にはぜひオススメです。今では殆ど気にされないメモリ節約やコンパイラがやってる最適化の話題が新鮮で勉強になります。そうでないのであれば、情報科学の教科書や近年の競プロ本の方が目的に適っていると思います。

### [ゲームで学ぶ探索アルゴリズム実践入門～木探索とメタヒューリスティクス](https://gihyo.jp/book/2023/978-4-297-13360-3)
オススメ度★9
『[世界四連覇AIエンジニアがゼロから教えるゲーム木探索入門](https://qiita.com/thun-c/items/058743a25c37c87b8aa4)』というQiita記事から発展した本で、素晴らしいという他ないです。
ゲームと手法の整理、○○サーチの詳しい解説、DUCTの解説、評価関数設計や高速化のテクニック集など、いずれも日本語で初級レベルからここまで詳しく説明している書籍は他にないと思います。
ヒューリスティックプログラムやゲームAIを作る上で非常に勉強になりました。

# セキュリティ
### [入門セキュリティコンテストーーCTFを解きながら学ぶ実戦技術](https://gihyo.jp/book/2022/978-4-297-13180-7)
オススメ度★8
CTFのとっかかりとしてとても良かったです。各ジャンルの例題について、その解法や着想ポイントやツールの紹介はもちろん、より深く学ぶための書籍案内があり、この本を読んだあとに何をすれば良いかも分かります。
なお、この本の例題を実際に解きながら入門するのは微妙で、入門用問題集として知られるcpawCTFから解き始める方が良いです。そもそも例題はジャンルの説明に役立つ程度に一捻りされていてCpawCTFのLebel 1よりは難しいですし、書籍のコマンドそのままでは使えないツールや、実はPython3でなくPython2のコードが混ざっているためです。

### [サイバー攻撃 ネット世界の裏側で起きていること](https://bookclub.kodansha.co.jp/product?item=0000226694)
オススメ度★3
有名な脆弱性の話や著者が発見した脆弱性の発見・報告・修正についてなど、具体的なエピソードが多く知見が広がります。あまりセキュリティ技術の勉強のための本ではなく、読み物という感じです。

### [はじめて学ぶバイナリ解析　不正なコードからコンピュータを守るサイバーセキュリティ技術](https://nextpublishing.jp/book/11353.html)
オススメ度★7
CTFバイナリジャンルの初級向けの本として、特に7章以降がCTFにおいて実用的でとても良かったです。
サイバーセキュリティ一般に広く書かれた本ではなく、「CTFのバイナリジャンルについて学びたい」という狭い目的に特化した本ですが、その分ドンピシャで知りたいことが書かれています。CTFバイナリのために1冊読むならこれです。

### [コンピュータハイジャッキング](https://www.ohmsha.co.jp/book/9784274222740/)
オススメ度★8
CTFでいうエクスプロイト分野の関連技術が広く詳しく扱われています。こちらはCTF本でなく一般的な技術書なので、「CTFのビギナー向け問題を解説している」わけではないですが、良い本です。

### [リバースエンジニアリングバイブル ~コード再創造の美学~](https://book.impress.co.jp/books/1113101030)
オススメ度★6
序盤が丁寧で、韓国語からの翻訳も読みやすく、良い本。前半は「for文やif文はどうコンパイルされるか」「continueや文字列制御はどんなパターンとしてアセンブリ言語に現れるか」など、アセンブリ言語からCで書かれたコードを想像するための初歩的かつ実践的なテクニックが書かれています。C++の話があるのもユニークです。後半は難読化とその解読のいたちごっこの話。

### [たのしいバイナリの歩き方](https://gihyo.jp/book/2013/978-4-7741-5918-8)
オススメ度★3
メモリダンプしてゲームのチートをする章がある点や、原理というよりはツールの紹介が多い点が、上述の本との差異です。

### [暗号解読（上・下）](https://www.shinchosha.co.jp/book/215972/)
オススメ度★8
暗号史とそれを取り巻く人間ドラマがストーリー仕立てで綴られていて、小説的で楽しいです。上巻はシーザー暗号からエニグマ解読まで、下巻はDESから20世紀末の量子暗号までが範囲。 原著が1999年なので、現代暗号としてはこの本では物足りないですが、現代暗号やる上でも古典暗号の知識は前提ですし、単純に面白く読める本なのでオススメです。


# ネットワーク・クラウド

### [DNSがよくわかる教科書](https://www.sbcr.jp/product/4797394481/)
オススメ度★9
内部構造から実践までとてもよく分かりました。ネットワークの全体像の分かる入門書を読んだ後に要素技術を学ぶ本の1つとしてオススメです。ネットワークスペシャリストの副読本としても勉強になりました。

### [情報処理教科書 ネットワークスペシャリスト 2023年版](https://www.shoeisha.co.jp/book/detail/9784798177571)
オススメ度★5
午後頻出テーマの教科書で、やや読みづらいですが役には立ちます。マスタリングTCP/IPなどで基礎を固め、過去問道場で午前Ⅱが合格点取れるようになってから読むべき本だと思います。


### [クラウドエンジニアの教科書](https://www.c-r.com/book/detail/1469)
オススメ度★6
ビジネスパーソン向けのクラウド本や応用情報レベルの教養と、ベンダー入門資格レベルの間を埋めてる感じ。レベル感としてはかなり入門的ですが、よく纏まっているしサラッと読めるので、実際にAWSハンズオンなどをやる前に（あるいは並行して）読んでおいて良さそうです。

# Linux
### [新しいLinuxの教科書](https://www.sbcr.jp/product/4815624316/)
オススメ度★10
初歩から丁寧でボリュームがあり、エンジニア必読の技術書リストに入るような良著。日常的に何年もLinuxを使っていても、知らなかったことが割とありました。日々の作業効率に効いてます。

### [本気で学ぶ Linux実践入門 サーバ運用のための業務レベル管理術](https://www.sbcr.jp/product/4797397642/)
オススメ度★3
入門書ではあまり触れられていない、管理業務で使うコマンドについて広く書かれているのが特徴的です。
Linuxサーバ運用や情シス的管理に業務で関わることになって読むなら◎
ソフトウェア開発者が広い教養として読むなら〇
コンピュータサイエンス的な文脈でOSを知るために読むなら△
Linuxの1冊目として読むなら×（『新しいLinuxの教科書』がいい）

### [そろそろ常識? マンガでわかる「Linuxコマンド」](https://www.c-r.com/book/detail/1404)
オススメ度★4
入門書。VirtualBoxの導入やcd, lsからサポートされていて、Webサーバーにサイトを置いてVirtualBox外からアクセスするところくらいまでをゴールにやります。ちゃんと手を動かしますし一歩一歩がかなり丁寧という印象です。 『Linuxブートキャンプ』などだと紙面の都合上Webサーバーへのアクセスが一歩目で行間が広いので、本当に初めてLinuxを触るところから始める場合はこっちの方がとっつきやすくて良いと思います。

# コンテナ
### [開発系エンジニアのためのDocker絵とき入門](https://www.shuwasystem.co.jp/book/9784798071503.html)
オススメ度★10
Docker入門の決定版になりそうです。
コンテナの何が嬉しいのかというところから、写経してコンテナを作って壊してしながら各コマンドを学んでいき、最終的にはApp、DB、Mailの3つのコンテナを作って簡単なウェブサービスを作るところまでやる本です。
個人開発でドキュメント見ながらDockerfileとCompose.yamlを書く分にはこれ1冊で困らないと思います。
ステップの段差の小ささと必要十分な到達点の高さが兼ね備わった、「こういうのが理想的な入門書なんだよな～！」と膝を打つ1冊でした。

### [Docker&仮想サーバー完全入門　Webクリエイター＆エンジニアの作業がはかどる開発環境構築ガイド](https://book.impress.co.jp/books/1121101138)
オススメ度★3
全くDockerを使ったことない人が「手順書通りに環境構築して」と言われて1日で読むみたいな用途で良さそうです。
自分で考えながらDockerfileを書けるようにはなりませんが、何も分からないよりはこの本を読んでおくと役立つと思います。ちゃんと自分で書けるようになりたいのであれば『Docker絵とき入門』です。
Kindle Unlimitedで読めるので、コピペで使える設定ファイル集と、VSCodeとの連携について書かれた付録だけでも読むといいかもしれません。

# その他技術

### [情報数学の基礎(第2版):例からはじめてよくわかる](https://www.morikita.co.jp/books/mid/005272)
オススメ度★8
情報数学の教科書としてはおそらく最も簡単な部類の1冊です。
非情報系卒のエンジニアが応用情報を取ったあとくらいに「ちゃんと計算機科学も学んでみたい」と言ってきた場合、いくつか渡す本の中にこれを含めると思います。
学部3, 4年レベルの教科書だと既知として扱われがちな命題論理、集合、写像、関係、数学的帰納法などについてこれ以上ないほど丁寧に書かれています。
非情報系エンジニアが読むなら◎。
情報系学科でサボってた学部3, 4年生が挫折せず学び直すには◎。
情報系院試の初手として読むなら〇（準備時間と財布次第ですが、半年切ってるならもう少し難しい本から入ってよさそう）
情報科学に興味ある高校生が読むには△（もっと知的好奇心ドリブンな本で良さそう）

### [達人が教えるWebパフォーマンスチューニング 〜ISUCONから学ぶ高速化の実践](https://gihyo.jp/book/2022/978-4-297-12846-3)
オススメ度★9
ISUCON対策本の決定版。
典型的な高速化手法よりも前に、モニタリングや負荷試験から丁寧にパフォーマンスチューニングの基本が解説されており、ISUCONに限らずとても勉強になりました。

### [作りながら学ぶ Webシステムの教科書](https://info.nikkeibp.co.jp/media/LIN/atcl/books/081600038/)
オススメ度★3
テーマもハンズオンも豊富で、講義の副読本として使う用途で良さそうです。一方で初学者が独学で使うと困惑しそうです。ハンズオンは初心者が片っ端から実践するような構成になっておらず、どこは最初は読むだけでよくどの順で手を動かすか、講師が導いてあげる必要があると思います。

### [Unityの教科書 Unity 2022完全対応版](https://www.sbcr.jp/product/4815617158/)
オススメ度★8
良いです。特に、ただ写経するだけではなく、オブジェクトの洗い出しやクラス設計の基礎がこっそり盛り込まれている点が素晴らしいと感じました。この本を読んだ後に自分の作りたいゲームを作り始められるようになっています。

### [ほんの一手間で劇的に変わるHTML & CSSとWebデザイン実践講座](https://www.sbcr.jp/product/4815606145/)
オススメ度★6
HTMLとCSSを普通に使えるのは前提として、5つの異なるタイプのサイトをハンズオンで作りながらレベルアップする本。類書をよく知りませんが、ベストセラーの定番書ですし進め方も王道で、良いと思います。

# システム設計
### [はじめての設計をやり抜くための本 第2版 概念モデリングからアプリケーション、データベース、アーキテクチャ設計、アジャイル開発まで](https://www.shoeisha.co.jp/book/detail/9784798153766)
オススメ度★7
設計に関する駆け出しエンジニア向けの情報がよくまとまっています。特にSIerの開発として地に足が付いたリアルさがあり、流行手法や古典的名著を読む前にこれを一読することを勧めたいです。2022年に全面的に改訂しておりモダンな開発にも言及していて、この本だけでは実践するのは難しいにしても、次のステップへのキッカケになっています。なぜか最終章だけ論点があやふやで読みにくい長文なのですが、それ以外は新人研修の副読本としてオススメできます。

### [データ指向アプリケーションデザイン ―信頼性、拡張性、保守性の高い分散システム設計の原理](https://www.oreilly.co.jp/books/9784873118703/)
オススメ度★10
データの量、複雑さ、変化の速度が問題になるようなシステムについて包括的に書かれたオライリー本。
特に5-8章の分散データシステムの要素技術とその一長一短、そして続く9章が非常に興味深く読めました。データ構造やトランザクションに関する技術的に込み入った話も重厚で、勉強になりました。例えば、Twitterを実装する場合に「フォローしているユーザーの全てのツイートをタイムライン順に並べるだけ」がどういう風に難しいか想像してから読むのも良いです。
かなり難しい話題も多く、数ヶ月掛けて読破しましたが、「これの前に読むべき本」として定番のものは知られていない気がします（あれば教えてください）。RDBMSの理論もきちんと学ぼうと思うと重いので……。個人的には、データベーススペシャリスト取得直後に読むと、学んできた知識が分散データシステムの広大な世界に繋がり楽しいのではないかと思います。

### [システム設計の面接試験](https://www.socym.co.jp/book/1406)
オススメ度★1
システムデザイン面接本を和訳したのは素晴らしいと思うのですが、誤訳が多すぎてツラいです。超短納期かつ有識者が翻訳に関わることなく出版されたのか、技術用語の一般的でない訳出やニュアンスの誤った訳出も多いですし、単純な数字の桁数誤訳で推計値がめちゃめちゃなことになっていたりします。正誤表もありません。
原著を含めて英語であればシステムデザインの情報は多いので、それらを機械翻訳して読むことを勧めます。

### [入門 監視 ―モダンなモニタリングのためのデザインパターン](https://www.oreilly.co.jp/books/9784873118642/)
オススメ度★9
監視にまつわる様々な観点がコンパクトにまとまっていて勉強になりました。
自分で監視設計をする際に特に使えそうです。通読すれば観点漏れがないかチェックできるし、最終章「監視アセスメントの実行」を読むだけでも大筋が分かります。自分が直接設計しない場合も、プロジェクトのログ設計を理解する上で役立ちます。


# 要件定義
### [はじめよう! 要件定義 ~ビギナーからベテランまで](https://gihyo.jp/book/2015/978-4-7741-7228-6)
オススメ度★6
要件定義の1冊目として定評の本。語り口も内容も平易で、新人研修と並行して読む本の1冊としてオススメできます。不満点としては、入門書として「詳しくは他の本を読んでください」という立場を取りながらブックガイドがないにもかかわらず自著の宣伝はしていることくらいです。


# プロジェクトマネジメント
### [プロジェクトのトラブル解決大全 小さな問題から大炎上まで使える「プロの火消し術86」](https://www.kadokawa.co.jp/product/322108000829/)
オススメ度★6
炎上プロジェクトで使える実践的なtips集。かなり具体的なダークサイドスキルまで載っていて面白いし役に立ちます。
本の中でも明記されていますがシステム開発に限らずプロジェクト一般の話なので、逆に言えば「ソフトウェア開発の特性に関するエビデンスを踏まえたマネジメント」とはギャップもあります。それも含めて「たしかに上の世代のPMってこういうテクニック使ってるよなぁ」という知見としても学びがありました。

# その他ソフトウェア工学
### [エクストリームプログラミング](https://www.ohmsha.co.jp/book/9784274217623/)
オススメ度★5
XPの原典。散々引用されているので、目次レベルではどこかで読んだ内容が多いとは思いますが、原典だけあり「なぜこのプラクティスがあるか」という理由が明記されています。もはや割と取り入れられていて、今となっては「エクストリームか？」感のあるプラクティスもいくつかありますが、とはいえまだまだ実践できていないことも多いので、読んで実益のある本でした。

### [レガシーコードからの脱却 ―ソフトウェアの寿命を延ばし価値を高める9つのプラクティス](https://www.oreilly.co.jp//books/9784873118864/)
オススメ度★4
アジャイル関連で読むべきとされている本の1つ。
9つのプラクティスに分けて広く浅く解説していて、読書案内もあるので、アジャイルについて最初に読む本にしてもいいかもです。

# 読み物
### [達人プログラマー(第2版): 熟達に向けたあなたの旅](https://www.ohmsha.co.jp/book/9784274226298/)
オススメ度★10
「良いソフトウェア開発者になる」ためのtipsが、哲学や原理原則から、具体的な手法まで100個紹介されている本。
初版は2000年頃に出た本なので「いわゆる古典的名著ね～」くらいのノリで読み始めたのですが、2021年の第二版で大幅に加筆修正されたようで、特に後半はプロパティベーステストなどめちゃめちゃ新しいです。
数年置きに何度も読み直したい本の1冊になりました。

### [世界一流エンジニアの思考法](https://books.bunshun.jp/ud/book/num/9784163917689)
オススメ度★10
この本には「一流から超一流になるための神髄」ではなく、「二流三流が一流になるための基本」が書かれています。
ビジネスパーソンとして優秀ではあってもエンジニアとしては一流ではなかった著者が、40代になってからMicrosoftのプログラマチームで働く中で、貪欲に同僚から学んで言語化したことが凝縮されています。

### [UNIXという考え方―その設計思想と哲学](https://www.ohmsha.co.jp/book/9784274064067/)
オススメ度★6
90年代に書かれた古典的名著。UNIX哲学や当時の他のOSの話の歴史的な読み物として興味深いです。以下記事とコメント欄も合わせて読むと趣があります。

https://qiita.com/ko1nksm/items/f1800c6ff6dd649d7429

### [なぜ、あなたの仕事は終わらないのか](https://bunkyosha.com/books/9784905073413)
オススメ度★8
「最初の2割の時間で8割完成させる」といういわゆるロケットスタート時間術の元ネタ本です。学ぶ箇所が多く、特にエンジニアのような職種であれば取り入れやすく、オススメです。

### [自作PC自由自在2023](https://www.eiwa-inc.com/book/b617583.html)
オススメ度★6
デスクトップPCを買い替えた際に読みました。あまり類書と比較していないのですが、良かったです。自作パーツオタクじゃない場合、買い替えのタイミングでしか最新動向を調べないですが、時々こういう雑誌を読んでおくことで浦島太郎状態を防げていいのかもしれません。

# おまけ：技術書以外から5冊

### [メカニズムデザインで勝つ: ミクロ経済学のビジネス活用](https://bookplus.nikkei.com/atcl/catalog/2020/9784532358600/)
オークション理論やマッチング理論とその社会実装成果について、ワークショップの書き起こし形式で大学教授と実務家が紹介する書籍です。
Gale-ShapleyアルゴリズムやTTCアルゴリズムのような（特定の定義において）公平性や最善性が証明されたアルゴリズムを、実課題に適用して社会を良くする、というのはIT技術者も貢献したい領域であり、メカニズムデザインやマーケットデザインはエキサイティングな分野だと感じています。

### [戦略ごっこ―マーケティング以前の問題](https://bookplus.nikkei.com/atcl/catalog/23/11/28/01123/)
エビデンスベースドマーケティングの入門書。
「ビジネス本で通説とされているマーケティング理論」を取り上げて、学術的な実証研究に基づいて「こういう文脈に限って有効」「根本的に事実ではない」など整理した本です。
マーケティングは実務指向かつ社会心理学寄りの分野なので「仮説に合う事例を集めただけでそもそも理論ではない」「論文の再現性がないことが近年判明したが一般書では訂正されていない」「あくまでN=1の成功体験自伝」などがごちゃ混ぜになりがちなので、非常に有用なコンセプトの書籍だと思います。自分もマーケティングの本を読んできた中で「ふーん、そういうものか」と誤認してしまっていたものがいくつもあり、とても勉強になりました。

### [Science Fictions　あなたが知らない科学の真実](https://www.diamond.co.jp/book/9784478113400.html)
再現性問題や科学不正をテーマにしたメタサイエンス本。
上述の『戦略ごっこ』と似ていますが、本書は[具体例の列挙](https://note.com/s1000s/n/na0dbd2e8632d)というよりも「それを引き起こす現行システムの不備とそれを改善するための取り組み」に焦点を当てた本です。特に大学院生や院進予定の学部生にオススメなのですが、ビジネスパーソンにとってもうっかりHARKingしないために有用です。

### [GitLabに学ぶ 世界最先端のリモート組織のつくりかた ドキュメントの活用でオフィスなしでも最大の成果を出すグローバル企業のしくみ](https://www.shoeisha.co.jp/book/detail/9784798183916)
世界中でフルリモートをしているGitLabのハンドブックに基づいた本です。
リモートチームに必要な話が前半で、後半は人事評価とか含めてGitLabに学ぶという構成です。
リモート組織の成功に必要なドラスティックな変更が細かく書かれていて、とても面白かったですが、2年前に出てほしかったって感じもします。既に失敗して出社回帰に舵を切った企業に「いやそれはコロナ禍の施策が中途半端だったからです」と突きつけるのは骨が折れそうですね……。

### [ゼロからトースターを作ってみた結果](https://www.shinchosha.co.jp/book/220002/)
デザイン系の大学院生が、真に原材料からトースターを作るドキュメンタリー本です。 市販のトースターをリバースエンジニアリングし、計画を立てて、鉱山から鉄鉱石を持ってきて自宅の庭で精錬するところから、面白おかしく綴られています。
我々がプログラミング言語やチューリング完全なコンピュータを自作する時と共通するワクワク感があり、低レイヤ自作のモチベーションが刺激されました。