2025年も1ヶ月経ってしまったが、去年読んだ本のうち印象に残っているものを備忘録として残しておく。 (本当は年末年始に書きたいと思っていたが、年末にインフルエンザに罹ったので、このタイミングになってしまった)
- Goならわかるシステムプログラミング
- 失敗の科学 失敗から学習する組織、学習できない組織
- 問題解決の全体観
- CSS設計完全ガイド ~詳細解説+実践的モジュール集
- 達人プログラマー 第2版 熟達に向けたあなたの旅
- 関数型ドメインモデリング ドメイン駆動設計とF#でソフトウェアの複雑さに立ち向かおう
- GitHub CI/CD実践ガイド 持続可能なソフトウェア開発を支えるGitHub Actionsの設計と運用
- 世界一流エンジニアの思考法
- スタッフエンジニアの道 優れた技術専門職になるためのガイド
- エンジニアチームの生産性の高め方 〜開発効率を向上させて、人を育てる仕組みを作る
- ドメイン駆動設計をはじめよう ソフトウェアの実装と事業戦略を結びつける実践技法
- 現場のプロから学ぶ SEO技術バイブル
Goならわかるシステムプログラミング
以前ラムダノートのセールで安くなっていて何冊か購入し積読していた本。
育休中の夜中にコツコツ写経しながら読んでいたので、育児を思い出す思い出の本になった。
本の内容がとてもわかり易く、かつGoに慣れていない読者でも読めるように書かれているので、普段Goを触っていなかったり、低レイヤにそこまで馴染みがなくても最後まで手を動かしながら読むことができた。
写経コードはGitHub - daisuzz/go-system-programming
失敗の科学 失敗から学習する組織、学習できない組織
最近の自分の活動を振り返ったときにチャレンジをして失敗するという経験が少ないと感じていたので、失敗に対する意識をポジティブなものにしたいと思いこの本を読んだ。
本の中で、「失敗を恐れるあまり曖昧なゴール設定をしてしまう」、といったような内容が書かれていて、個人的にはこれが一番印象に残った。
「失敗」に関する具体的な事例も上げながら、わかりやすく「失敗」について分析している本なのでおすすめ。
問題解決の全体観
Xで見かけて、改めて自分のスキルや考え方を矯正したいと思って育休中に読んだ本。 問題解決の型・型を実践するための道具・問題解決に取り組む際の考え方・具体的な問題解決の進め方について紹介されているので、若手はもちろん中堅も読むと自分の仕事を振り返りながら、参考にできる部分があると思っている。
CSS設計完全ガイド ~詳細解説+実践的モジュール集
CSS設計の考え方を理解したくてこの本を読んだ。 普段はBEMの思想で設計されたCSSを扱っているため、それ以外にどういう設計方法があり、どういう考え方から生まれたものなのかを知りたかったのでこの本を読んで、そこをある程度解消することができた。
CSS Architecture — Philip Walton を知ることができたのがよかった。
達人プログラマー 第2版 熟達に向けたあなたの旅
2024年一番読んで良かった本。ずっと読みたいと思っていたのでもっと早く読んでおけばよかった。 内容は色んな人が書いているので割愛するが、自分のエンジニアとしての人生を振り返りながら読んでいた。
関数型ドメインモデリング ドメイン駆動設計とF#でソフトウェアの複雑さに立ち向かおう
ドメイン駆動設計について、対象領域をモデルに落とし込む作業と、モデルを実装に落とし込む作業で分けて説明しているので、ドメイン駆動設計の初学者が読んでもドメイン駆動設計がどういうものなのか理解しやすそう。
関数型のエッセンスとして、代数的データ型(直和と直積)をつかって型でドメイン知識を表現したり、関数を型で表現し、型を組み合わせてワークフローを表現する方法が紹介されているので、普段関数型に馴染みがない人こそ、読んだらすぐに練習/実践できる内容だと思う。(ただ、後者はできる言語が多くなさそう)
あとは、「Railway Oriented Programming」という考え方を知ることができたのが良かった。
Railway Oriented Programming | F# for fun and profit
GitHub CI/CD実践ガイド 持続可能なソフトウェア開発を支えるGitHub Actionsの設計と運用
業務では使わないが、GitHub Actionsを最低限扱えるようになっておきたいと思って読んだ本。
とにかくわかりやすくかつ詳細にGitHub Actionsの説明が書かれているので、写経をしながら読むことでかなりGitHub Actionsを扱う心理的ハードルは下げることができた。
その後業務でGitHub Actionsのワークフローを1から作る機会があったので、結果的にこの本で学んだことを活かすことができたのは良かった。
世界一流エンジニアの思考法
無闇矢鱈に行動するのではなく仮説を立ててから行動する、難しいものはちゃんと時間をかけて理解しようとしている、メンタルモデルを作る、普段から思考しておくことでとっさのときにすぐに意見を出すことができる、といった内容が印象的だった。
スタッフエンジニアの道 優れた技術専門職になるためのガイド
自分はスタッフエンジニアではないが、この本を読んで、自分は誰かのロールモデルになれているか?という問いを日頃意識するようになった。
エンジニアチームの生産性の高め方 〜開発効率を向上させて、人を育てる仕組みを作る
この本を見つけたときは、プロジェクトの開発リーダーをしており、チームのアウトプット/アウトカムをどうやって最大化するかを考えながら仕事をしていたため、タイトルを見てなにか取り入れるものがないか知りたく手にとって読んだ本。
全体的に各著者の経験談を踏まえた内容が記述されているため、事例紹介という位置づけでこの本を読むのが良いと思った。
PRDはWhyとWhatを記述したドキュメントで、いわば要求や要件が書かれているドキュメント。各関係者の認識を揃えるために、PRDを一緒に作っていくという考え方は、ぜひ真似したいと思った。
ブランチ/リリース戦略は、Stacked Diffsという戦略が紹介されていたのが印象的だった。戦略自体は自分もやったことがあるものだったが、それにStacked Diffsという名前がついているのは知らなかった。
社内への告知と社外への貢献の両輪を回すことで、1つの取組みの成果から、効率的に他の開発者へ影響を与えることができるという考え方は、自分も取り入れたい。
ドメイン駆動設計をはじめよう ソフトウェアの実装と事業戦略を結びつける実践技法
会社の有志の輪読会で読んだ本。 ドメイン駆動設計に関する書籍を今までいくつか読んできたが、ドメイン駆動設計の中心となる考え方を一番日本語でわかりやすく説明している本だと感じた。 この本を読んで、自分がいわゆる戦略的設計をちゃんと理解できていなかったことを知ることができた。
現場のプロから学ぶ SEO技術バイブル
業務でSEOを扱う必要があったため、同じチームのマーケティング担当に聞いて、おすすめしてもらった本。 出版してから時間が経っているので最新の状況を知ることはできないが、SEOについてマーケティング観点, 技術観点それぞれの基礎を学ぶことができる良い本だった。
読めていないが↓の本も気になっている。