こんにちは。
システムチームのTです。
うまくいったとき、
うまくいかなかったときにその結果を招いた原因の分析が必要なのは
誰もが大事だと思うはずです。
大事だから、やる
というところで思考停止して、ぼんやりと分析していると
ノウハウが蓄積しないという事態が起きます。
正確には、
一度やったタスクに関するノウハウは蓄積されるが、
他のタスクには応用が効かないということになります。
(一度やったタスクが定期的に実施するものであれば、
このような学びであっても問題ないのですが)
抽象化で応用が利く形にする
先述のような問題が起きないようにするためには、
抽象化してどこにでも適用可能な形にする必要があります。
自分はこの抽象化が足りていませんでした。
足りていなかった原因として、
知識とノウハウの違いを明確に考えていなかった
があると考えています。
(もちろん、これ以外にも原因が無数にありますが、
考えることをサボってパターン学習でやろうとした
などの内容になるので、飛ばします)
自分は知識とノウハウはだいたい同じものだろうと
漠然と考えていました。
ですが、考えてみると、
ノウハウ は抽象的で物事を進めるときに使うもの、
知識 は具体的な回答がある情報
という違いがあることに気が付きました。
自分は知識とノウハウをざっくりととらえていたので、
ノウハウとして持っていると思っているものが、実は知識に分類されるものだった
ということがよく起きていたのだと思います。
なので、
タスクの難易度が上がったり、いままでやったことがないようなタスクでは
過去の学びが役に立たなかったのです。
パターン学習で、以前○○したから、今回も○○すればいいだろう
と考えると痛い目を見ます。
パターン学習で使うのは、ノウハウではなく、知識だからです。
プログラム全般で使える知識ではなく、タスクを進める際に使う知識は、
実施するタスクに依存しているので、他のタスクに応用し辛いです。
こういうわけで、原因を分析したら、その後で抽象化する工程を挟んだうえで、
ノウハウとして蓄積していくことが大事なのだと実感しました。
何かうまくいかないなと思った時は、
自分が持っているのが、
タスクに関するノウハウではなく、知識なのではないかと疑ってみると
突破口になるかもしれません。






