今回は、牛尾剛さん著の『世界一流エンジニアの思考法』を紹介していきます。
本書の著者である牛尾さんは、米マイクロソフトのシステムエンジニアとしてご活躍されています。
マイクロソフトのエンジニアというと、世界でもトップクラスの人材が集まっています。
本書では、そんな世界一流のエンジニアたちと働いている著者によって、彼ら彼女らの思考法についてまとめられています。
本書の内容はエンジニアの思考法となっておりますが、エンジニア以外の方でも参考になる情報もたくさん載っています。
そのためこの記事では、エンジニアではない方にも役立つ情報を3つ厳選して紹介していきます!
世界一流エンジニアの思考法の要約
試行錯誤は悪である
日本では、とにかく手を動かして試行錯誤をすることが評価されることが多いと思います。
そのため、何か問題が起きた時には、手当たり次第色々とやってみることが当たり前になっているかもしれません。
むしろ、手を止めて考えている時間が長いとサボっていると思われてしまうこともあるかもしれません。
しかし、世界一流のエンジニアはいきなり手を動かすということはしません。
世界一流のエンジニアは、まず事実やデータを集めます。
そして、集めた事実やデータから仮説を立てます。
仮説を立てて、十分仮説を考えることができたら、その仮説を証明するために、ようやく行動を起こすのです。
そのため、むやみやたらに手を動かして、試行錯誤をするということはありません。
実際に著者がプログラムがうまく動かない時に、プログラムのログをみて、ここが原因かもしれない、もしかしたらあそこかもしれないと試行錯誤を繰り返して、一日を潰してしまうこともあったそうです。
しかし、著者が同僚のエンジニアに相談をしたところ、その同僚はいきなり手を動かすことはなく、最初のログをみて仮説をたて、最後に一度手を動かしただけで問題を解決したそうです。
手当たり次第手をつけて試行錯誤するやり方は、一見頑張っているように見えるかもしれませんが、解決に結びつかない無駄な時間も多く生まれてしまいます。
また、理解があやふやな状態で思考錯誤を繰り返したとしても、空回りになるだけで何も身につくことはなく、試行錯誤したことは忘れやすく、次に活かすことはできません。
そのため、生産性を上げるためには、手を動かす前に事実から仮説をたてて、仮説を十分に考えることができた段階で、実際に手を動かして効率を高めることが大切なのです。
さらに、自分でしっかりと仮説をたてて、それを証明するために行動するからこそ、自分の中に知識や経験として身についていき、別の問題にも応用できるようになり、生産性を上げることができるのではないかと思います。
私自身、youtubeの動画が伸びない時に、焦って投稿数を増やすことに注力してしまうことがあるので、これからは投稿数を増やすよりも、なぜ伸びないのか、どうすれば伸びるのかといった仮説を立ててから、行動することを心がけたいと思います。
いかにやることを減らすかを考える
世界一流のエンジニアには、Be lazy(怠惰であれ)というマインドセットが身についています。
怠惰であれというのは、当然ぼーっと怠けることではありません。
より少ない時間で最大の価値を生み出すという考え方です。
よく仕事の生産性を上げるために、優先順位をつけることが重要だと聞くことがあると思います。
この優先順位をつけることについて、日本人が持っているイメージは、例えばやらなければいけないことが5つあり、全てやり切るのは難しいから順位をつける、もし可能であれば全部やりきりたいというものだと思います。
しかし、世界一流のエンジニアがやっている優先順位をつけるという行為は違います。
彼らが行なっている優先順位は、最初の一個をピックアップしたら他はやらずに、その一個に集中するというものです。
一番効果が大きいところだけに集中するのです。
20%の仕事が80%の価値を生むという、2−8の法則が有名ですが、まさに世界一流のエンジニアは、その20%の仕事に集中しているのです。
そして、その仕事が終わったら、また80%の価値を生む20%の仕事を探して集中することで、生産性を上げていっています。
この20%の仕事で80%の価値を生むことを実践するためには、いかにやることを減らすかを考えることが大切です。
統計では、ソフトウェアの機能のうち40%しか使われないそうです。
私はYoutubeのサムネイルの作成にphotoshopを使っていますが、知らない機能の方が多く、普段使う機能は限られています。
おそらく、皆さんが利用しているものも、色んな機能があることは知っているけど、詳しくは知らないというものもが多くあると思います。
そのため、それを開発するエンジニアも、よく使われる40%の機能に注力するべきであり、ほとんど使われない60%に力を入れても、ほとんど意味がなく、価値を生まないわけです。
おそらく皆さんの仕事の中にも、価値を生む作業と価値を生まない作業があると思います。
とても簡単な例ですと、パワポ作成時にフォントにこだわるのは、かける労力の割に、ほとんど価値を生まない作業だと思います。
それよりも、どんな言葉を入れれば、みている人が内容を理解しやすいか、自分の伝えたいことが伝わるのかといったことを考えた方が効果的だと思います。
では、どうすれば「やらなければいけないことを減らす」ことができるのか?
本書では、4つの方法が紹介されています。
①ひとつだけピックアップするから
②時間を固定して、できることを最大化する
③準備、持ち帰りをやめてその場で解決する
④物理的にやることを減らす
特に日本では会議は事前に準備をして、終わった後に議事録を書くということが多いと思います。
しかし、著者がインターナショナルチームを観察すると、おおまかなアジェンダは存在するが、準備に時間をかけて会議に臨むことはないそうです。
また議事録も、その場で要点だけをOne noteにまとめて共有できるようにしているそうです。
さらに、必要な意思決定は極力その場で行うことで、持ち帰って検討することはほとんどありません。
このように、会議に出たら、その会議の時間内で完結するように訓練されているため、生産的な会議をすることができます。
ぜひ皆さんも、Be lazyの精神で、やらなければいけないことを減らす、大きい価値を生む20%の仕事に注力することを意識してみてください。
リスクや間違いを快く受け入れる
日本では、失敗をすると怒られる、責任を負わされれるというイメージが強いと思う思います。
しかし、生産性を上げるためには、リスクや間違いを快く受け入れることが大切なのです。
アメリカでは、失敗や間違いで怒られることはなく、会社に報告をすると「フィードバックをありがとう」と大変感謝されるそうです。
実際に社内のイベントでも主催者が「今日はたくさんの失敗をしよう」と声をかけることもあるそうです。
失敗や間違いをした時に責められる環境だと、人は失敗をすることを怖がって挑戦することを避けます。
しかし、実際はチャレンジをしない方が、会社の将来のリスクを高めます。
だからこそ、まずはやってみて、早くフィードバックをもらい、早く間違いを修正していくという、Fail Fastの精神が大切なのです。
本書では、挑戦→失敗→フィードバック→修正のサイクルが速いほど価値が高まると書かれています。
失敗はただの結果であり、そこからどんなフィードバックをもらうかが大切なのです。
この失敗に学ぶ思考習慣こそが、生産性を上げるためには大切です。
そこで、本書では失敗から学ぶマインドを身につけるために必要なことを、3つ紹介しています。
一つ目がフィードバックを歓迎するムードを作るです。
失敗して怒ったり、批判したりするのは、自分と対等であるチームメイトを子供扱いしていることであると、本書では書かれています。
そのため、職場では怒るという選択肢をなくして、フィードバックを促進するムードを作ることが大切です。
そして、2つ目が検討よりも検証をするです。
いつまでも検討をしていて、机上の空論の中で彷徨っていては、いつまでも失敗することはできません。
そのため、比較検討に多くの時間を充てるのではなく、早く前に進むために検証していきましょう。
最後が、早く失敗できるように考えるです。
最初から、正しい方法がわかっている人はいません。
だからこそ、早く失敗して、フィードバックをうけ、素早く方向修正をして、正しい方向性を見つけていくことが大切なのです。
これら3つのことは、個人としてもチームとしても実践していくことが大切だと思います。
本書では、この記事では紹介しきれていない世界一流のエンジニアの思考法がまだまだ紹介されています。
そのため、世界一流と呼ばれる人たちの高い生産性の秘訣を知りたいという方は、ぜひ本書を読んでみてください!
ではでは。