先日、マイクロソフトのシニアエンジニアの牛尾剛さんが書かれた「世界一流エンジニアの思考法」という本を読みました。とてもためになる本だったので紹介したいと思います。
本書は主にエンジニア向けの書籍だと思いますが、書かれている内容はエンジニア以外の職種にも役立つ内容だと思いますので、エンジニア以外の方もチェックしてみてもよいかもしれません。
この記事は以下のような人におすすめ!
- 一流エンジニアを目指している
- 「世界一流エンジニアの思考法」にどんなことが書かれているか知りたい
著者について
まず、著者の牛尾さんですが、この方の経歴がすごいと思いました。
牛尾さんは最初に就職された会社で営業職を5年ほどやられ、その後、アジャイルコーチ、コンサルタント、プロダクトマネージャー等を務められました。
ですが、もともとプログラマになるのが夢であり、努力と工夫を重ねられ、44歳の時にマイクロソフトに就職されたようです(私は現在38歳ですが、夢があります!)。
そして、本場アメリカに移られ、現在、クラウドエンジニアとして超一流エンジニアのメンバーと一緒に働かれています。
牛尾さんは周りの優秀なメンバーを観察し、その高い生産性は思考方法(マインドセット)によって形作られていることに気づいたそうです。
本書では、牛尾さんが気づかれた、超一流エンジニアの方の思考方法について存分に紹介されています。
目次
本書では以下の通り様々なトピックを網羅しています。
- 第1章:世界一流エンジニアは何が違うのだろう? ー生産性の高さの秘密
- 第2章:アメリカで見つけたマインドセット ー日本にいるときには気づかなかったこと
- 第3章:脳に余裕を生む情報整理・記憶術 ーガチで才能ある同僚たちの極意
- 第4章:コミュニケーションの極意 ー伝え方・聞き方・ディスカッション
- 第5章:生産性を高めるチームビルディング ー「サーバントリーダーシップ」「自己組織型チーム」へ
- 第6章:仕事と人生の質を高める生活習慣術 ー「タイムボックス」制から体づくりまで
- 第7章:AI時代をどう生き残るか? ー変化に即応する力と脱「批判文化」のすすめ
本の内容紹介
以下では、書籍の中から特に印象的だったことを紹介します。
トップエンジニアの衝撃的な解決方法
皆さんなら自分のプログラムがうまく動かない時どうするでしょうか?
私ならあれやこれやと色々試したり、ググったりすると思います。
書籍では、著者のチームメンバーのポール(著者曰く、人生で出会った中で最も賢い男)の解決方法が紹介されています。
著者のプログラムがうまくいかなった時、ポールだったらどう思考するかと思い、ポールにペアプログラミングをお願いしたそうです。
すると、ポールはまず、手を一切動かさずに、プログラムのログを見て仮説を立てました。そして、最も可能性が高い仮説に基づいてクエリを一度発行しただけで根本原因をズバリ突き止めたようです。
この出来事から、著者は以下の手順の重要性を感じたそうです。
事実(データ)を一つ見つける→いくつかの仮説を立てる→その仮説を証明するための行動をとる
この手順が圧倒的な効率を産んでいるとのことです。
なお、書籍ではextreme programmingを開発した、ケント・ベックの言葉が引用されており、印象的でした。
「私は偉大なプログラマではなく、偉大な習慣を身につけたプログラマだ」
「Be Lazy」というマインドセット
一流エンジニアの人たちが身につけている、仕事を加速させるためのマインドセットとして「Be Lazy」が紹介されています。
「Be Lazy」(怠惰であれ)というのは、端的に言うと「より少ない時間で価値を最大化するという考え方」です。
Be Lazyを達成するための習慣はいくつか紹介されていますが、個人的に特に印象的だったのは「優先順位をつける」です。
私でしたら複数のタスクに優先順位をつけるときは、タスクに優先度をつけるものの、時間があれば全部やりたいと思ってしまいます。
ですが、海外のメンバーはそうではなく、「最初の1個をピックアップしてやったら他はやらない。その一つにフォーカスしよう」という感覚のようです。
これは「2ー8の法則」からも理に適っています。
「2ー8の法則」は20%の仕事が80%の価値を産むのだから、20%をしっかりやればよい、とのいうものです。
海外のメンバーはやるべきタスクの量を減らし、価値の高いものをいかに作っていけるかという考えが徹底されているようです。
私は自分で言うのもなんですが、真面目なところがあり、優先順位を付けても全部やらねばと思ってしまいます。この優先順位をつけると言うのはいうは易し、やるは難しだと思いますが、できるように頑張りたいと思います。
「検討」をやめて「検証」する
書籍では「時間をかけずにさっさと検証の段階に進み、フィードバックを得る」ことを推奨しています。
どれだけ時間をかけて検討してもそれは机上の空論であり、実際にやってみると想定と違ったり、できなかったりすることがあります。
よって、検討はほどほどにして実際に実装してみてフィードバックを得る方が圧倒的に速いとのことです。
私も検討に時間をかけすぎることがあるので、最低限の検討を行ったら素早く検証に進むことを念頭に置こうと思いました。
その他
書籍にはところどころコラムがあり、その内容も読み応えがあります。
個人的には「海外のテック企業に就職するには」というコラムが参考になりました。
私も海外のテック企業で働くことに憧れがあるので、本コラムの内容を参考に頑張りたいと思います。
まとめ
本記事では「世界一流エンジニアの思考法」を紹介させていただきました。
書籍で紹介されている思考法は身につけてこそ意味があると思いますので、今後も定期的に書籍を読み返し、身につけられるよう頑張りたいと思います。
本記事の内容が少しでも参考になればぜひ書籍を手に取っていただければと思います!
コメント