Upgrade to Pro — share decks privately, control downloads, hide ads and more …

技術書を効果的に内面化する実践技法

Avatar for 増田 亨 増田 亨 PRO
September 02, 2025
1.9k

 技術書を効果的に内面化する実践技法

#forkwell_study イベント
2025/09/02(火)
技術書を「血肉」に変える 、ITエンジニアの学習戦略

で発表した資料

=============

技術書を効果的に内面化し、ソフトウェア設計スキルを向上させる方法について説明しています。 ​

技術書の分類

技術書はアンチパターン改善カタログ、パターン本、ソフトウェア設計論、知識体系本、深掘り本、読み物に分類される。 ​

技術書を読む目的

知識の増加、スキル向上、課題解決、トレンド把握、知的好奇心、自己啓発が目的。

ソフトウェア設計スキル向上

設計スキルは速い思考と遅い思考の二つのシステムで構成され、速い思考を育てることが重要。 ​

設計スキルを身に付ける条件

選択的注意、能動的関与、モデル修正、定着の4条件が必要。

技術書の使い方

アンチパターン改善カタログは具体的な改善方法を示し、速い思考を育てるのに役立つ。
パターン本は初期モデルとして利用し、設計改善の視点を探るために使う。

設計スキルの習得

速い思考を身に付けるためには、実際のコードで学び、体験知を積むことが重要。

Avatar for 増田 亨

増田 亨 PRO

September 02, 2025
Tweet

Transcript

  1. 自己紹介 専門領域 • 業務系アプリケーションの開発 最近の仕事 • 大きな泥団子退治のアドバイザ • エンジニアの成長支援 2

    増田 亨(masuda220) 著書(2017) 訳書(2024) *1 *2 *1 増田 亨(2017) 『現場で役立つシステム設計の原則』技術評論社 *2 Vlad Khononov(著) 増田 亨、綿引 琢磨(訳) 2024 『ドメイン駆動設計をはじめよう』オライリージャパン
  2. 速い思考と遅い思考 特性 速い思考 遅い思考 発動 無意識、自動的に発動 意識して発動 稼働 常時稼働、停止できない 通常は待機モード

    短時間で電池切れ 判断の種類 経験に基づく直感的選択 熟考による選択 知識の種類 暗黙知 言語化、可視化しにくい 形式知 言語化、可視化できる 12 体験知 身体知
  3. ③ソフトウェア設計論/プログラミング論 ✓ 遅い思考、特に、本の分析的な読み方の訓練 ✓ 著者の主張の要点を発見する ✓ 論理展開(前提、説明ロジック、補強材料)を把握する ✓ さまざまな設計論の要点と論理展開を比較しながら 自分なりの設計論を形にしていくと、速い思考の

    発動パターンと発動の強度が変化する(質が変わる) 25 Dahl, Dijkstra and Hoare “Structured Programming” Liskov and Guttag “Abstraction and Specification in Program Development” Meyer “Object Oriented Software Construction” Daniel Jackson “The Essence of Software” C, Java, Simula 67, Haskell, Rust
  4. ⑤深掘り本 ✓ 複雑なシステムの内部構造と動作の仕組みの解説本 ✓ 速い思考の通用範囲や適用タイミングに関する感覚的 (無意識で自動的な)判断の質があがる ✓ そういう効果が大きかった知識領域 ✓ OS、計算資源管理と実行制御

    (Unixカーネルとプロセス管理) ✓ データベースの内部構造(Oracle, PostgreSQL) ✓ ネットワーク通信の構造と仕組み(TCP/IPプロトコルスタック) ✓ 事業活動の構造と仕組み(差別化戦略と価値連鎖体系) 29
  5. 設計スキル習得と技術書の使い方 32 速い思考 体験知・身体知 ①アンチパターン 改善カタログ ②パターン本 スタイル本 ③設計論 プログラミング論

    ④知識体系本 ⑥読み物 ⑤深掘り本 実際のコードで 効果的に学ぶ 速い思考の 質を上げる 未知の領域の世界地図 好ましさの 軸を持つ 速い思考の 質を上げる 設計改善のヒント
  6. 速い思考 初級レベル 乱雑なコードをわかりやすく整頓 ① コメントアウトコードの削除 ② デッドコードの削除 ③ チャンキング(空白行によるコード分割) ④

    説明用変数の導入 ⑤ ヘルパーメソッドの抽出 ⑥ ガード節の導入 34 アンチパターン 改善カタログ 15の整頓パターンの中でも 特に身体知になっているもの
  7. 速い思考 上級レベル 設計全体の方向性、一貫性、持続性 ① 入出力モジュールと計算判断モジュールの分離 ② アプリケーション記述とプリミティブ記述の階層化 ③ 業務知識を使って名前空間を改善 ④

    ソフトウェア設計を事業戦略に整合させる (事業視点で優先順位を判断する) 36 設計論/プログラミング論、 深掘り本、読み物、 パターン本/スタイル本 さまざまな体験と形式知が溶け合った身体知