【読書感想文】リファクタリング・ウェットウェア ―達人プログラマーの思考法と学習法

Author
Andy Hunt 著
武舎 広幸 翻訳
武舎 るみ 翻訳
Date
2017.7.24
Highlighted
1. 初心者から達人への道
(初心者は)よりどころとなる明確かつコンテキストに左右差ないルールを必要が欲しいのです。
「経験」とは、技能を使うことにより、考え方に変化がもたらされたものを意味しています。たとえ、10年の経験があると主張する開発者であっても、1年の「経験」を9回繰り返しただけでは、ここでいう「経験」を積み重ねたことにはならりません。
初心者にはレシピが必要
中級者は全体像を見たがらない
(上級者は)独力で問題に対処できるようになり、それまで直面したことのない新しい問題の解決法を考え出せるようにします。
初心者および中級者は物事に対して決まり切った反応をしますが、上級者と呼べるだけの技量を持った人は問題を探し出し、解決します。
熟練者は自己補正が可能
達人は直感で動く
観察し、まねることによって習得する
模倣・同化・革新
ドレイファスモデルにおいて非常に重要なのは、「ビギナーにはコンテキストに依存しないルールが必要だが、達人はコンテキストに依存した直感を使う」という認識
2. 脳の構造
Rモードは直感、問題解決、創造性に欠かせません。Lモードは細部に目を配り、うまく仕上げる力を与えてくれます。
創造性は、選択と組み合わせによってもたらせれます。
3. Rモードへの転換
新たな入力モードを追加すると、脳のより多くの部分が活性化されます。
脳に栄養を
どのようなソフトウェアでも適切なメタファーがガイド役となる。
Rモードは命令はできず、促すことしかできない
目標に焦点を絞り込むと、たちまちLモードによる処理が優位を占めるようになります
問題を解く際には視点を変える。
4. アタマのデバッグ
認知バイアス — 考えが横道に逸らされてしまう。
世代類似性 — 時代の影響を受けてしまう。
性格的傾向 — 性格によって思考が影響される。
ハードウェア的バグ — 脳の古い部分が、より優秀な部分より優位に立ってしまう。
あることに関して絶対の確信があるときでも、「それはなぜか」と自問しましょう。
5. 意識的な学び
経験を伴わない、知識のみの習得は効果がない。
SMART
- Specifics(具体的)
- Measurable(測定可能)
- Achievable(達成可能)
- Relevant(適切)
- Time-boxed(期限を定める)
時間は作り出したり、破棄したりすることはできない。配分できるだけである。
SQ3Rで意識的に読む
- 調査(Survey)
- 質問(Question)
- 読書(Read)
- 復唱(Recite)
- まとめ(Review)
意識的に読書する
書くこと。ドキュメント作成はドキュメントそのものより重要である。
6. 経験の積み重ね
「わからない」から始めよう
調べましょう。ググりましょう。空白を埋めるのです。最初は「わからない」でいいのです。ただ、わからないままにしておいてはいけません。
7. 集中のコントロール
8. 達人になってから
Summary
ドレイファスモデルは技能ごとに適応されるモデルで以下のように分類される。
- 初心者
- 中級者
- 上級者
- 熟練者
- 達人
- 今の自分はおそらく中級者のモデルにある。
上級者に上がるために意識しないといけないことは、”自ら問題を探し出し解決する”
- これは仕事上のことだけではない。
- 常に現状と未来(あるべき姿)とのギャップについて考える。もし、ギャップがあれば解決する。解決できないような場合でもどうすれば解決できそうかを考える。
モデルはあくまで道具であり、モデルを適応することが目的ではない。
初心者にはルールが必要。しかし、そのルールに周囲(特に熟練者や達人など)に合わせる必要性はまったくない。
- 初心者のまわりには経験豊かなメンバーを配置する、別途ルールを与える、などしてよりよい環境を作ってあげるべきで、周囲にコンテキストを重視する周囲にルールを強制するとかえって彼らは動きづらくなる結果となってしまう。
- 初心者は、ルールに則って行動する上で、自分の思考をそこに織り込んでいくべき。
Lモード, Rモードの両者のバランスの密な結合が重要

- Lモード・Rモードでやるべきことは?
Rモード:全体を見る(俯瞰する)。この時、言語化の必要はない。
Lモード:詳細な分析をする。
- RモードからLモードの上手な同期が必要
このときメタファーが役立つ
- メタファーによって得られるもの
- メタファー(類似性を作り出す行為)を介して、言語表現とイメージの双方にとって共通の場・潜在意識と意識の間を行き来する手段
- メタファーによって、Rモード→Lモード(またはその逆)のフローがスムーズになる。
Rモードの使用率あげるには…
- メタファーを利用する
- 別の視点から物事を見る
- 焦点を絞り込みすぎない。
- Rモードは考えることができないため。(”考え”始めた段階でLモードに占有されてしまうため。)
- 焦点をぼかす。(考え事を心に留める程度にする。)
4. ただ書いてみる
- ブログを書く
- ある話題について自分はどう思うか。など
様々なバイアスがある中で、自分と他人は同じではないということを受け入れる。
当たり前だけど難しい。
受け入れる ≠ 諦める
効果的な読書
- 全体の要旨を掴む
- 目次と各章の要約などを流し見
2. 質問を書き出す。
3. 全体を読む
4. まとめる
上手な失敗により、学びを得る。
- 効果のフィードバックループを大量に回す。
- このとき、闇雲なトライ&エラーを繰り返しても無駄。
- 正しい判断を下して、正しいトライ&エラーを繰り返さないと効果のあるフィードバックは得られない。
2. 失敗を活かす
知らないことをそのままにしない。
集中をコントロールする。
- 集中力と注意力を増強
- 瞑想!
2. 知識の管理
- 常に自分の知識にアクセスできる状態にしておく。→メモアプリ?
3. コンテキストの最適化
- 自分の仕事上のコンテキストには、割り込みが入ることを念頭に入れて、コンテキストが整理された状態にしておく
- 生産性を意識する

