😎

【まとめ】米マイクロソフトエンジニア牛尾さんの著書『世界一流エンジニアの思考法』を要約してみた

2024/04/10に公開

先日、米マイクロソフトエンジニアの牛尾さんが書いた著書『世界一流エンジニアの思考法』を読んだので、自分の頭の整理も兼ねて、重要だと思った部分をまとめました。

「世界一流のエンジニアがどういうふうに仕事をしているのか知りたい」、「普段から割と残業してしまっているので、自分の業務効率化に役立てたい」と考えている皆さんに役立つ記事だと思います。

手を動かす前に仮説を立てる

デバッグする際、闇雲に試行錯誤してはいけません。
いきなり手を動かすと非効率なので、エラーログなどで得られた情報から仮説を立てて、それを検証するために手を動かすようにしましょう。

どんなに頭が良くても理解には時間がかかる

マイクロソフトで勤務しているような方でも、やはり自分たちと同じ人間なので、理解には時間がかかります。
逆に、ここに時間をかけないと、内容をわかっていないまま闇雲に手を動かすことになってしまいます。
それが返って非効率を招くので、最初の理解にはじっくりと時間をかけましょう。

まずはエキスパートに頼る

すでにエキスパートがいる場合は遠慮なく質問しましょう。
自分が知らない分野に関して、ゼロから調べたり考えたりするよりもはるかに効率が良いです。

Be Lazy(怠惰であれ)

最小の努力で最大の価値を発揮するようにしましょう。
ポイントとしては2つかなと思います。

  • 不要な仕事を見つけてやることをどんどん減らす
  • 長時間労働しない習慣にする

残業しないためには、時間を固定してその中で可能な範囲で最大限の価値を発揮するという考え方が重要です。
残業しなければ仕事が終わらないというのであれば、そもそもその仕事の設計自体に無理があるので、本当に必要なタスクのみに絞り込んだり、期限を遠慮なく伸ばしてしまうなどの対応が必要です。

コードリーディングのコツは極力コードを読まないこと

これは個人的に一番目から鱗だった内容です。
今まで自分は、「コードを読むのが遅いのは自分に知識や経験が足りないからだ。もっと勉強したり経験を積んだりしなければ。」という思考に陥っていました。
ですが、必ずしもソースコードを全部読む必要はないんだと悟った結果、割と道が開けました。

具体的には、詳細な実装は極力見ないようにして、構造やインターフェース部分をきちんと理解することに時間をかけるというテクニックです。
詳細な実装については、開発者を信頼してきちんと動くものとした上でコードを読んでいくわけです。

確かにこうするとかなりコードを読む量を減らせそうなので、今後自分の仕事でも活用していきます。

ググらずにできることを増やしていく

例えばfor文のように、自分で何も調べなくてもスラスラとコードが読めるようなものの範囲を広げていくと、少ない労力で生産性を高めることができます。
もちろん、今の自分にはできないことをできるようにする努力も必要ですが、それには時間がかかります。
なので、そうした努力と並行しつつも、自分が達成可能なレベルで生産性を高める努力が有効です。

マルチタスクはやらない

マルチタスクは生産性が下がるので、やらないようにしましょう。
「進行中のタスクは常に1つのみ」という状態がベストです。

1日4時間は自分だけの時間を確保する

slackやメールなどに即レスするのは、他のメンバーが円滑に仕事をする上では重要ですが、それで自分の仕事が進まなくなってしまっているようでは本末転倒です。
そのため、1日4時間は自分の時間を確保して、「その間はレスをしない、自分の作業だけに集中する」というふうにすると、作業効率も良くなるし、それ以外の時間でまとめてslackやメールの対応をすれば良いので効率的です。返信してないせいでチームのメンバーの業務が滞る心配もないでしょう。

定時に帰るから生産性が上がる

僕らは良く、「生産性が高い人が定時に帰る」と考えがちです。もちろんそれもあると思いますが、定時に帰る→生産性を上げるという流れを作り出すこともできます。
具体的には、定時に帰る→浮いた時間で勉強する→それが次の仕事の効率を上げる
といった流れです。また、元々人間は長時間同じ作業を集中できるような作りにはなっていないので、仕事を早めに切り上げてインプットに切り替えるというのは理に叶っていると言えそうです。

最後に

今回ご紹介した書籍ですが、実際に読んでみると、レビューでの評価のとおりでかなり今後の業務に活かせそうでした。
詳細が気になる方は、書籍の方も是非読んでみてください。

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

Xについて

僕のXアカウントでは、主にweb開発、AI、会社経営のノウハウについて発信しています。もし興味があれば、フォローしていただけると嬉しいです。

プログラミング学習サポート&キャリア相談について

プログラミング学習サポート&キャリア相談も始めました。興味のある方はこちらから詳細をご覧ください。
https://shibayama-masaki.com/consulting/

Discussion