世界一流エンジニアの思考法
@nomu487495|2024-02-02 (10m ago)5 views
https://www.amazon.co.jp/dp/4163917683
本書では、生産性向上をテーマに掲げ、その方法について解説されています。この本から生産性向上だけでなく、技術者としてマインドセットを学びました。 この記事では、本書を読んで特に自分に足りないと思った内容をピックアップしています。
「理解」に時間をかける
どんなに頭がいい人でも理解には時間がかかるものなのだ。頭のいい人が理解が早いように見えるのは、そうやって時間をかけて基礎を積み重ねているので、すでに理解していることに関して頭のメモリにコンテキスト(文脈)が載っているからだ。
成果を早く出したいと焦り、自分の理解の遅さに嫌気がさしていた自分にとって、励まされる言葉でした。エンジニアとしての技術力不足から早く成果を出したい、できるようになりたいとう焦る気持ちが本質への理解を遅らせているのだと気づきました。
世界一流のエンジニアが時間をかけて理解を重ねている事実を知り、「理解には時間がかかる」がかかるという本質を再認識しました。
焦りは本質への理解を妨げるので「焦りは禁物」
「理解」のコツ
エンジニアに限らず、理解することは普段の業務で多くの時間を割きます。 素早い理解には 脳への負荷を減らす ことが重要です。
全ての情報を一気に理解しようとしていた自分にとってこのアプローチは、目から鱗でした。
情報量を減らす
どんな会議や打合せでも話が理解できていなければ意味がないので、理解できる情報量に絞る必要があります。理解できるかを確認しながら情報を小出しにすることが効果的です。 これは会議だけでなく、学習やコードリーディグなどでも有効です。 必要ない情報を除き、本質を理解することで、その後の付加的な情報への理解がしやすくなります。
相手が本当に欲しい情報を考える
「相手が本当に欲しい情報は何か?」--- これを普段から意識しておくことが、生産性を抜本的に向上させる鍵となる
自分の欲しい情報を相手に伝える・相手の欲しい情報を理解する能力を向上することで双方の理解への時間を減らし、生産性を向上させることができます。
クイックコールを使う
クイックコールとは、話したい相手に気軽にコールしてよいというルールのこと
音声の方が 100 倍以上情報量があってインタラクティブ性があり、フィードバックが速い。
相手のコンテキストやメンタルモデルがわからない場合、テキストからそれを理解するのは時間がかかりすぎますテキストで進めることが難しい内容は、遠慮せずクイックコールを使うことで誤解を避け、大幅に時間を削減することができます。
失敗に寛容であること
この本では、度々「失敗に寛容である」ことの重要性が説かれていました。
「失敗なんておもわなくていい。私たちはいつも未知のことをやっているのだから、こういうことは起こるんだ
自分能力を上回る領域にチャレンジするからこそ「失敗」は起こる
早く失敗することはそれ自体に価値がある 最初から「正しい方法」わかっている人はいない。正しい方向性を早く見つけたものが勝つ世界であることを肝に銘じたい。
インターネットの世界は、歴史が浅く、成熟もしていません。そんな中でソフトウェアを開発するのだから失敗をまったくしないでソフトウェアを作ることは余程単でない限り、不可能です。失敗を批判すると開発者は失敗を恐れ、 クリエイティブで生産的な仕事ができなくなってしまいます。
未知で不確実な世界でソフトウェアを開発しているのだから失敗は必然的に起こるものと気づくことができました。 失敗をしたことよりも、失敗から得られる学びに目を向ける。
気づき
「偉大なプログラマではなく、偉大な習慣を身につけたプログラマになる」
自分は、この本に生産性を向上させる「銀の弾丸」を期待していました。 しかし紹介された思考法は特別なものではなく、丁寧に時間をかけて生産性を向上させる方法でした。この本を通して自分がはやく一人前になりたいという焦りが、理解を妨げ、エンジニアとしての成長を阻害していると気づきました。
偉大なプログラマへの第一歩として「理解には時間をかける」ことから始めていこうと思います。
今回の記事の内容は、本書のほんの一部でチームビルディング・生活習慣術など数多くの生産性を向上させる Tips が紹介されていました。みなさんもぜひ読んでみてください。自分とは全く違う気づきが得られると思います。