愚者は経験に学び、賢者は歴史に学ぶ。
これはビスマルクの言葉だそうで、
直訳すると
『愚者だけが自分の経験から学ぶと信じている。私はむしろ、最初から自分の誤りを避けるため、他人の経験から学ぶのを好む』
という意味だそうだ。
自分の経験で失敗を重ねて学ぶよりも、人の失敗事例(歴史)をもとに学び失敗をさける。
という事なのかな?
アンチパターンから学ぶ
アンチパターンというのはやっちゃいけないことのパターンのこと。
プログラミング用語で、よくある失敗の元のこと。
例えば、すでに存在しているライブラリとかを使用せずに自分で作る(車輪の再発明)とか
オブジェクト指向を理解せず一つのクラスに機能を詰め込む(神オブジェクト)とかそういうもの。
僕が新しい言語を学ぶときは、ひと通り基本を抑えたらアンチパターンを調べる。
Android開発ならばメモリ解放をしなければならないとか、
Androidではsingltonをつかっちゃならないとなど、
やったほうが良い事よりも、やったらダメなことを調べたほうが早く最適なコードをかけるようになる。
予期せぬバグに戸惑う機会もへるしね。
もちろん経験から学べることはかなり大きいが、知っているのと知らないのでは印象の残り方も違うし、
大きな失敗でもチベーションが落ちるということも避けられる。
他の仕事でも勉強でも、
能率が上がるようなライフハック的な技を使うよりは、
最悪の事態になりそうな失敗事例を先に避けるこよにより、最高のものにはすぐにはならないけれど、最悪にはなりにくい。
能率が上がっても、予見できた失敗をしてそれを克服できるように経験するには時間がかかってしまい、
結果トータルでの能率は下がってしまう。
失敗を体系化 インシデント管理とか
インシデント管理などで失敗を体系化しておくことはこれは自分の経験ではなく他人の経験(歴史)になると思う。
自分の失敗でも自分の経験として終わらせず、
客観的なものとして記しておけば他の人も同じ轍を踏むことはなくなるし、
自分でも同じ失敗やその失敗に起因する大きな失敗などを避けるようになる。
おそらくビスマルクの言葉はこういう意味で言われたことなのかなと予想してみる。