ブックレビュー:世界一流エンジニアの思考法

,

本記事は広告が含まれる場合があります。

いつもこのブログをご覧くださり、ありがとうございます。
今回の記事はブックレビュー(読書感想文)です。読んだ本はこちら。

世界一流エンジニアの思考法

エンジニアで、現在は Microsoft 米国本社の Azure Functions プロダクトチーム シニアソフトウェアエンジニアとして活動されている、牛尾剛(うしお・つよし)さん。エンジニアさんを中心に業界では、今年話題になった本の1冊だと思います。話題に乗っかり購入して一気に読みましたが、そう言えばブログを書いてなかったことを思い出し、このブログを書くにあたって再読しました。

目次

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

概要

結論から言えば、仕事の進めかたや捉え方について学びがありますし、多くのエンジニアさんにとっては勇気をもらえる1冊だと思います。
著者の牛尾さんが、Microsoft社(Azure開発)で得た経験、試行錯誤の記録生々しく書かれています。

特に素敵だなと感じたのが、苦手な分野であっても、うまくいくにはどうしたら良いか?と常に自問自答しながら、同僚である職場の優秀なエンジニアの方に相談したり、アドバイスをもらう姿勢だと感じました。私を含めてですが、キャリアを重ねて年齢が上がってくると、なかなか素直に聞いたり・アドバイスをもらうということができなくなくと思います。
日本には「聞くは一時の恥、聞かぬは一生の恥」ということわざがありますが、いくつになっても素直に学ぶ姿勢を心がけていきたいと改めて思いました。

本書の場合、仕事の進め方や考え方(マインドセット)、コミュニケーション、キャリア、健康と多岐に渡るトピックがあるため、多くの方は、学びを得られる箇所、共感できる箇所があると思います。
この記事では、私が学びがあった、共感した箇所にフォーカスして紹介します。

努力家の人

この本を読むまでの私の勝手なイメージでは、著者の牛尾さんは新卒の頃から開発エンジニアとしてバリバリのキャリア、望まれる形で、Microsoft社(Azure開発)のポジションに就いていると思っていたのですが、違いました。

牛尾さんの場合、新卒でIT業界には進んだものの、開発ではなく営業からキャリアをスタートしている。その後もコンサルタント、プロジェクトマネージャー、エバンジェリストなどのポジションで評価を得られたものの、どうしても「プログラマ」、「エンジニア」への憧れが捨てきれずにそれでも諦めないでチャレンジを続けて、40歳の年齢からAzure開発(サーバレスソリューションのAzure Functionsの開発担当)をしているとのこと。

私自身もこれまで順調なキャリアを歩んできたとは思っておらず、すごいエンジニアを見る度に劣等感を感じていたのですが、自分のキャリアに責任と持つことの大切さを学びました。

生産性を高めるためには習慣化

第1章で主に紹介されているのは、1流のエンジニアたちの生産性の高さ。いくつかの習慣があるようです。

  • 思いつきによる試行錯誤は悪である
  • 理解に時間をかけることを実践する
  • コードの意図とその背後のアーキテクチャを理解することに時間をかける

エンジニア職種であれば、どのポジションであっても大切な考え方だと思います。

Be Lazy というマインドセット

  • 望んでいる結果を達成するために、最低限の努力をする
  • 不必要なものや付加価値のない仕事(過剰準備含む)をなくす
  • 簡潔さを目指す
  • 優先順位をつける
  • 時間を費やした努力より、アウトプットと生産性に重点を置く
  • 長時間労働しないように推奨する
  • 会議は時間内で効率的かつ生産的に価値を提供する

私の場合、不必要なもの、付加価値の低い(ない)仕事でも、手順をひとつひとつこなすことに安心感を覚えてしまい、結果として生産性が上がらないという悩みがあるため、この言葉は非常に刺さりました。すぐにはできなくても普段から意識して、仕事や目の前のタスクの目的をよく理解した上で、生産性をいかに向上させていくか自問自答したいと思いました。

不確実性を受け入れよう

  • マネジメントは詳細まで細かく練られた計画を期待しない
  • 予算と報告プロセスは精密な結果の予測を要求しない
  • 内部プロセスは計画や優先順位の変更に柔軟である
  • 事前に全ての問題分析が完了せずとも新しいことに挑戦する姿勢を持つ
  • システムとプロセスは柔軟で、複数の頻繁な変更を受け入れられる
  • 学びに基づいて、変化を精力的に行う

マルチタスクは生産性が最低なのでやらない

ここでも牛尾さんの同僚の方のエピソードを交えつつ、マルチタスクに陥って生産性の低下やミス発生を増やすことがないように気をつけるべきポイントを紹介してくださっています。

  • どんなにすごい人でも、時間がかかることはある。焦らずに時間をかける
  • 30分から1時間を割り当てたら、そのこと「のみ」に取り組む。
    すぐに終わらないものは、人に問い合わせるなど、物事を進めておいて、待ちの状態にして、次のタスクに進む。
  • 1つのことをやっている時には、他のことは一切せずに集中する。
  • 1つのタスクを中断する場合、再開する時のために、その状態に戻れるようにメモを付けたり、整理しておく
  • タスクの残骸は消しておく(ブラウザのタブなどは閉じておく)、そうしないと気移りしてしまう。

また、牛尾さんの職場では、優秀なエンジニアは、集中すべきタスクに対応するために、1日4時間はブロックして、チャットやメールの返信も一切せずに、自分だけの作業に集中しているとのこと。そうすれば、その4時間は脳がシングルタスクになるために、結果として作業の進捗がかなり良くなったとの実体験が紹介されています。

このエピソードを知って、「なるほどな、確かに目の前の作業に全力で取り組むべき」、と思うと同時に、現実的にはなかなか実行するのは難しいな、と感じました。特にエンジニアであっても、研究開発職を担当している人と、顧客対応も行う必要がある人では、置かれている状況が異なります。

私はフリーランスでもあるので、基本的には一人で、開発も営業も管理業務も行わなければならないため、働く時間を微妙にずれすことで、集中できる作業時間を確保しています。
例えば、平日は早朝時間帯の2-3h位を作業時間と決めて、早起きして開発業務などの(自分の中で)難易度が高い作業をこなし、日中の時間帯は顧客対応を最優先にする(その方がクライアントや取引先にもすぐに返信を返せる)、夕方以降は管理業務(請求書の整理、入金確認、雑務など)や自分の勉強時間に充てるようにしています。

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

この話題は6章を中心にエピソードが紹介されていますが、日本とアメリカのエンジニアの働き方の違いとして「ライフスタイルに合わせて違う働き方をしている」というもの。
家族がいる人は、早朝時間帯で仕事、子供の送り迎えで一旦業務を抜ける、普段は残業はしないけど、土曜日に働くなどなど。
日本の場合には、よく言えば、職場や同僚に合わせて協調して働くことが良しとされているけど、良い仕事(成果を出す)ためには、ライフスタイルに合わせて仕事することが認められているというエピソードでした。
そのほかにも健康を維持するための日常的に運動の習慣を取り入れるなどの生活習慣術が紹介されています。

この点に関しては、現在フリーランスとして働く私の場合には、ほぼ希望通りの働き方ができているのかな、と思います。
私自身も、特に1日の中で、作業時間を区切ってその時間帯で一番優先したいことを意識するようにしていますし、運動習慣の大切さを痛感する中年世代ですので、どんなに忙しくても心身ともに健康を維持するとを最優先においています。
私の場合の運動は、ウォーキングとクロスバイクによるサイクリングですが、遊ぶ・休憩という感覚ではなく、仕事の一部と思うようにしています。

AI時代をどう生き残るか?変化に対応する力と脱「批判文化」のすすめ

7章の内容になりますが、これから本格化するAI時代に、エンジニアとしてどう生き残っていくかの牛尾さんの持論が述べられています。

一つの解としては、AI時代には「専門性」こそが強みとなる。
誰もやったことのない領域に取り組んでいる専門家は、AIがとって変わることは原理的にありえない、ということ。

ChatGPT-4のような優れたサービスやプロダクトが、日本からなかなか生まれない問題点の一つである「批判文化」について説明されています。Contribute(貢献)する人を批判しがちな日本人のマインドが良いサービスを生み出すことを阻んでいるとの見解でした。

OSSの活動をしている私にも共感する部分が多いエピソードでした。分野問わず、OSSでContributer している日本人エンジニアは諸外国と比較すると少ないと言われています。大きな理由の一つが「批判されるだけで、感謝されない」、「都合よく利用されるだけ」というものだと思います。
また、日本の場合、仕組み全体を良くしていくことは、自社のビジネスとは別だと考える傾向が強く、OSS の Contributer のようなエンジニアの方が評価されにくい傾向があると思っています。

まとめ

最後に伝えたいメッセージとして、「自分の人生や幸せに責任を持って、自分でコントロールする」というマインドセットの素晴らしさ、と牛尾さんは述べられています。

自分の人生を良くしていく(自分の人生をコントロールする)というチャレンジは、わがままでもなく、誰しもそうしたいと願うことだと思います。
自分の人生は主人公は自分自身であるという当たり前のことを普段から忘れずに、これからの残りのエンジニア人生をよくしていきたいと思いました。

お問い合わせはこちらから

南大阪を中心に活動しているシステムエンジニアです。これまでの経験から、ビジネス課題について一緒になって考え、課題解決のためにサポートさせていただきます。些細なご相談でも構いません。当方に期待することやご相談内容についてお聞かせください。

連絡先:050-5050-2860

PAGE TOP