📚

「世界一流エンジニアの思考法」を読んで心に残ったこと

2024/12/13に公開

世界一流エンジニアの思考法
とても読みやすく、参考になりました!

[生産性と学習]

  • 人の理解が早く見えるのは、基礎を時間をかけて積み重ねてきた結果
  • 理解は徐々に身についていくもので、最初から完璧にはできない
    • 「理解は時間がかかるもの」として受け入れ、急がず徹底的に理解する
  • 理解の3要素
    • その構造をつかんで、人に説明できること
    • いつでもどこでも即座に取り出して使えること
    • 知見を踏まえて応用がきくこと
  • やみくもな試行錯誤を避け、メンタルモデルを使って仮説を立て証明する
    • 試行錯誤による時間のロスを排除することが重要
  • プログラミングの生産性は「頭脳労働」である
  • 手を先に動かさず、まず仮説を立て、アプローチを選定してから動く
    • 理解が不十分なまま手を動かすと空回りし、知識が定着しない
  • 「早くできるように頑張る」ことが最終的な生産性を下げる可能性がある
  • 基礎練習は誰でもできるが、習得には時間がかかる
  • WIP(Work in Progress)は1つに限定すべき
  • マルチタスクにより生産性が40%低下する
  • 1日4時間を占有的に確保し、他の時間は別の対応をする時間配分が合理的

[コードとドキュメントについて]

  • コードを読むコツは「極力読まない」こと
  • 実装より構造とインターフェースの理解を優先した方が良い
  • デザインドキュメントはコードを書く前に作成すべき
  • ドキュメントは第三者のためではなく、自分がよいソフトウェアを書くために作成する

[チーム作業と協力]

  • エキスパートに気軽に質問できる文化は生産性向上の重要な要素
  • 質問は自分の成長のきっかけになる
  • 気軽に聞ける仕組みは、気軽に断れる空気とセットである必要がある
  • 異なる意見を知的に理解する力(エンパシー)が重要

[仕事とライフスタイル]

  • 定時で仕事を切り上げ、その後で自分のやりたいトピックを学習する
  • 休息は何もしないことではなく、違うことをすることが重要
  • 生活習慣として瞑想やディスプレイから意識的に離れる時間を作る

[大手企業のマネジメントの特徴]

  • マネージャーは絶対に急かさない
  • 急いで粗悪なものをリリースするより、自信を持てるものをリリースする方針を尊重する
  • 予定通りのリリースより、プログラマーの理解と実装の質を重視する
  • 個々人の働き方の違いを尊重する

[問題解決とアプローチ]

  • ファクトを積み重ねて原因を特定することが重要
  • 感覚で判断せず、データに基づいた分析をすべき
  • 問題が発生した時は、ログを分析して原因を特定する
  • 自分が知らない分野ほどリプロ(再現)することが効率的

[コミュニケーション]

  • 情報量をコントロールし、相手に理解してもらうために基礎的なことから説明する
  • 理解してもらうことに丁寧に時間をかける
  • プレゼンテーションスタイルは日米で異なる
    • 日本人は図や概念図、アメリカ人は大きめで少ない文字を好む
  • 難しい概念の場合、アニメーションにすると理解されやすい

[メモと学習]

  • コーネルメソッドを使用してノートを取る
  • 人に伝えることを前提とした準備をする
  • 自分が学んだことを共有できる形でまとめる
  • OneNoteなどのクラウドシステムを活用して知識を共有する

[インターナショナルチームの特徴]

  • 多様な人種、国籍の人たちが集まる
  • 個々人の違いが当たり前として認識されている
  • 異なる意見や文化を尊重する
  • 英語に敬語はないが、依頼時は丁寧な言い回しを使用している

[生活管理と整理]

  • タイムボックス導入と朝型生活へのシフトで生産性が向上する
  • 掃除と整理は生活コントロールの基本
  • 1つ1つのタスクを完了させることな重要
  • 物事を完了しないと面倒くささが倍増する

[技術者としての姿勢]

  • ソフトウェアは複雑で、1人で全てをコントロールすることは不可能
  • 専門家でも一部分の知識しか持っていない
  • チームでの協力が不可欠
  • 完璧な人はいないという前提を受け入れることが重要

[日本の産業界への提言]

  • ソフトウェアの重要性を認識する必要がある
  • 技術者を専門家として適切に扱うべき
  • 働きやすい職場環境の整備が必要
  • 失敗を恐れず世界市場に挑戦する姿勢が重要

[個人の選択と幸福]

  • やりたくないことはやらない決断も重要
  • 自分が幸せになる方向に人生の選択をする
  • 他人にやらされることや会社の決まりで思考停止にならない
  • 自分の選択は常に「好きだからする」になるべき

[生産性向上の基本原則]

  • 相手が求めている情報への感度を磨く
  • 短期的な成果より長期的な成長を重視する
  • 休息と仕事のバランスを取る
  • 基礎的なスキルの習得に時間をかける

Discussion