優秀なプログラマの給料が低いわけ
昨日の開発生産性が低い方が収入が多いって変だよねのエントリでは、企業レベルの話だと、生産性が低いほうが売上が上がるという話をしたんですが、実は同じようなことが、個人レベルでも言えます。
生産性の高い超優秀なプログラマより、社交性の高いそこそこ優秀なプログラマのほうが、評価が高く給料も多くもらえるようになるのです。さすがに、個人レベルだと生産性の低い人が評価が高いということはあまりないけどね。一時的には残業が多くて給料が増えるときもあるかもしれないけど、それはあくまでも一時的なこと。
評価が高いということは、上司にそれだけ認めてもらっているということですが、それではなぜ、優秀なプログラマは、上司に高く評価されないのでしょうか。
「上司に技術をきちんと評価する力がないから」それも多少はあります。でも、主な原因ではありません。会社によって違うと思いますが、評価における技術力の部分は2,3割りに過ぎません。他のプログラマより10倍の生産性を発揮できるプログラマでも、その2,3割りの部分で高得点を取れるに過ぎないのです。
これが、超優秀なプログラマでも評価はそれほど高くならない本当の理由です。
それでは、残りの多くの部分の評価を上げるためにはどうすればいいかというと、上司にこいつは優秀だと思ってもらうことです。
実際のところ、超成果主義の会社以外は、今期の成果よりも過去の評価の延長で、今期の評価が決まってしまうことが多いと思います。もちろん、成果をはっきり測定しやすい営業は除きますが。
これは、非常に怖いことです。最初にエリートと評価された人は、高い評価をもらい続け、そうでない人は、評価は低いままだからです。あなたの会社はどうですか。
たとえ上司が変わったとしても、新しい上司も過去の評価を参考にしますから、組織が変わっても、この枠組みは維持されます。
新卒の生え抜きのエリートというのがどんな会社にでもいるでしょう。そんなに成果を出していないのにぽんぽん出世していく人が。これは、上記の仕組みによって生み出されているのです。
最初のスタートダッシュに失敗して、エリートとみなされなかった人はどうすればいいのでしょうか。どこかで一発逆転、こいつは優秀だと認めてもらえるチャンスがあればいいのですが、日本はチームプレイが多いので、特定の人だけが高く評価されることはほとんどありません。
ここで、自分のことを書いておきましょうか。おいらは、たぶん優秀なプログラマだと思うけど、過去においては会社の評価はそれほど高くありませんでした。まぁ、かなりの自由人なので会社としても評価し辛いところがあると思いますが。
あるとき、事件が訪れました。大阪でデスマが起きて、それを火消しするように命じられたのです。詳しくは、こちら。
http://d.hatena.ne.jp/higayasuo/20040607/1086565824
プロジェクトは見事に復活したのに、思っていたような評価はもらえませんでした。
大阪で大きな開発案件を任され、「朝から夜の12時まで一所懸命働いて、デスマーチのプロジェクトを復活させた」ほどの仕事ぶりを見せた。
しかし、そうした仕事にもかかわらず、比嘉氏への評価は「一番上から一つ下の評価」だったという。そうした経験から比嘉氏は改めて、こう思った。「管理職は組織を管理するのが仕事であって、エンジニアの技術の善し悪しはわからないし、エンジニア個人の生産性が高い低いは関係ない。会社という組織はエンジニアという個人を評価しにくい組織だと感じた」
最高の評価をもらえると思っていたからショックでしたよ。会社の評価は急に変わるものではないということを実感しました。
「自分を評価してくれないのは会社が悪い」と思って、くすぶっていても何もはじまりません。自分の立場を変えられるのは、自分しかいないのです。
そこで私は、オープンソースをはじめました。オープンソースの活動を通じて、社外の評価が上がり、その結果、社内でも評価されるようになったのです。
自分は優秀なプログラマなのに会社の評価が低いと思っているあなた。その優秀さが本物かどうか、オープンソースの活動で試してみるといいよ。
優秀かどうかはわからないけど、プログラミングが好きで、やはり会社の評価が低いあなた。オープンソースの活動で、自分を磨くといいよ。やる気のある人には、いくらでも活躍する場があるのが、オープンソースの世界です。