【書評】世界一流エンジニアの思考法 ― 生産性10倍を支える5つの習慣(牛尾剛・著)
この記事は6分で読めます
こんにちは。今日も記事を読んでくださってありがとうございます。
今回ご紹介するのは、Microsoft の Azure Functions 開発チームで現役シニアソフトウェアエンジニアとして働く 牛尾剛さんの『世界一流エンジニアの思考法』 です。
「世界一流のエンジニアは、一般的なエンジニアの10倍の生産性を持つ」と言われています。 そんなことを聞くと雲の上の存在のように感じるかもしれません。
ですが本書を読むと、その差は天才性ではなく 日々の習慣としての思考法(マインドセット) から生まれていることが分かります。
著者自身が「自分は生産性が高いタイプではなかった」と語りつつ、世界トップクラスのエンジニアたちに囲まれながら学び取った思考法を、現場の体験ベースでまとめた一冊。 だからこそ、ジュニア・ミドル層のエンジニアにも実感を持って届く内容になっています。
この記事では、私が読んでいて特に「明日から取り入れたい」と感じた 5つのポイント を紹介していきます。
1. 構造を理解する
最初の鍵は「構造を理解する」ことです。
いきなり難しい話か?と思うかもしれませんが、ご安心ください。
ここで言う「理解」とは、自分の言葉で他人に説明できるレベルまで落とし込めている状態 を指します。 何となく分かっている、ではなく、説明できて、いつでも引き出せて、別の場面に応用できる。そこまで来てはじめて「理解した」と言えるのかもしれません。
イメージとしては、家を建てる前の 設計図 に近いものでしょうか。
柱がどこにあり、配管がどう通り、どの壁が構造上動かせないのか。これを把握している大工さんと、見様見真似でリフォームする人とでは、トラブルが起きたときの対処スピードがまるで違いますよね。
コードや業務も同じです。表面的な使い方だけでなく構造を押さえておくと、応用も改修も格段に速くなります。
構造の理解 = 本質の理解
構造を理解するとは、本質を理解する ということ。
逆に言えば、本質に手が届いていない学びは、応用が効かず、すぐに陳腐化してしまうのかもしれません。
2. 理解を深めるために時間をかける
「でも、一流の人は頭の回転が速いから、すぐ理解できるんじゃないの?」と思われるかもしれません。
ところが本書を読むと、印象が変わります。
彼らは 理解するためにこそ、たっぷり時間をかけている のです。
説明動画を何度も見返したり、同僚に質問しに行ったり、自分の言葉で書き出したり。一見遠回りに見える反復学習を、当たり前のように積み重ねています。
例えるなら、語学学習に近いかもしれません。
ネイティブのように話せる人ほど、地道なシャドーイングや音読を「もう要らない」とは言わず、何度も反復しています。理解の筋肉は、反復でしか育たない のだと思います。
ここで覚えておきたいのは、構造の理解には時間がかかって当たり前 だということ。
そう知っているだけで、「なんで自分はすぐ分からないんだろう」と焦る気持ちが、少し和らぐはずです。
自分の言葉で説明できるようになるまで、ゆっくり反復していきましょう。
3. むやみな試行錯誤はしない
エンジニア界隈に限らず、よく耳にするのが「むやみな試行錯誤はしない」という考え方です。
問題が起きたとき、あれこれ手を動かして当てずっぽうに直そうとするのではなく、まず 問いを立て、道筋を組み立ててから取り組む。
イメージとしては、お医者さんの診察に近いでしょうか。
頭が痛いと訴える患者さんに、薬棚から片っ端に薬を試させる医師はいません。問診し、検査し、原因の仮説を立ててから処方します。コードのバグも本来同じで、まず診断、それから処方 の順番なのかもしれません。
なぜ試行錯誤が「悪」なのか
ここで、章1・章2の話がつながってきます。
構造をきちんと理解できていれば、「どの経路でデータが流れているか」「どこで状態が壊れているか」が見えるので、闇雲に試すより圧倒的に早く原因にたどり着けるからです。
最初のうちは、なかなか難しいかもしれません。
それでも、どこかのタイミングで「まず問いを立ててみる」へ切り替えていきましょう。
私自身、今これを実践していますが、以前の試行錯誤していた時期と比べて、問題解決のスピードがかなり上がった実感があります。とはいえ、まだたまに沼にハマる時もあるんですけどね…。
4. 整理する
ここからは少しテクニック寄りの話です。それは 整理する こと。
整理とは、必要な情報に 必要なときすぐアクセスできる状態 を作っておくこと、と言い換えてもいいかもしれません。
メモを取ったのに、どこに書いたか思い出せない。タブを大量に開いたまま、肝心の見たいページが行方不明…。必要な情報をすぐに取り出せないのはもったいないことです。
例えるなら、よく整理されたキッチン のようなイメージです。
よく使う調味料が手の届く位置にあり、調理器具は用途ごとに引き出しに分かれている。だから手が止まらず、料理の流れが途切れない。
知識やメモも同じで、取り出す動線が短いほど、思考も止まりません。
凝った仕組みでなくて構わないので、自分なりの「すぐ取り出せる場所」を一つ決めてみるのが、はじめの一歩になりそうです。
5. 記憶力アップのためにブログを書く
最後は 記憶力アップのためにブログを書く という習慣です。
記憶の定着には「思い出す(retrieval)」という行為が、もっとも効くと言われています。読んだだけ・聞いただけよりも、自分の頭から引っ張り出して文章化したときに、知識はぐっと定着するわけですね。
さらにブログには「人に教える」要素も含まれます。
どう書けば初めて読む人にも伝わるだろう、と考えながら言葉を選ぶ。そのプロセス自体が、自分の理解の穴を見つけ、埋めていく作業になります。
ブログでなくても、社内 Wiki でも、Zenn や Qiita でも構いません。「人に説明する形でアウトプットする場」 を一つ持っておくと、学びの定着率がぐっと変わってくるはずです。
おわりに
今回は、牛尾剛さんの『世界一流エンジニアの思考法』から、私が特に大事だと感じた5つのポイントを紹介しました。
- 構造を理解する
- 理解を深めるために時間をかける
- 試行錯誤は悪と知る
- 整理する
- 記憶力アップのためにブログを書く
こうして並べてみると、いずれも特別な才能を必要としない、日々の小さな習慣 ばかりだと気づきます。
生産性10倍と聞くと身構えてしまいますが、その正体は、こうした思考の癖を地道に積み重ねた結果なのかもしれません。
もしこの記事を読んで何か一つ持ち帰っていただけるとしたら、まずは 「自分が今やっている仕事の構造を理解して、自分の言葉で説明してみる」 ところから始めてみるのはいかがでしょうか。
そして、構造の理解には時間がかかるもの。
焦らず、ゆっくり積み上げていけば大丈夫だと思います。
最後までお読みいただき、ありがとうございました。
また次の記事でお会いしましょう。
