新人プログラマーがプロのプログラマーとして独り立ちするための7つの条件
この辺のくだりは激しく同意するなぁ。
プログラマーで何よりも大切なのは、昨日までの自分をどれだけ潔く捨てられるかだということである。そして新奇なことにどれだけ躊躇なく立ち向かっていけるか。そこに伴うべきものは飽くなき好奇心だけで、誇りなどは文字通り「埃」と一緒に身に付くやいなやさっさと払い落とすに越したことはないということだった
古いものを捨て、新しいものを吸収するのはとても辛いときもあり、ときには楽しいときもあるのですが、この「新しいものを吸収する」のを止めたら確かに食っていけなくなるよなぁ、ていう危機感はあるなぁ。
たぶん死ぬまでやるんだろうなぁ。
と言いつつも古いものはなかなか捨てられない感じですが…
家に眠っている80GBのHDDとか、経歴書に書いているCOBOLのキャリアなんかも捨てられません…
意外なことに、プログラムというのは「勘」がとてもだいじなのだということだった。もちろん、普段の勉強や経験の積み重ねはだいじなのだけれど、前述したような手を抜く際の思わぬアイデアというものは、ふとした閃きや勘、あるいは直感から生まれることがほとんどなのだそうだ。あるいはバグを見つける時も、最初に勘を働かせて「ここら辺に問題がありそうだぞ」というのがピンと閃くと、けっこうな確率で当たっているのだそうである。そういう勘が冴えるようになると、プログラムやデバッグに割く時間はとても短くなり、おかげでリソースが足りないという問題も解決できるのだという。
経験によって、勘は鍛えられます。社会人なりたての頃と比べて、プログラミングする速さはそんなに変わってない(というか遅くなってる?)感じはするのですが、
問題箇所やバグを発見する「嗅覚」は経験年数が増えるにつれて発達しているような気がします。
やっぱりこれは、今までどんなところが問題になったか、とか、どんな痛い目に遭ったか、ていうのが体が覚えているんでしょう。
同じような問題が発生した時に、「あぁ、前にこんな問題で引っかかったことあったな」みたいなケースが増えてくるということなんだと思います。