「世界一流エンジニアの思考法」を読んでみた感想メモ
読んでこれ大事だなと思った時にゆるく記録していく
第1章 世界一流エンジニアは何が違うのだろう?- 生産性の高さの秘密
-
エラーや問題が発生したときに手当たり次第に調査するのではなく、仮説を立てて(思い込みではなく何かしらのファクトに対して仮説を立てることが重要)検証する。無駄な試行錯誤は効率が悪い。当たり前だがやりがち。
-
基礎理解には時間がかかるものであり、時間をかけていい
成果を求めて基礎の理解をおざなりにしがちだが、しっかりと理解することで上記の仮説の立て方も精度が上がるし、人に根拠を持って教えられる。
そもそも「理解した」とはどういった状態なのかは以下3つのポイントがある
- 構造を理解して、人に説明が可能
- いつでもどこでも即座に取り出して、使用可能
- 応用可能
-
コードの前に小さなドキュメントを書く
- ドキュメントを書くことで自分の頭の中が整理され抜け落ちていた視点に気付ける
- 後からドキュメントを起こすのは面倒。考えている時に書けばあとはシェアするだけでいい。
-
頭の中に「メンタルモデル」を持つ
メンタルモデルとは、世界を理解し、予測、解釈し、新しい状況に適応するためのイメージや理論のこと。例えば以下のような例がある
-
新しいプロジェクトに入る際に、コードベースを理解するときは構成をまず理解し、どこにどの責務のものが存在しているのか把握したりシステムの構成を理解しデータの流れを把握することで、問題が発生した時に頭の中にソフトウェアの動作イメージがあるから原因の特定が早かったりする。
-
問題が発生した時に、「なぜ」を5回繰り返して問うと根本原因が特定できるという手法
などなどこういったフレームワークを活用することでシゴできになるよってことを言っていた。
まとめ
このような習慣を身につけることが生産性を高める秘訣やでということ。意識せずにやっていることもあるが、言語化することで誰かに説明し教えられるようになる。あ、今初めて理解したのかもしれない。
2章 アメリカで見つけたマインドセット
- 不確実性を受け入れる
不確実性を受け入れて、計画はあくまで計画で日々変動していくものなのだと受け入れる。
そうすると、期限に当初予定していたタスクを全て終わらせるのではなくて、バリューを出せるものだけをピックアップして確実に終わらせることにフォーカスした方が結果として精度の高いものが出来上がる。
残業してでも全て期限内に終わらせることをすると、逆にチームとして疲弊して生産性がトータルで落ちる。
やらないことを増やしていく方がよっぽど生産性が高くなる(もちろんバリューが低いと思うものをやらないという話)。
Be lazy(怠惰であれ)
3章
「自分にとって難しすぎる」と感じるのは2つのケースがある
- 基礎が足りていない場合、これは地道に勉強するしかない
- 基礎はあるが、人より時間がかかったり理解が難しい時は、大抵物事の見方を変えたり、脳の使い方を変えるだけで解決する
4章
ディスカッションについて
- 多様性の時代でお互いを尊重したディスカッションであるべき
- 相手の考えを理解した上で、自分の考えを伝えて合意するのかそうでないのかを伝える
- そもそも理解できないワードや知識があれば、人に聞けるチャンス!
- 総じて、新たな考えを知れたり、知識をアップデート、インプットできる場として楽しむべき。
- ディスカッションで意見を伝えてくれたり、知識を共有してくれたことには感謝する!
5章
サーバントリーダーシップ
- マネジメントはミッション、ビジョン、KPIを伝えることと、メンバー仕事で障害物があればそれを取り除くことをするようなリーダーシップのこと
- 日本のようにメンバーに事細かく指示して管理をせず、メンバー主体で仕事をしてもらい困ったことがあれば相談に乗り一緒に解決する手助けをする。
- 日本では管理することに多く時間を費やすが、ほぼ管理はしないので会社のミッションやビジョンの達成に思考を専念させることができる!