プログラマとしてもう10年が経ちましたが、まだまだ力が足りないと感じることが多い今日この頃、、、。
流行の言語やフレームワークなど目先の技術を追うのはもちろん大事ですが、美しいコード、効率の良いコードの書き方や、リファクタリングの技術、問題解決、原因探求の方法など、基本的にどこででも通用する技術も同時に学ぶことも非常に大事ですよね。

まだC#が正式じゃなかった2001年ころ、必死でC#、.NetFrameworkを学んでましたが、同時にもっと普遍的な設計技法や、リファクタリング技法、デバッグ技法も必死で勉強していました。中には無駄だったかな、と思うのもありましたが、、、。

先日ちょっと書きましたが、JavaScriptで文字列の"08","09"をparseIntすると0になってしまう件など、1で割るという方法を知っていること自体はクイズの知識のようなもので、目先の技術ってわけではありませんが、そんなに重要ではないと思います(だって他の言語じゃ通用しないし、、、)。いろんなコード見てればわかることですし、、、。
でもそれを知らなくても「あれ?おかしいな」と感じて色々自分で書いてみてそれが8進表記が原因であることに気づくか、もしくはその素養を身につけているかの方が大事だと思います。おかしいな、と思ったら自分を疑います、、、。何がいけないんだろう?、、、と。それを「これはバグだ」と判断してそれを回避するわかりづらいコードを自分で書いてしまうようでは、中々本当の実力は身につかないのではないかと思う今日この頃なのです。

たまには自分で「スゲー!俺!」とか思う時もありますが(たまにはいいと思います)、基本的に、特にネット上ではいくらでも上には上のやつがいるわけでして、たとえ実際の職場では周囲のレベルが低かったとしても(周りを見れば確かに下には下がいます、、、)、初心に返って謙虚な気持ちで学んでいくことが大事だと思いました。

※関係ないけど、最近やたらと checkbox[checked=true] のキーワードでのアクセスが増えています、、、。やっぱ結構はまるのですね、、、。役に立っててくれればいいのですが、、、。