そろそろ「学び方」を学びたくて「リファクタリング・ウェットウェア―達人プログラマーの思考法と学習法」書評
2020-04-28
azblob://2022/11/11/eyecatch/2020-04-27-refactoring-wetware-review-000.jpg

学習効率を上げたくて

学習効率って、考えたことありますか?
エンジニアとしてよりよく仕事をしていくためには常に新しいことを学んでいくことが不可欠と言われています。
何か新しいことを学ぼうといった場合、私たちは普段何を学ぶかを考えがちですが(例えばどんなフロントエンドフレームワークを触ってみようかとか新しい言語を触ってみるとして何がいいかとか)、どうせ学ぶならより早く、高いレベルまで学べた方がいいですよね。
だって学ぶべきことは界隈にはほぼ無限にあって、そのくせ時間は有限で。
一つのことを学ぶのにあまりに長い時間を変えていると、自分の学習能力のなさに辟易してそれだけで投げ出すことも度々あります。
そういった事態を避けるためにも、そもそもどうやって学ぶか、学習効率を上げるにはどうすべきかみたいなことを最近考えるようになってきました。
そんな中で見つけたのがこの書籍です。

リファクタリング・ウェットウェアの概要

この本が扱っているのは、認知科学、神経科学、心理学などの概念に基づいた思考法や学習方法です。
特に、O'reilly本ということもあり、想定している読者としてプログラマーを想定しているため、特にプログラマーにとって分かりやすいたとえや共感しやすい状況の例を挙げながら説明していることが特徴的です。
その中で、プログラムを書くということを行うのは結局のところハードウェアでもなくソフトウェアでもなく人間の脳(ウェットウェア)であるとし、その働きをリファクタリングすることがよりよくプログラムを書いたりシステムを構築するのに役立つ、ということでウェットウェアをリファクタリングする方法について説明しています。
主に書籍内で扱っている主な概念としては、感覚的な部分をつかさどる右脳と言語的な部分をつかさどる左脳を使った思考でそれぞれRモードとLモードと呼んでいるものがあり、これらをうまく同調させて双方の機能を活用することで学んでいることが上達したりプログラミングについてうまくとらえられるとしています。
書籍内ではこれらをどうやって同調させるかといった方法論を主に3章以降で扱っていきます。

目次

1章 初心者から達人への道
2章 脳の構造
3章 Rモードへの転換
4章 アタマをデバッグ
5章 意識的な学び
6章 経験の積み重ね
7章 集中のコントロール
8章 達人になってから

脳の仕組みを理解してよりよく学ぶ

逆向きの絵を模写する話

脳の働きにはLモードとRモードがあるというお話がありましたが、特に感覚的なRモードは普段あまり使われていないとされています。
特にプログラミングにおいては、普段利用しているLモードに加えてRモードも利用することで、目の前のコードだけでなくその後ろの書くコードの構造やそれらの目的についても意識したコードも描けるようになり、プログラマとして上達できます。
そんなRモードの働きを実感する方法の一つとして、書籍内では逆向きの絵を模写する話が挙げられています。
これは、書籍内にあるとある絵を、別の紙に書き写す訓練です。
制限として、ページの向きは変えないこと、今描いている部分を認識しても、その名前を意識しないことを挙げています。
例えば、人のあごを書いているときも「あごがこうなってて・・・」とか考えるのは無し、ということです。
こうすることでLモードの機能を制限しつつ、見たままの感覚をフルに使って絵を描き、Rモードの働きを経験できます。
ちなみに私が描いたのはこんな感じになりました。↓

Rモードを使って絵を描くことの元ネタは「脳の右側で描け」という本で、その書籍内ではこの考え方を核心に持ってきて絵画の上達法を説明しているそうです。
プログラミングにおいても、他に比喩を使ってプログラムを感覚的にとらえることや朝一番にプログラミングについて思いついた方法を書き出すこと(朝一番はLモードがまだあまり働かないのでRモードでモノを考えられやすいのではという考察あり)といった方法を挙げながら、普段利用しているLモードに加えてRモードの働きも使ってよりよくプログラミングする方法を説明しています。