熟練とは感知力を高めること?
2023/3/11(土)
よさげな気づきがあったのでメモとして残しておく。エンジニアとして働く上で学ばなければならないことはたくさんある。今の自分だとRuby on RailsはもちろんGraphQL、Next.js、React、JavaScript、Webの基礎知識、セキュリティ、クラウドインフラ、Linuxコマンド、スクラムなどなど挙げ出すとキリがない。そしてこれらの知識を全て記憶しておくことは不可能に近い。
ではどうするか。記憶に関してはGoogleを筆頭に外部リソースに任せてしまえばいい。個人の脳みそに必要なのは、最低限の知識と、どのように検索すれば必要な情報が得られるかというインデックス、そしてタイトルにも書いた「感知力」なのではないかと思っている。例えば最近はスクラムについての書籍を読んでいる。ビギナー向けの書籍であっても、約300ページの中に膨大な情報が記述されている。まずは本をざっくり読んで脳内にインデックスを貼る。その状態で実務でスクラムを体験していき、理論と現実の間に存在するギャップを見つめてみる。すると「ここは違うぞ」ということに気づけるようになる。その時点でインデックスを元に詳細を検索して再インプットする。そして改善のアクションを実行してみる。
このように経験を積み重ねていくと、うまくいったこと、うまくいかなかったことが記憶・知識として脳内に積み上がっていく。そして次に別のプロジェクトでスクラムを始めたとして、うまくいかなさそうな状況が生じてきた時に感知できるようになる。お勉強しただけではきっと感知できない。経験が重要なのは、自身がその状況の中にいることで様々な感情を味わい、その情動の濃淡が記憶の濃淡を作ってくれるからだ。要は何が重要で、何が重要でないか身を持って知るプロセスが必要ということ。こうしてインプットとアウトプットを重ねていくことで、知識・インデックス・感知力が増大していき、熟練した状態に至る。経験豊富なエンジニアがコードレビューの時に、何かおかしいという違和感を元に問題点を瞬時に探り当てるのは上述した3点を備えているからだろう。(知識とインデックスを並列にするのはちょっと粒度的におかしい気もするので再検討する)
メラビアンの法則 で書いたパラシュート学習法と合わせて、実務の中で課題を感じたことが出てきたタイミングで、ざっくりとその分野についてインプットしてインデックスを貼ることが最も効率の良いレベルアップの方法のように思う。だから今はスクラムとGitHub Actionsを学ぶべきタイミングなんだろうなと思うから、この週末はこの2点にフォーカスしてインプットしていこう。 ▼ChatGPTに聞いてみた
https://scrapbox.io/files/640bfd5e0f047f001bafdfc0.png