エンジニアのソフトウェア的愛情

または私は如何にして心配するのを止めてプログラムを・愛する・ようになったか

職業プログラマにとってアルゴリズムの教えはどう映るのだろう?

ソフトウェアを開発する企業に属し、プログラミングを職業とする人は、多かれ少なかれソフトウェアの勉強をしてきているのだと思っています。学校で学んできた人もいるでしょうし、企業に属してからはその企業内でも研修などで学んでいると思います。そのような場で学ぶアルゴリズムやデータ構造、その他もろもろのプログラミングテクニック。ソフトウェア開発の現場に立ったとき、それらの知識と解くべき問題との間の関係をどのようにとらえているのか、このところ気になります。
現場では動くプログラムを作ることが重要なのはわかりますが、持っている知識との関係を意識していないと、とてももったいない。前回と変わらず今回もゴリゴリとプログラムを作っていては、次回も同じようにゴリゴリと、使い捨てのプログラムを書くことになりそうで、とてもこわい。
知識は、体験し理解することで、智慧になっていくわけですが、余裕のない現場では、前回と違う何かをするだけで「冒険」になってしまう。なにも危険を冒せないから、新しい体験をするための「挑戦」もできない。
プログラミングを職業とする人が、アルゴリズムはいろいろ覚えたけど現場では使えない、とか思っているのだったら、不幸過ぎる、と感じる今日この頃。