脱本末転倒
http://0xcc.net/blog/archives/000196.html
とても身近で興味深い話。
やりたいことがあるけれど、それをやるためにはいくつかの小問題が発生し、その小問題を解決するための小問題が発生し、・・・どんどん枝分かれしていく。
そして、ある小問題を解いたときに「あれ?俺なんでこれやってたんだっけ?」と最初の目的を忘れてしまう。または小問題を解いているときに、別の面白いことを発見して横道に反れていき、結局元の問題はほったらかし。
小問題が大量に発生したときの解決方法としては、
1 あきらめる
その問題をやる意義とコストパフォーマンスを考えましょう。 例:「俺ってなんで生きてるんだっけ?」
2 頑張って 1つずつ解決していく
問題の分岐の深さを把握することが大事。下手するといつまでも終わらない。
常に作業のログをとって、何のために何をやっているかを忘れないように。
3 元々の問題自体を変えてしまう
問題設定を少し簡単にすると、解くのが劇的に簡単になる場合もある。
1の「あきらめる」場合と同様、コストパフォーマンスを考えて妥協点を見つける。
4 誰かに聞くか任せるかする
世の中には(他人の)問題を解くことが好きなタイプの人もいます。両者ハッピー。
聞きかたも重要。自分より詳しそうな人に聞くときは、細かいことを聞くよりも大元の問題を伝えたほうがよい場合が多い。
小問題があまり起こらないようにする(発生しても一瞬で解決する)ためには、
1 メジャーな世界で暮らす
プログラミングだったら、メジャーな言語、ライブラリ、OS とか。
マイナーな世界で発生する問題は大概マイナーな問題なので、情報が少なかったりします。
そういう意味では日本語を使ってることは結構終わってる。
2 日頃から書籍などで体系的な知識を得ていく
本とかになっているものはメジャーな問題が多い。
古くから知られていることを解き直すこと(車輪の再発明)は避けましょう。3 幅広い人脈
があったらいいなあ。
トラックバック URL :
コメント (0)