見出し画像

読書記録|世界一流エンジニアの思考法

牛尾剛さんの「世界一流エンジニアの思考法」を読了しました。
この本はプログラミングスクール内でおすすめされていたのがきっかけで読んでみました。


本の目次


第1章 世界一流エンジニアは何が違うのだろう?
         ー生産性の高さの秘密
第2章 アメリカで見つけたマインドセット
         ー日本にいるときには気づかなかったこと
第3章 脳に余裕を生む情報整理・記憶術
         ーガチで才能ある同僚たちの極意
第4章 コミュニケーションの極意
         ー伝え方・聞き方・ディスカッション
第5章 生産性を高めるチームビルディング
         ー「サーバントリーダーシップ」「自己組織型チーム」へ
第6章 仕事と人生の質を高める生活習慣術
         ー「タイムボックス」制から身体づくりまで
第7章 AI時代をどう生き残るか?
         ー変化に即応する力と脱「批判文化」のすすめ


はじめに


筆者の牛尾剛さんは日本の大手SIerエンジニアからアジャイル、DevOpsのコンサルタントを経てアメリカのマイクロソフトでエバンジェリストとして活躍され、現在はAzure Fanctionsのプロダクトチームでエンジニアをされている方のようです。

この本のタイトルには「思考法」とありますが、具体的には、エンジニアという仕事の「生産性」を上げるための考え方や行動について、各章にあるテーマの視点から、筆者の体験談をもとに書かれていました。


学び


<エンジニアにおける「生産性」>
・エンジニアの「生産性」とは「頭脳労働」である。
・エラーに対してむやみに手を動かし試行錯誤することは生産性を下げる。
・まずはログから仮説を立て、検証する段階で初めて手を動かす。
・つまり手を動かす前に頭を動かす。
・感覚で決めつけ、思い込んではいけない。


<一流もやってる本質的な頭の使い方>
コードはロジックを読むのではなく、コードの意図とその背景にあるアーキテクチャを理解するために読む。
・基礎的なことを、時間をかけて理解することが大切。
・「基礎」の習得は誰でもできるが、時間がかかる。
・一流のエンジニアも「理解」に時間をかけている。

<理解の3要素>
・その構造をつかんで、人に説明できること。
・いつでもどこでも即座に取り出して使えること。
・知見を踏まえて応用がきくこと。

<生産性を産むマインドセット>
1.Be lazy(より少ない時間で価値を最大化させる)

・生産性を高めるためには「すべきこと」より「実際のキャパでできること」
・つまりいかにやることを減らすかに頭を使うこと
・綿密な計画を立てても計画通りに進まないことや優先順位の変化が生じる・ため、重要なタスクのみにフォーカスし、「何をやらないか」を決める

2.リスクや間違いを快く受け入れる
・検討よりも検証をする。
・成功も失敗もただの結果であり、重要なのはどのようなフィードバックが得られたかである。
・成功しようがしまいが、まずやってみて早くフィードバックを得る。


<情報整理・記憶術>
・コードの実装部分は極力読まないようにし、メソッド、クラス、インターフェイスの役割やパラメーターを理解するように読む。
・脳のCPUを消費しないよう、読むことを減らして脳に余裕を生む。
・マルチタスクは生産性が落ちるのでやらない


<コミュニケーション>
・情報量を減らして伝える
・付加的な情報は聞かれたら伝えればよい
・「相手が欲しい情報は何か」を普段から意識する
・日頃から人に伝えることを前提とした準備をしておく
・エンジニアは「自分が主体ではない」タスクを省力化しておく
・読み手がどう感じるかを意識してコードを書く
・コードの読み手が疑問を持たない程度のわかりやすい書き方を心がける
・互いの知識をシェアして高め合うことを助け合う
・相手を否定しない
・相手のアイディアを否定しない
・自分の考えとして意見を言う


<仕事と人生の質を高める生活習慣術>

・「努力→成功→幸せ」ではなく「幸福感→良いパフォーマンス・努力→成功」
・コントロール感を得るためには、タスクを最後まで「完了」させる
・成果を出す人はあらゆる点で整理が行き届いている。
・「身の回りの整理」→「情報の整理」→「頭の中の整理」
・「完了」と「整理」で脳の負担を減らし生産性を上げる


感想


一流エンジニアも、基礎の理解に時間をかけるということを知り、これまでの学習の中でも、理解して実装したもののそのスキルや知識が定着していないと感じることがあったので、これはまさに基礎的な部分が不安定であるから場面的な理解となっていたのだと腑に落ちました。
基礎をしっかり理解することが結果的に生産性につながるという部分も納得できました。当たり前のことですが、基礎の理解が不十分なのに応用編に手を出しても必ずどこかでつまりますよね。

そして第2章は「とにかく早くやってみろ」というような内容だったのですが、私には耳の痛い話でした。
すべてに対してではありませんが、じっくり考えて自分の中の最適解を見出してから行動に移すことがよくあります。
失敗したくないという考えがあるからだと思います。
でもこの考え方はエンジニアとしてはNGだということをスクールでの学習生活を通して学んでいたので、変えていかねばと意識している部分です。

そしてこの本で紹介されている具体的なエピソードでは、日本とアメリカのエンジニアを取り巻く職場の文化の違いがよくわかる内容でした。
まさにエンジニアカルチャーだなと感じる部分が多くあったので、転職後、職場のカルチャーに馴染むために、また生産性を上げていくために、学んだことを取り入れていきたいです。

最後に、初めて読んだ本の感想を書くということをしてみました。
正直、まだまだ書き方に改善の余地ありという感じですが、この本にも書いてあった「まずやってみる」を実践することとして公開します。
回数を重ねるごとに上手に書けるようにブラッシュアップしていきます!



いいなと思ったら応援しよう!