見出し画像

【書評】「世界一流エンジニアの思考法」を実生活に活かす


📚 この本を要約するとどんな本?

MSに在籍する一流エンジニアの思考を作者目線から記載している。 思考法が高い生産性を作り出す秘訣を記載している。 自分のことを要領が悪いと感じている人はこれを読むことで今までの努力が間違っていたと考えるきっかけになるだろう。

📚 この本を読んで実生活に活かしたいことを教えて!

より少ない時間で価値を最大化するという考え方を持ち
時間や費やした努力より、アウトプットと生産性に重点をおく
→いかにやることを減らすか?に頭を使う

一つだけピックアップする
思い切って一番重要なのはどれか?を考えてそれだけをやる

たくさんの物量をこなすこと=生産性が高いわけではない。
生み出すものの価値にフォーカスするマインドを身につけよう

マルチタスクをせずに一つのことをしっかり集中力を高めて実施する

自分がしんどいと思う「努力」は一切やめてしまう

自分が何も見ずにさくさくできるものを増やすことが脳の負荷を下げることにつながる

人間が記憶をするために必要な方法は、思い出そうと頑張ること。
→作業内容を人に空で説明できるかどうかを記憶できたかのチェックポイントにしている

頭の中だけで整理する訓練

  • ミーティングの議事録をその場で書かない

    • その場で記憶までし、説明できるようにする

  • 人の話を聞く時は、他の人に説明することを想定して、聞きながら頭の中で整理する

  • 頭の中で考えて、完全に整理し終えてから文章に書く

メモを取るのであれば最初から他の人が欲しい情報(ドキュメント)形式で整理して展開する

1人でうんうんうなるより、たとえ10分でもいいので、知っている人と一緒にやる

従来のやり方にこだわるよりも、自分がより良い仕事をして楽に成果を出せるよう、恐れずに変化へと踏みだそう

仕事ばかりしていては短期的なアウトプットは上がったように見えても根本的な生産性が上がらない(生産性を上げなければ長時間労働をやめなければいけない)

📚 各章ごとの印象に残ったところ

第一章

  • エンジニアがより賢くなるのはチームの幸せに繋がるよ

メンタルモデルについて

  • 人々が世界を理解し、予測し、解釈し、新しい状況に適用するための、自己の心の中のイメージや理論

    • 脳内イメージ

自分なりのメンタルモデルを持つと考え方の整理・問題発見に至るプロセスが高速化する
考え方の型を頭の中に作る

一つのことで2時間以上ブロックされたなら質問するなり相談するなりして寝かせておいて、他の仕事をやっておく方が断然生産性が高い。

→既存システムがある場合は、あれこれ考えて調べる前に、まず「エキスパートに頼る」というのはベストプラクティスだと考える

仕事のパフォーマンスを上げるには、いかに「無駄なこと」をしないかに尽きる

どんな人も、最初は難しく、理解には時間がかかる。


第二章 「Be Lazy」(怠惰であれ)

(())→より少ない時間で価値を最大化するという考え方

  • 望んでいる結果を達成するために、最低限の努力をする

  • 不必要なものや付加価値のない仕事(過剰準備も)を無くす

  • 簡潔さを目指す

  • 優先順位をつける

  • 時間や費やした努力より、アウトプットと生産性に重点をおく

  • 長時間労働しないように推奨する

  • 会議は会議の時間内で効率的かつ生産的に価値を提供する

バックログの優先順位付けもこう考える
→最初の一個をピックアップしてやったら他はやらない。その一つにフォーカスする

我々日本人はすぐに、「あれも、これも」やらないといけないと思いがちだが実際にできるキャパを考える方が生産性には有用だ
→読み切れない量の本を鞄に入れてしまうやつ

20%の仕事が80%の価値を生むのであれば、20%をしっかりやればよく
100%を全部やろうとすると工数もかさむし時間も足りない

重要なことは「減らすこと」自体に価値がある
→いかにやることを減らすか?に頭を使う

  1. 一つだけピックアップする

    1. 思い切って一番重要なのはどれか?を考えてそれだけをやる

    2. 一番重要なことを実施することで案外やらないといけないと思っていたことをやらなくても問題にならないことがわかる

  2. 時間を固定して、できることを最大化する

  3. 「準備」「持ち帰り」をやめてその場で解決する(ざっくりしたアジェンダはある)

    1. 会議に出たら「会議の時間ないだけで完結」するように訓練する

  4. 物理的にやることを減らす

    1. 物理的にできないことは頑張ってもできない。だから自分の中で何をやらないかけめていく。

仕事はどれだけやったかではなく、どれだけ会社にインパクトを与える仕事ができたかが重要

成功しようがしまいが、まずはやってみて、早くフィードバックを得て、早く間違いを修正する

→Fail Fastの精神

→人間は間違う生き物

  • 挑戦

  • 失敗

  • フィードバック

  • 修正

検討ばかりして、さっさとやらないことの方が最大のリスク

最初から正しい方法を知っている人はいない。早く失敗することはそれ自体に価値がある

納期を短縮したければ、品質を落とすか、お金をたくさん払うか、提供する物量をへらすかのどれかしかない

  • Q(品質)

  • C(コスト)

  • D(納期)

  • S(スコープ)

決して無理はしない方がいい。チームの適正な生産量を肥えた量を一定期間で達成した結果、組織の問題を覆い隠すことにつながるからだ

なるはや・明日までにというオーダーの仕事はマネジメント能力の欠如と見なされる

たくさんの物量をこなすこと=生産性が高いわけではない。 生み出すものの価値にフォーカスするマインドを身につけよう

無理を承知でのお願いの連鎖はみんなの疲弊を生み、チームや組織の業務改善に全く繋がらない

第三章

コードリーディングのコツは、極力読まないこと。実装は動いているものと思う

実装は動いているものとして下記を理解する

  • クラスの役割

  • パターン

  • インターフェースの理解

端から端まで実装を読んでいると脳みそのCPUをフルに消費してしまう

自分にとって難しすぎると感じる時は大抵脳の使い方が間違っているサイン

→コードリーディングが遅い原因は、コードを見た時にどのような挙動をするか明確にすぐにイメージできないか、構造の把握が下手

**レベル1:何もググらず即実装できる レベル2:ググれば解決できる レベル3:スパイクソリューション(大まかなプログラム)をしたらできる レベル4:自分では無理**

生産性とはいかに「レベル1」を増やすかではないか

レベル1のものが増えると脳の負担は激減する

自分がしんどいと思う「努力」は一切やめてしまうこと
→楽しくなくて苦しいと思うことは自分のレベルに合っていないこと

自分が何も見ずにさくさくできるものを増やすことが脳の負荷を下げることにつながる

うまくいっていないことはわかっていないこと
→王道を愚直に実行し、ゆっくりと基礎を理解しよう

WIP(Work In Progress):WIP=1

今手をつけている仕事を一つに限定する。
一度に一つのことのみ実施し、その集中力を上げる

  • どんなにすごい人でも時間がかかることはかかる。焦らず時間をかける

  • 30分から1時間を割り当てたらそのことのみに取り組む。すぐに終わらないものは待ち状態にして次のタスクに進む

  • 一つのことをやっている時は、他のことは一切せず集中する

マルチタスクをしないことが正解

毎日4時間をブロックして、Teamsもメールも一切閉じて自分の作業をする
時間は気にせず、自分がやったことをクリアに説明できるよう時間をかけて言語化してみる
→説明可能にするということは、構造を整理して把握して、脳のメモリに載せる必要がある

人間が記憶をするために必要な方法は、思い出そうと頑張ること。

→作業内容を人に空で説明できるかどうかを記憶できたかのチェックポイントにしている

頭の中だけで整理する訓練

  • ミーティングの議事録をその場で書かない

    • その場で記憶までし、説明できるようにする

  • 人の話を聞く時は、他の人に説明することを想定して、聞きながら頭の中で整理する

  • 頭の中で考えて、完全に整理し終えてから文章に書く

第四章

たくさん情報があっても消化できない。付加的な情報は聞かれた時で良い

相手が本当に欲しい情報は何か?
→普段から意識しておくことが生産性を抜本的に向上させる

メモを取るのであれば最初から他の人が欲しい情報(ドキュメント)形式で整理して展開することが合理的だ
→他の人にシェアできる形式を意識して文章を書いてリンク一つでシェアできるようにする

1人でうんうんうなるより、たとえ10分でもいいので、知っている人と一緒にやるだけで作業は10倍早くなる

インターナショナルチームでは、自分にその分野のメンタルモデルやコンテキストがなければすぐさまエキスパートに聞いた方が良い メッセージを送ってスルーされたら忙しいんだろうなと思うようにすれば良い

相手にとってものすごく工数がかかるものだったら自分で調べるべき  (相手が労力を要せず回答できるもの)

気軽に聞ける仕組みは気軽に断れる空気とセットになっている

助けになれない場合は、すぐにごめんでクールに済ませた方が、聞く方も聞かれる方も楽

自分にとって理解し難い相手の意見や振る舞いも尊重して、受け入れる 「異なる視点から自分の考えや知識を深めることができて楽しいよね!」という感覚

「相手を否定しない」「相手のアイデアを否定しない」「自分の考えとして意見を言う」

聞くことを恐れずに、人に頼ろう。そして自分も役に立とう。

第五章

基本的にリーダーが色々と言えば言うほどチームは指示待ちになって、自分たちで考えなくなる

インターナショナルな職場では、「自分の考えや人生に責任を持つのが大人」

低いスキルの人に全体を合わせるマネジメントはもうとっくに終わっていて全体の生産性を高めていくためにもメンバーがエンジョイできる環境を作り出すことが重要

前提として「仕事は楽しむもの」と言うカルチャー

辛い思いをしないとプロフェッショナルになれないのかとずっと疑問に思っていたが、アメリカでは辛さに耐えるという発想が全くない

→みんな自分が一番大切で、自分の幸せを第一に考えている

他の人の脳みそを借りて、最適なアイデアを選択しようとする姿勢

失敗なんて思わなくていい。私たちはいつも道のことをやってるのだから、こう言うことは起こるんだ。気にしなくていい。 →失敗してもポジティブな態度でいる方が彼らには心地がいい(なぜか?) →自分の能力を上回る領域にチャレンジするからこそ「失敗は起こる」

作業量を減らして、インパクトのあるものに集中する →深夜残業や徹夜を頑張っていると誉める文化ではない

このような変化の激しい時代には、みんなのCPUを結集して問題解決にあたる方がパフォーマンスを発揮しやすい

従来のやり方にこだわるよりも、自分がより良い仕事をして楽に成果を出せるよう、恐れずに変化へと踏みだそう


第六章

仕事に臨むマインドはどこから生まれてくるかと言ったら体に他ならない

人の働き方は千差万別だ。でも各人が自分が一番生産的になれて家族やライフスタイルとのバランスを取れるよう工夫している。

残業しないだけでなく、個々人が自由に好きな時間に仕事をする。成果が出ていればなんでもいい。

生産性を上げるためには学習だよ。だから僕は仕事を定時ぐらいで切り上げる。その後で自分のやりたいトピックを勉強したり試したりする。 ずっと仕事していると疲れるし、たとえ同じプログラミングでも、仕事と切り離したものはリラックスしてできるよね →仕事ばかりしていては短期的なアウトプットは上がったように見えても根本的な生産性が上がらない(生産性を上げなければ長時間労働をやめなければいけない)

デスクワークにおいて生産性を阻む大きな要因は身体以上に脳の疲れ。 脳がくたびれていると当然集中力や思考力は低下し、記憶力だって悪くなる

脳を十分に休ませることは、生産性を上げるための絶対条件だ(睡眠不足だめ)

一つの作業に集中できる時間は4時間。4時間集中したら別のことをやると良い。

第七章

自分の人生が、自分で決められないと思っている人があまりにおおい どうやったら自分の人生が幸せになるかを主体的に考えて、仕事の仕方を選択している

決めたポリシーはただ一つ

自分がやりたくないことは一切やらないし、嫌になったらいつでもやめていい 自分の人生や幸せに責任をもって、自分でコントロールする

この記事が気に入ったらサポートをしてみませんか?