プログラマのレベル

元ネタはid:naoya:20050809。これで言うと、自分のPerlレベルは5~6かな?微妙にリファレンスを知っているというレベルですし。リファレンスが微妙なので、オブジェクト指向もまだまだという段階。

この記事については他の人もいろいろコメントしています。CGIには精通してるけど他のことを知らないからレベルはどうなるんだとか、レベル8ぐらいからレベルアップが急に難しくなるとか。後者の問題はちょっと雲の上過ぎて分からないので何とも言えませんが、前者の問題は何となく分かるし自分が思うことも書けそう。


こういったレベル付けが微妙という問題は、評価軸が一つでないことに起因しています。RPGのレベルならば、基本的に経験値という単一の軸によってのみ判断されます。経験値がある値より多くなったらレベルが上がるとか。あるレベル以上か以下かというのが、数値によって明確に線引きできるわけです。

しかし、ここで取り上げられているプログラマのレベルも含めて、世の中の多くは単一でなく複数の評価軸があるでしょう。そして、どの軸を重視するかによって、学ぶべき優先順位も変わってきます。CGIから入った人はWebアプリケーションには強いでしょうし、オライリー本などの書類を参考にPerlとは何ぞやって始めた人は基礎概念に精通しているでしょう。

ありきたりな例えかもしれませんが、Perlという山があったとします。その山への登り方は一様ではなくて、こつこつ足場を固めながら登る人もいれば、少々無茶をしてでも二段、三段飛ばしで上がっていく人もいます。飛ばし飛ばしで上がってきたけど少し足元が危うくなったから、ちょっと戻って基礎を固めようという人もいるかもしれません。

話をプログラマのレベル付けに戻すと、naoyaさんはこのような登り方のときにはここまで来たらレベル1だレベル2だと考えておられるのでしょう。そして、他の人はnaoyaさんと同じ登り方じゃないかもしれないので、そのときは参考程度に当てはめればいいのだと、自分の中で理解しています。


ちなみに、現在人並みに使えるレベルであろうJavaもおそらく同じレベルくらい。クラスとかの基本概念は理解しているつもりだし、デザインパターンとかも結城さんの本で一応習得。ただ、まだサーバサイドがちょっと弱いですが。

さらにはこんなものも。。これはレベル1ぐらい?しょぼしょぼ。Schemeは正直よく分かっていません…