2011年10月11日火曜日

Google Code Jam Japan 2011 結果ご報告

今年はじめて日本を対象に計画されたものの、今回の震災で延期されていました、Google のプログラミングコンテストの Google Code Jam Japan 2011 ですが、この 10/1 に予選ラウンド、10/8 に決勝ラウンドが開催されました(スケジュール, 参加登録開始だけが2月と早かったのは震災で延期されたためです)。

Code Jam については以前参戦したことをblogで取り上げたこともあり、機会があったら挑戦しようと思っていたコンテストでした。実は今年の wordwide 大会についても参加登録して予選は通過することができたのですが、ラウンド1の日程がOSC仙台とかぶってまともに問題を読むことすらできずに敗退していたということもありました。


結果としては決勝で上の画像の通り 157位という成績となり、上位 200 位に入り Google Code Jam Japan 2011 Tシャツ獲得できたようです。とはいえ、予選でのパフォーマンスもあまり芳しくない状況で、まだまだ反省すべきところがたくさんあったように思います。

そんなこんなで七転八倒していたさなかに、「プログラマ35歳(32歳?)定年説」やら「FizzBuzzができない人」ネタ(双方あえてリンクしません)が Twitter 関連で噴出しててちょっと呆れてしまっていました。

それで、ちょっと考えてみたのですが FizzBuzz が書けないことに危機感を微塵も感じない底辺「PG」(あえてこう書かさせていただきます。しかも全角英文字で)として業務をしているのであれば確かに 35歳で引退すべきなのではないかという妄想を考えてみました。

どういう妄想をしたのかというと、比較のためにIT業界と同じ頭脳労働でしかも非常に厳しいとされる職種として、将棋の棋士と比較してみたのです。

将棋の棋士というのは、プロになると基本的に「順位戦」の「C級2組」に所属して、1年間かけてリーグ戦を戦い上位者は上の階級に、下位者は下の階級に落とされるか「降級点」がつけられ、最上位の「A級」の優勝者が「名人挑戦者」となる仕組みになっています(詳細の規定はこちら。他の棋戦もありますがばっさり省略しています)。

将棋棋士の引退については「順位戦」の「C級2組」で「降級点」を3つ取ってしまうと、「フリークラス」に降級し、「フリークラス」から10年間の間に規定の成績を収めて「C級2組」に昇級しないと引退となってしまうというシステムです。

ストレートに大学を卒業して企業に就職する年齢である 22歳を起点にして、同じ年齢でプロ棋士になったと仮定して、そこから成果を挙げられず毎年「降級点」を取ってしまったと考えると、 25歳で「フリークラス」に降級、復帰できずに10年経過すると 35歳で引退という計算になり、 「プログラマ35歳定年説」に符号する部分があるように思えます。

もちろん将棋の世界では戦績があれば生涯現役を続けることができますし、上位のクラスに昇級したり棋戦で優勝したりタイトルを獲得できればそれに応じて収入も高くなるという特質がありますが、いわいる「PG」職の場合ではあくまで頭数、人月での計算だけでその中での能力についてはまったく考慮されません(むしろ最も無能なメンバーに作業のやり方が合わせられるケースがあるので、高いスキルはそのままスポイルされるケースが多いかと思います。またスキルを発揮しても「これだけの人月見てるのだから」と煙たがられるパターンもあるかと思います)。

将棋でいうならば毎年「降級点」を取ってしまう内容の業務にしか従事できないという悲劇がおこり、 結果として最短の年数での引退を余儀なくされてしまうというそういう構造がもしかしたらあるような気がします。

さらに問題なのが、「35歳で引退したPGがその後何をするのか」ということで、ありがちなのが「SE」職(これもあえてこういう表記します)や管理職なのですが、結局のところ最低限の素養すら持とうとしない人が別の部署に移動するだけでその系(=企業やグループ)全体の能力が上がるわけではないので、また同じ過ちを繰り返してしまうということに繋がりそうです。

Code Jam のようなコンテストに参加していつも考えさせられるのは、こういった難問に挑戦する姿勢や、実際に難問を解く能力をうまく生かし、能力のある人間がその能力に見合った収入を得られるような、そういう生き方はできないのだろうかということだったりします。そして、企業の中で発揮できないのであればその外で、私の場合にはまがりなりにも Tシャツを貰える程度の能力に見合うような成功体験を得て、それを次の世代に伝えていければと思うのでした。