生産性向上ブログ

継続的な生産性向上を目指すエンジニアのためのブログ

2021 年読んで良かった本 5 選

今年もそろそろ終わりなので、2021 年に読んでよかった本をまとめておきます。

www.kaizenprogrammer.com

↑去年のまとめです。

余談ですが、今年はこちらのブログには全然記事を書いてないですね。。zenn の方で Selenium とか GitHub Actions とかについて書いたりしてるので、興味ある方はそちらもフォローしてください。

zenn.dev

モノリスからマイクロサービスへ

『マイクロサービスアーキテクチャ』本の著者の続編です。前著はマイクロサービスアーキテクチャの一般的なガイドだった一方で、こちらの本では既存のモノリスなシステムをどのようにマイクロサービスアーキテクチャに移行していくかを中心に書かれています。

この本ではマイクロサービスアーキテクチャは銀の弾丸ではないということを繰り返し書かれています。そして、どういうときにマイクロサービスアーキテクチャへの移行を選択するべきか、代替となる手段としてなにがあるか、といったことがとてもよく整理されています。その上で、組織にどのように働きかけるか、どこからマイクロサービスに切り出していくか、一番厄介なデータの整合性の問題をどうするか、といった内容を教えてくれます。

モノリスからマイクロサービスへ移行することを検討している開発者にはぜひおすすめの一冊です。また、チームで読むことでマイクロサービスについての共通認識を作ることができるでしょう。

プロダクトマネジメント ビルドトラップを避け顧客に価値を届ける

顧客中心主義のプロダクトマネジメントについて書かれた一冊です。マーケットリーという架空の企業の物語を交えつつ、顧客中心主義でない場合のよくある失敗や、顧客中心主義で進める場合のプロダクトマネージャーの役割、戦略やフレームワーク、プロセス、組織のあり方についてなどが書かれています。

ややくどかったりポジショントークのような部分もありますが、全体的には顧客中心主義で進めるためのプロダクトマネジメントについてよくまとまっていると思います。実際にプロダクト開発をしている人が読めば、なにかしら改善したい点が見つかるのではないでしょうか。

一方、言うは易し行うは難しな内容かなとも思いました。本の中の物語ではスムーズに改善が進みますが、実際にこの本の内容を適用してみるのはそこまで簡単ではないと思います。

また、「イニシアティブ」みたいにカタカナ英語で当たり前に出てくる用語が日本人的な感覚だとちょっと意味をとりづらい文が多かった印象です。

顧客に価値を届けるというところになにかしら課題を感じているチームで読むと、共通認識を作れていいと思います。

[試して理解]Linuxのしくみ 実験と図解で学ぶOSとハードウェアの基礎知識

Linux の低レイヤな部分の仕組みを解説した本です。カーネルのユーザモードやシステムコール、プロセス管理、プロセススケジューラ、メモリ、キャッシュ、ファイルシステム、ストレージデバイスあたりを扱っています。

本書の特徴としては、その仕組みが本当であることを確認するためのコードが用意されていることです。動作結果や分析のためのグラフも用意されているので、そういった手法も勉強になります。

コードやシェルコマンドの解説については一応あるものの、初心者レベルの人には難しい内容ではあるので、ある程度コードを書いたことがある人向けだと思います。いわゆる古典的名著と呼ばれるような本と比べれば読みやすい部類なので、ある程度経験がある開発者がもう一歩詳しくなる取っ掛かりとしてもとてもよい本だと思います。

ユニコーン企業のひみつ Spotifyで学んだソフトウェアづくりと働き方

タイトルからするといろいろなユニコーン企業の共通点について書かれた本のように見えますが、実際の中身の大半は Spotify の事例について書かれています。技術的な側面よりも文化的な側面について書かれた本です。

本の中では Spotify の具体的な組織構造が登場しますが、訳者あとがきにも書かれている通り、本文で出てくる組織構造は筆者が Spotify に在職中のスナップショットでしかないので、参考程度にしておくのがよさそうです。重要なのは、抽象的な目標で方向を揃える、自律したチームを作る、権限を与える、信頼する、といったところだと自分は思いました。本を読んでる人の組織のコンテキストに合わせてうまく改善のイテレーションを回していけるようにするのが本書の推奨するところかと思います。

個人的には採用とか育成とかに触れられていなかったのが少し残念ではありました。最初からよい人を採用しているから自律したチームを作れるのか、自律できるようになるまでなにか支援があるのか、もう成長まで含めて信頼して放っておくのか、といったところが気になりました。

自社開発の IT 企業で働いている人が主にターゲットかと思われますが、それ以外の業界の人でもなにかしら得るものはあるのではないかと思われます。ただ、これを読んだからうまくいくというわけでもなく、なかなかどの層におすすめするか難しいです。純粋に Spotify の文化や組織構造の読み物として楽しむのがいいかもしれません。

サイトリライアビリティワークブック SREの実践方法

Google の SRE 本(SRE サイトリライアビリティエンジニアリング ―Googleの信頼性を支えるエンジニアリングチーム)の続編です。本書中での SRE 本への参照が多いため、事前に SRE 本を読んでおくことをおすすめします。

SRE 本は SRE の原則的な話が中心でしたが、本書ではもう少し実践寄りで、SRE の原則をいかに組織に適用するかといった話が多いです。Google 以外の会社の事例も多く、SRE 本にはなかったトピックも扱われています。

事例は海外の有名な企業の話ばかりですが、内容は普通の会社でもよくある失敗談とかが多く、運用に関わっている人であれば実際の業務に活かせるところがあると思います。すべてを Google のようにする必要はないですが、考え方として参考になる部分が多く、とてもよい本でした。

運用に関わる人であれば SRE 本と合わせて読んでおくことをおすすめします。すぐには役に立たなくても、そのうちまた読み返したくなる内容も多いと思うので、手元に置いておきたい一冊でもあります。

まとめ

今年は通しで読んだ冊数が 9 冊ぐらいで、去年より減ってしまいました。読み途中の本が多く、技術書だと「Googleのソフトウェアエンジニアリング ―持続可能なプログラミングを支える技術、文化、プロセス」、「Webブラウザセキュリティ Webアプリケーションの安全性を支える仕組みを整理する」、「Micro Frontends in Action (English Edition)」あたりは来年のおすすめに入ることになりそうです。技術書以外だと「講談社 学習まんが 日本の歴史」シリーズを読んでいるのですが、子供向けかと思いきや情報量が多くて勉強になっています。

引き続き読みたい本は増えていく一方なので、来年もどんどん読書していきます。