SI業界とエンジニア35歳定年説

エンジニアの世界には「35歳定年説」というものがあります。

この説の理由として昔からよく言われているのが、体力的な衰えによって若い頃のような働き方ができなくなったり、新しい技術を身に着けるのに時間がかかるようになるというものです。また、従来日本のソフトウェア産業の中心であったSI業界の、エンジニアを1人いくらで売るビジネスモデルでは給料の上昇と共に部下のマネジメントや営業的な立ち位置で仕事をしないとペイしなくなってしまうということもあるでしょう。

僕は前職はSIerに勤務しており、今年でちょうど35歳になるのですが、実際に「35歳定年説」の存在を実感したのは能力的な面ではなく、後者のSIerでのキャリアパスが原因でした。

普通の会社で順調にキャリアを重ねた場合、このくらいの年齢になるとどうしてもマネージャとしての仕事を求められるようになります。しかしSIerでのマネージャの仕事とはどういうものかというと、たくさんのメンバーを引き連れてプロジェクトを回すPMであったり、仕事を取ってきて人をアサインするだけの手配師だったりするわけです。もはやコードを書いて評価されることはありません。SIerで出世するにはコードを書くことを諦めてマネージャのポジションに移らざるを得ないのです。そして移り変わりの激しいこの業界です。たとえどんなに優秀なエンジニアであっても、数年も現場から離れればものの見事に最新の技術からは取り残されてしまいます。

しかし、ここ数年で優秀なエンジニアが旧来のSIerからWeb系の企業に移るケースが増えてきました。これは、Web系の企業の成長・成熟によってそういったエンジニアの受け皿ができたことが大きいのではないかと思います。また、技術面においても特にオープン系に関してはこの10年でSI業界とWeb界隈の立ち位置が完全に逆転してしまった感があります。もともとエンジニアという職業は自分のスキル一本で食べていく専門職だと考えている人にとっては、受け皿さえあればそちらに流れていくのはむしろ自然なことといえるでしょう。

僕はSIという仕事自体を否定しているわけではありません。SIというのは本来「システムを必要としている人たちにそれを届ける」素晴らしい仕事だと思いますし、社会インフラとなるような巨大システムの開発などは大手のSIerでなければできない仕事です。しかし、エンジニアを取り換え可能なリソースとみなし、人月いくらで売るビジネスモデルである限り、エンジニアには必ず定年のときがやってきます(もちろんR&D系の部署などの例外もあるにはありますが)。

エンジニア35歳定年説は確かに存在します。しかしそれは日本のSIerにおいての話です。今後もSIerからのエンジニアの流出は続くでしょう。しかし、生涯エンジニアとして生きていきたいという人にとっては、もはや35歳定年説に怯え、会社にしがみつく必要はない時代になりつつあるのではないでしょうか。

ScalatraのScala 2.11対応

幽霊部員なので、こういう単純作業くらいは貢献しなくては…ということでフォークしたリポジトリで粛々と作業をしています。

Scalatraはフレームワーク本体は比較的シンプルなのですが、マルチプロジェクトになっておりサブプロジェクトが多く依存関係も複雑です。これをひとつずつ潰していくわけですが、まだScala 2.11対応版がリリースされていないライブラリがあったり、別のライブラリが古いバージョンのライブラリを参照していたりとなかなかしんどい作業です。また、Scala 2.11ではXMLやパーサコンビネータが別ライブラリとして切り出されたのも2.10以前とのクロスビルドを考えるとやや面倒な点です。

大きいところで残っているのはAkka(akka-testkitがまだセントラルリポジトリにないみたい)とjson4sです。json4sはIvanに「もうScala 2.11用のSNAPSHOTをpublishしてあるよ」と教えてもらったのですが、RC用だったのとSpecs2が古かったので修正してプルリクしました。

速攻でマージして貰ったのですが、リリースしてもらわないとScalatra側の依存関係を修正できないのでもう少し時間がかかりそうです。

しかし、依存関係を解決してもコンパイルすると大量の警告が出るのを何とかしたいですね…。