スーパークリエイターがSI業界で即戦力になれない理由

少し前に若いエンジニア達と話す機会があった。この春SI企業に入社してプログラミングの研修を受けているという。みんなそれぞれ能力が高い上に、学習の高速道路を爆走中といった感じでネット上で話題になっているような技術情報には十分詳しい。SICPを全部解いたとも言っていたし本当はプログラミングの研修なんか必要ないのだろう。未踏に応募したり勉強会を開催したりするのはこういったタイプなんだろうかとか、いまどきのSI企業の人材獲得能力はすごいなとか思いつつ、でも彼らはこの業界に何を求めてどうなろうとしているのか少し気になったりもした。


これほど優秀で勉強もしてきた人達でも、SIerとしては即戦力にはならない。社会人マナーとか仕事の進め方の話ではなくて、単純に知識不足という意味で。そのため一緒に入社したプログラミング能力の低い社員と同じように扱われる可能性が高い。これはすごく不幸な状態だと思う。SI業界が求める人材と学生のスキルアンマッチがあるのは間違いない。


ちょっと前の記事で、企業が重視するスキルと学校が重要視して教育しているスキルのギャップについての話があった。
「IT技術者はやりがいがある仕事か」---学生とIT産業のトップが公開対談
この記事の企業側の発言で「コンピュータ・サイエンスの学科を増やさないと問題は解決しない」というのがあったが、これは嘘だ。SI業界に限っていうと、仕事で必要になるコンピュータ・サイエンスの知識量は大したものではない。本当に必要なのはいわゆる「業務知識」と、それを通常どのようにコンピュータで実現するかという知識だ。

プログラミングの他に専門は何?

そもそもプログラミングとは目的ではなく手段だ。だから何かシステムを開発する場合、手段(プログラミング)だけでなく、目的にも詳しくなくてはならない。SI業界だと分かりにくいのであれば、たとえばCG作成ツールの開発会社に、グラフィックやモデリング、ベクトル計算にはまったく知識のない天才プログラマーが入ったとしたらどうか? あるいは今まで一回もゲームをやったことがないスーパークリエイターがゲームソフト開発会社に入ったとしたら? 彼らは手段であるプログラミングには詳しいが、目的であるグラフィックやゲームには素人なのだ。優秀なので飲み込みも早いだろうが、それでも長期間それらについて学ばなければならないだろう。


SI業界が開発するシステムの目的は何か? それがつまり「業務知識」というやつで、金融や保険だったり、証券取引、財務会計、生産管理、物流・在庫管理、販売管理だったりするのだ。それぞれ必要とされる知識は非常に多い。普通の新入社員がOJTで身につけようと思ったら数年かかってもおかしくないだろう。
ベテランエンジニアの中には高待遇で現場を渡り歩くプロもいるが、そういう人は間違いなく「プログラミングと金融」とか「プログラミングと在庫、販売、データマイニング」というようにプログラミング以外に専門分野を持っているのだ。

業務システムは独自の文化圏

業務系システムは、他では目にしないようなフレームワークや言語が多く使われる。COBOLRPGで書かれたシステムは減ってはきたもののいまだに現役だし、新規システムでもSAPのABAP言語なんかは需要が高い。メジャーなアプリケーションはWebSphereとかPeopleSoftだったりするし、ジョブの実行はcronではなくて、JP1、千手、A-AUTOのような運用管理ソフトを使う。XMLの非同期通信を憶えるくらいなら全銀手順やHULFTを知っておいた方が役に立つ、というような世界だ。困ったことに、仕事で利用している技術者の数に比較してこれらの情報はネット上に驚くほど少ない。

業界全体の説明不足

SIerが扱う業務システムとはこういった世界だ。僕の知る範囲なので偏っていることを差し引いたとしても、Webで目にするコンピュータ技術とはちょっと毛色が異なる印象を受けないだろうか。つまりSI業界での即戦力とは「金融工学財務会計に詳しくてCOBOLABAPが読めてWebSphere上のJavaが書けます」といったような人なのだが、新卒ではとても実在する気がしない。


コンピュータが好きで勉強してきた学生でもこういった世界が肌に合わない人は当然多いと思う。逆に僕のようにこれはこれで面白くて好きだという人もいるはずだ。どこかの大学で試しにエンタープライズ・コンピューティング学科みたいなのを作って教えてくれるといいのだけれど。それが無理でも学生が進路を決めるずっと前に、SIerの仕事について必要以上に持ち上げたり貶めたりせず事実を正しく説明し、事実を認識した上で希望する学生を集めればスキルアンマッチで不幸になることは少ないはずだと思う。
とはいえ自分も、冒頭の新卒エンジニア達を前にこういった話をするのを微妙に避ける気持ちがあったりして、何かモヤモヤ感が今も残っている。


追記:
ブクマの指摘により誤字(HALFT→HULFT)修正。ありがとうございます。
blogは別にいいけど、今まで書いてきた仕様書が全部間違ってたらどうしよう。