📝

頭の中に「メンタルモデル」をつくる

2023/12/11に公開

はじめに

この記事は以下の書籍についての読書感想です。

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

https://www.amazon.co.jp/世界一流エンジニアの思考法-牛尾-剛/dp/4163917683

米マイクロソフトの現役ソフトウェアエンジニアである牛尾 剛氏が、開発の最前線で学んだ思考法をまとめています。
牛尾さんは自身を “三流プログラマ” と評しており、そんな自分でもできた〈生産性が劇的に向上する〉エンジニアのマインドセットや習慣を学ぶことができます。

世界一流エンジニアは何が違うのか

仮説思考で動く

〈手を先に動かさない。まず仮説を立て、アプローチを選定してから動く〉

基本的に仮説思考。
何かうまくいかないときに、とりあえずコードを動かしてログを見て、その部分だけ直してもう一回回してを繰り返す行為は効率が悪い。
ちゃんとログとコードを読んで、何が起こっているかの仮説を立て、アプローチを選定して検証する。

これができるかどうかでエンジニアの生産性は16 倍違うらしい。

理解に時間をかける

どんなに頭がいい人でも理解には時間がかかるものなのだ。頭のいい人が理解が早いように見えるのは、そうやって時間をかけて基礎を積み重ねているので、既に理解していることに関して頭のメモリにコンテキスト(文脈)が載っているからだ。

仮説思考で動くには、何が起きているかを正確に把握する必要があり、これは何も知識がなければ難しい。
じゃあどうするか、時間をかけて知識を付け頭の中のコンテキストを増やすことだ。

メンタルモデルの形成を大事にする

メンタルモデル とは、人々が世界を理解し、予測し、解釈し、新しい状況に適用するための、 自己の心の中のイメージや理論のことだ。

コードやアーキテクチャをしっかりと時間をかけて学んで、「どういう状況でどのように動作するのか」というシミュレーションができるように脳内でイメージを構築しておくことが大事。

これにより、「ログを見ただけ」、「少し話をきいただけ」で何が起こっているのかを把握する。つまり、こうじゃないかと仮説思考で考えることができるようになるというわけだ。

AI を使いこなせているか

AI に書いてもらったり、既存のコードをコピペすればすぐにアウトカムを出せても、中身を理解していないからコントロールできてる感はないし、その後何度も調べることになり、応用が利かない。作業ばかりが続くので、自分が知らないことや、新しいことのキャッチアップなどもできない、つまり「成長していない」ということになる。  技術は地味な積み重ねにこそ真価が宿る。「何かを身につける」のは、決して即席ではできない。

Github CopilotChatGPT に頼ることも大事で、それにより短期的な生産性を、劇的に上げることには価値がある。

一方で、本人の成長やキャリアという目線から見たときに、「提示された内容をきちんと理解する努力を怠っていないか?」、「同じこと何度も何度も聞いて時間を無駄にしていないか?」は、一旦立ち止まって考えたい点。

理想的なのは、成果は出しつつ、その過程で 頭の中にメンタルモデルを形成し、仮説思考ができるようになること だ。

時間の使い方

「会議に出たら「会議の時間内だけで完結」するよう訓練すると、非常に生産的」

以前読んだ会議の効率を上げる方法に関する書籍の中で、「準備する」プロセスを大事にしている書籍もあった。
会議の場でアドリブで行動な議論ができる人材しかいないなら、本書の言う通り準備はせず会議の時間内だけで完結するかもしれないが、現実問題準備しないと要領を得ない場合も多いので、できるだけ短い時間で自分の言いたいことを箇条書きにしてまとめておくとかの準備は必要なことも多いだろう。

クイックコール(予定されていないビデオ通話)を頻繁に使う

Slack で今ちょっとハドルいいですか?といって、良ければ 1 対 1 でコミュニケーションをとり、必要に応じて画面共有して作業する。会話時間が 5 ~10分でも知っている人と一緒にやる方が作業は10倍速くなる。話していてわいた疑問もその場で聞ける。メッセージを送ってスルーされたら忙しいんだなと思えばいい。
私は、気が小さいのでこういう時にすぐ、「迷惑かもしれない」と勝手に思って躊躇するきらいがあるのだが、実際話してみると話してよかった~となる。

おわりに

物事を考えるときに思考のフレームワークに当てはめて、スムーズに議論を進める人を見ると、「頭がいい人だ」と感じる。自分は何かと経験や何となくで物事を語りがちなので、本書を読んで、エンジニアとして成長できるマインドセットや思考法を身に着けたい。

本書で紹介されていた、システム思考に関する書籍も参考になりそう。

超一流が実践する思考法を世界中から集めて一冊にまとめてみた。

https://www.amazon.co.jp/超一流が実践する思考法を世界中から集めて一冊にまとめてみた。-ガブリエル・ワインバーグ-ebook/dp/B0876KMPJD/
この他にもコミュニケーションスタイル、チームビルディング、生活習慣などについても具体的な Tips が数多く掲載されているので、エンジニアとして成長したい人はぜひ手に取ってみてほしい。

GitHubで編集を提案

Discussion