hagino3000's blog

平成アーカイブス (更新停止)

経験4年以上のJavaプログラマのスキル

はてな界隈では、Javaって、あんま人気無いみたいだけど、ちょっと書かせてよ。

SIerでお仕事してると、派遣とか常駐とか言う形で、色んな会社に行って、違う会社の人とお仕事するんだけど、「経験年数n年(n>3)です」っていう人達が、恐ろしく使えなくてびっくりすることがしばしば。


特に、Java 5以降の機能


* 拡張for構文
* Enum
* 可変長引数


辺りを全く知らなかったり。 って言うか、Javaの極々基本的な知識である


* equals/hashCodeの実装
* Serializableの実装
* Iteratorの実装


が全く出来ないんだよね…。

経験年数2年半のJavaプログラマがちょっと書くよ。

経験4年以上と言ってもSIerな仕事だとJava 5を使う案件に関ったことが無い人も多いと思う。Java 5の新機能も知らない人ばかりだから、Java 5を検討しないで使い慣れたJava 1.4で開発がスタートしてしまったり。
末端のプログラマはequals/hashCodeの実装なんて知らなくてもいいし、設計書の通りに決められた引数のメソッドの中身をコーディングするだけでOKというのがSI案件の現場です*1。そのコーダーレベルから抜け出してequals/hashCodeの実装が出来るようなプログラマになるには自分で本を読むなり、ソースコードを漁る等して学ぶしかない。でもそのレベルになろうとする人は少ない。所謂サラリーマンプログラマという表現になるのかな。
少なくとも経験年数でプログラマプログラミングのスキルは計れない。のであれば「プログラミングが好きである」という条件で人を集めた方がスキルも高く伸びしろのある人がプロジェクトに集まるのではないでしょうか。難しいだろうけど。

*1:少数もしくは一人のアーキテクトがクラス設計をして、あとはそこそこのプログラマを頭数そろえて開発開始。というのが現実的なリソース計画になるため。