「世界一流エンジニアの思考法」めっちゃ良かった

## はじめに

「[世界一流エンジニアの思考法](https://www.amazon.co.jp/%E4%B8%96%E7%95%8C%E4%B8%80%E6%B5%81%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%81%AE%E6%80%9D%E8%80%83%E6%B3%95-%E7%89%9B%E5%B0%BE-%E5%89%9B/dp/4163917683)」は今までの自分の常識とは異なる考え方をいくつも提示してくれて、本当に学びの多い本だった。自分の問題点に対して自覚的になれて、これから自分が成長するために何をやるべきかが見えてきたように思える。
軽く学びをまとめてみたい。

## 理解に時間をかける

>不完全感を作り出していた根本的な要因は、頭ではなく「思考の習慣」にあった。プログラミングもギターも、「早く成果が欲しくて」、目先の結果を求めて頑張ってはかえってできなくなっていたのだ

僕はこの一節を見て「これだ！！！」と思った。
自分もまさに「何かできるようになるという感覚」がなかったのだ。
### 「完璧な理解はいらないから、躓いたら先に進め」という定説

プログラミング学習において、完璧な理解を求めないでどんどん手を動かそうとよく言われる。
これは一理あって、
- 何かを作ることで「できる！！」という自信、自己肯定感が生まれる
- わからないことはいつまで経ってもわからない
	- 後から見返すとあれほどわからなかったのが嘘だったかのように理解できることがある
という理由がある。

しかし理解を曖昧にしすぎるのもむしろ自己肯定感が下がる一因となりうるのだ。
「今自分は理解を蔑ろにし過ぎているのかもしれない」と気づかせてもらえた、最高の瞬間だった。
本書に書いてある「理解」に関する話をざっくりとマインドマップで構造化してみた。
詳細に関しては是非とも本を手に取って読んでみてほしい。

![Capture-2024-02-18-024329.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/942599/9713492e-4757-a3e9-8193-2a8dc41ab513.png)

これ以降、自分の理解力、物事に対する解像度を高めるためにはどうしたらいいのかを真剣に考えるようになって「[解像度を上げる](https://www.amazon.co.jp/%E8%A7%A3%E5%83%8F%E5%BA%A6%E3%82%92%E4%B8%8A%E3%81%92%E3%82%8B%E2%80%95%E2%80%95%E6%9B%96%E6%98%A7%E3%81%AA%E6%80%9D%E8%80%83%E3%82%92%E6%98%8E%E6%99%B0%E3%81%AB%E3%81%99%E3%82%8B%E3%80%8C%E6%B7%B1%E3%81%95%E3%83%BB%E5%BA%83%E3%81%95%E3%83%BB%E6%A7%8B%E9%80%A0%E3%83%BB%E6%99%82%E9%96%93%E3%80%8D%E3%81%AE%EF%BC%94%E8%A6%96%E7%82%B9%E3%81%A8%E8%A1%8C%E5%8B%95%E6%B3%95-%E9%A6%AC%E7%94%B0%E9%9A%86%E6%98%8E-ebook/dp/B0BH3ZBK7C/ref=rvi_d_sccl_1/357-6298352-5989915?pd_rd_w=6sR20&content-id=amzn1.sym.a4dc92d7-7100-437e-b3e3-2349e8298523&pf_rd_p=a4dc92d7-7100-437e-b3e3-2349e8298523&pf_rd_r=F7Q2B9SZF1GBXW20CRX2&pd_rd_wg=Xsp5C&pd_rd_r=8a236d0c-8221-4e1e-bf5b-ac9af3e50dd9&pd_rd_i=B0BH3ZBK7C&psc=1)」という本を読んだのだが、これもまたいい本だったのでおすすめである。

## 生産性とは？

本の中で、仕事の難易度を４段階に分けた時に、一番下のレベルを「何もググらずとも即実装できる」ことであると定義する。
そして、いかにしてこのレベルの仕事を増やすかが生産性を高める鍵になるのではないかということが言及されている。

### 「プログラミングは暗記するな。わからなくなってから後でググれ」という定説

プログラミング学習において、知識は暗記しないでインデックスを貼っておいてわからなくなったら後でググろうという考えがある。

何もググらないで情報を即引き出すには、深い理解に下支えされた「記憶」が必要だ。
本の中でも記憶は、物事ができるようになるための「黄金則」の一つに数えられている。
これは、「記憶しなくていい」という定説と逆行することになるように思える。

しかし、定説の中で言いたいのは「何でもかんでも覚えようとするな」ということに思える。木でいうところの枝葉に当たるような知識は憶えても無駄なので、後で必要な時に振り返ろうということだと思う。

概念の根幹をなすような基礎に関してはしっかりと理解して記憶しないとダメなのかもしれない。
基礎をしっかりと理解してないと、そもそも枝葉にインデックスを貼って引き出せない。脳が無駄な情報として完全に情報を消し去るので、インデックスを貼ったつもりでも思い出せない。
筆者のように、思い切って基礎に立ち返る時間を作るのはとても良さそう。

### しんどい勉強はやめる

本の中で「自分が何を見ずにさくさくコーディングできるものを増やしていく」ことがおすすめされてる。
また、成果を出すことを至上命題とする考え方を、「アウトカム至上主義」と定義して、それがエンジニアとしての上達を阻害することも言及されている。

僕は割とタチの悪い「アウトカム至上主義」に陥っていて、ググってもわからないかもしれないようなものを日々の学習のアウトカムにしたいと思う節があった。

でもそんなしんどい努力はしなくてもよくて、自分ができる範囲のそこそこイージーなタスクをこなしまくっていく中で、段階的にステップアップしていくのがいいと気づけた。

## 専門性を高める

昨今AIの発展が目覚ましい中で、AIに仕事が奪われるのではないかという見方が出てきている。
僕もまあ大丈夫だろうと思いつつも、AIの発展のスピードの速さに流石にちょっとまずいかもなんて思う時がある、、、
この本はそんな僕に対して、専門性を高めて最先端を追い続けていけば大丈夫という方向性を示してくれた。
今ももちろん技術のキャッチアップなどの学習を日常的に行ってるが、これのまま頑張っていけばいいんだという一抹の安堵感を覚えた。

## 観察力、振り返り力が高い

本を読んでて筆者は観察力が高いなあと思った。日常的に、周りの優秀なエンジニアを観察しながら、自分に足りてないところを吸収してきたのだろう。
観察して得た情報をもとに、どうしたら自分も成長できるのかを分析する振り返り力がすごい高いなと思った。
できないをできるに変えるための振り返りのためには
- 根気強さ
- 自分に足りてないことの解像度
- 情報を撮りにいくことに対する貪欲さ
- 同僚のいいところを見つける観察力
というのが大切になってくると推測する。

人と関わっていると、どうしても悪いところに目が向きがちになることもあるけど、優秀な人は同僚のいいところを探すのが上手い気がする。
僕の前職の優秀なエンジニアも人のいいところを見つけてフィードバックするのが上手だった。
どれだけベテランになっても、同僚のいいところを見抜いた上で、それが自分に足りてなかったら積極的に取りに行くという貪欲さを忘れずにいたい。