ITエンジニアという職業 (ドラフト #1)


SEって何?

システムズ・エンジニア(SE)という言葉は、コンピュータ業界以外でも通じる言葉になっているが、ITアーキテクトとかシステム・アーキテクトという言葉はまだなじみが薄い。子供にどんな仕事かと聞かれて説明しても、正確に説明しようとするほど相手は首を傾げる。でも、じゃあ、SEって何する人と聞かれてきちんと答えられるエンジニアもほんとは少数派だと思う。

SEはシステムの仕様を作る人、プログラマーは、仕様に従ってプログラム開発をする人という定義が一般的だったこともあるかもしれない(私自身の体験としてもそうなのだが、フィールドワークをして確認したわけではない)。実際、システム開発のプロジェクトでは顧客と調整してシステムの動作仕様をまとめるのがSI事業者のSEで、プログラマは、SEの指示でブログラムを書くというケースもよくあるのかもしれないが、要件定義までと基本設計以降で担当者が異なる場合もあり、実際のところ厳密なルールがあるわけでもなく、小さなプロジェクトほど明確な分担を実現する体制上の余裕が無く、何でも屋がいたりする場合がほとんどだろう。

最近では、ここにITアーキテクトだとか、ビジネス・アナリストだとかも加わり、システムと業務の全体構想をまとめる人の重要さが強調されるようになってみたり、実装に携わるメンバーに対するスキル要請が詳細化されて定義されていたりと、ITエンジニアの呼び方もその担当する仕事に応じてさらに増えているのだが、十分に世間に知られているとは言いがたい。

ITSSのキャリアフレームワークによる分類

私の勤める会社では、一応、その人の役割と職種は区別して扱っているのだが、忙しい時は、もうみんなめんどくさいので、PMですら、十把一絡げにSEと読んでいることもしばしばある。見積もりの場面となれば、これはなお難しく、たとえば、データ・アーキテクトとかテスト・アナリストみたいなことを言ってもどうせ通じないので、上級SE、SE、アーキテクトくらいの区別で通しているとかもう普通でしょう。これがまたITエンジニアに対する呼称がなかなか普及しない原因になっていると思う。積算資料をみたって、こまかな職種分類があるわけでもなく、SEの人月単価など、二三種類あればよかったね、という程度だからだ。

しかし、ITエンジニアの職業については、割合に定義の明確な基準が存在している。IPAから出されているITスキル標準(ITSS)に定められているITキャリアフレームワークである。ここで、IT関連の職種として定義されているのは、次のようなものだ。

1 マーケティング

2 セールス

3 コンサルタント

4 ITアーキテクト

5 プロジェクトマネジメント

6 ITスペシャリスト

7 アプリケーション・スペシャリスト

8 ソフトウェア・デベロップメント

9 カスタマサービス

10 ITサービス・マネジメント

11 エデュケーション

エンジニアという言葉がなじむのは、4から10あたりまでだろうか。この標準は、一応国際的なものを参考にしつつという紹介のされ方をしているが、現実には、2から4あたりは相互に重複するところがあるし、5は、基本スキルとしては、リーダークラスのエンジニアすべてに求められる素養になるし、6–8のどこかの経験がなくていきなり4を担当できるわけでもない。つまり、それほど強い職業上の区分があるわけではなく、経験や需要次第で横に移動することはよくあることなのだ。

ITSSは、これらの職種の専門性をレベルで表現しているのだが、たとえば、ITアーキテクトやコンサルタントは、レベル4–7(7が最上位)、ITスペシャリストは3–6、レベル1–2にマークがあるのは、限られていて、セールス系の職種はセールスから、コンサルタントやエンジニアの系列は、最初はITスペシャリストやアプリケーション・スペシャリストからキャリアをスタートさせることが想定されている(下図参照)。

ITスキル標準V3 2011 2部: キャリア編 図2

求人サイトでの分類

では、これらの用語がどのくらい普及しているのかだが、これを確認するには、求人情報を見てみればいい。たとえば、エンジニア向けの転職サイト@typeでは、次のようにITエンジニアを分類している。詳しくは、サイトで、以下は上位の分類のみ。

システム開発(オープン・ Web系)

システム開発(制御・ファームウェア・組み込み系)

システム開発(汎用機系)

パッケージソフト開発

ネットワーク・サーバ設計・構築・運用

ITコンサルタント, プリセールス

テクニカルサポート, 運用, 保守

社内SE, その他

ITSSの分類との違いは、明確に現れていると思う。ITSSのキャリア・フレームワークでは、曲がりなりにも、そのITエンジニアやセールスがもつスキル領域やその水準を中心にして職種を定義しようとしているのに対して、この@typeの分類は、募集がある「ビジネス」が基準になっているのだ。オープン系のシステム開発で必要な要員募集、パッケージ開発で必要な要員募集、等々、これらは要するにどの企業がどのようなプロジェクトを始めるので経験者を募集するという形をとっている。そして、実際に、エンジニアはたとえば、オープン系とか汎用機系とかに仕分けされて求人に応募させられることとなっている。

もちろん、主要なプログラミング言語がCOBOLで、開発方法論がADSGやODAだったりするメインフレーム系のアプリ開発と、JavaやJavascriptでシステム開発を行うオープン系のシステム開発では、適用するテクノロジーが異なるわけで、自ずと求められるスキルも異なるし、人材もあまり重複しないのが実態ではある。しかし、COBOLプログラマーがJavaを駆使できないとは限らないし、Javaでプログラムがかけるなら比較的習得が容易なCOBOLが書けないわけもなく異なるのは熟練度だけだとみればいいはずだ。そもそも、SEの仕事はプログラミングじゃなかったんじゃないの?と思う人がいても不思議ではない。

実際、システム全体のアーキテクチャを考えるITアーキテクトは、双方の技術についてある程度の知識がなければやっていけない職業である。彼らは何系なのか?この中で一番アーキテクトと重複する部分が多いのは、ITコンサルタント, プリセールスなので、仕方なく、そうした職種を選んで希望を登録するITアーキテクトは少なくないのではないかと思う。

つまるところ、ITエンジニアの職種というものは、いまだ確立していないのだと考えざるを得ないのが現状なのである。

そんなんなっている背景

では、なぜ、そうした現状はなかなか改善しないのか。ITSSの初版が出されたのが2006年で、まだ十年経過していないという事情もある。その間、ITSS自体、二度改訂されて、いまはバージョン3になっているくらいで、そもそもITSSにどれほどの権威があるかは不明である。国のIT関連の認定試験を見ても、改善努力はされているものの、いまだにこの職種の体系にそったものとはなっていない。

たとえば、ここを見てみよう。Wikipediaの情報で恐縮だが、2009年に情報処理技術者試験が、ITSSに対応するように改訂されたとされているのだが、「試験」という言葉を外して、職種としてみれば次のような職種が想定されていることになり、どこがキャリアフレームワークと合っているのがちょっとみただけでは判断に苦しむ。

システム監査技術者

プロジェクトマネージャ

データベーススペシャリスト

エンベデッドシステムスペシャリスト

ネットワークスペシャリスト

情報セキュリティスペシャリスト

応用情報技術者

基本情報技術者

ITストラテジスト

システムアーキテクト

ITサービスマネージャ

ここのシステムアーキテクトは、アプリケーション・エンジニアが元になっているということなので、システムアーキテクチャをそのようにとらえたということなのだろう。また、ITストラテジストなる耳慣れない資格は、システムアナリスト試験と上級システムアドミニストレータ試験を統合して範囲を拡大したとのことだ。

国家試験ですよ、これ。国が認定資格を付与する場ですら、専門家の呼称がぶれているのだから、後は調べるまでもないことだ。

こうした呼称のぶれの問題の背後には、実は、日本のIT業界が世界の潮流から置いていかれているという深刻な課題もあるのだが、その世界の潮流自体が行き過ぎたり戻ったりと変化が激しいこともあって、お役所主体のIT行政ではもう追いつく事ができないという根本的な問題の方が実は大きい。IT産業は、ほぼ90%輸入産業であって、日本発の技術ももちろんあるのだが、今や世界中にIT技術者がいて競い合っている中で、日本は英語というIT業界の共通語に対するハードルがあるために、相当下の方に位置している。マーケットとしては魅力的でも、ハードウェア部品などの領域における存在感とは相反して、日本国内のソフトウェア開発はほとんど内向きのものばかりである。Rubyくらいじゃないですかね。目立っているのは。

つまり、変化はまず海外、特にアメリカで起こる。経産省やIPAは、それをウォッチしているわけですね。これは日本にも入れなきゃとなる。視察だ、ヒアリングだといろいろ勉強します。基準を作って、試験制度をなんとか用意して、試験制度を公示する。まあ、三年かかりますね。情報処理資格者試験の改訂が、ITSS公表から三年かかっているのは、まさにそういうことです。

他方、そのIT産業の側の変化は、いかほどかといえば、みなさんご存知のとおり。たとえば。

インターネットの商用利用が始まったのは、1988年、WEBの発明は1990年、日本でインターネット・マガジンが創刊されてどうやらこれはくるなとみんなが分かったのが1992年から1994年くらい、初期のインターネットの運営母体だったNSFnetが民間移管されてWINDOWS95の登場で、われもわれもとパソコン買ったのが1995年。Javaの登場もその頃。個人的な記憶をたどると、cernのhttpサーバを動かして、文書情報の管理はこれしかないと考えていたのが1993年か1994年くらいだったと思う。つまり、基本的なテクノロジーが発明、開発されてから三年もたてばいきなり普及しているのが現代の技術の進化スピードなわけで、三年サイクルで制定しているような試験制度では、到底対応することができないはずなのだ。

その理由は明白で、技術やその個別の技術に対応したスキルを重視した資格制度である限り、技術が進化すれば、それに対応した新しい職種が必要になるからというだけのことだ。もちろん、既存の資格試験も、要素技術に特に結びつけて設定されているわけではないのだが、様々な要素技術全体を使いこなすための技術力そのものの定義という観点からは、とてもうまく体系を整備できているとは言いがたい。ただ、これは無いものねだりなところがあって、そもそも、ITSSのスキル標準は、その人がどういう能力をもっているかではなくて、その人がどういう経験値をもっているかを指標化して示すことを基本概念としているからだ。だからこそ、その人の理解度、達成度をはかる資格試験や求人票の記載ともまあなんとか合わせることができる。ひとつの割り切り方として、これもありだろうけども、割り切れない思いが残るのは、ほんとうはシステム開発で必要な能力は、そこにはなくて、それらが表現するのはその人物の属性の一部に過ぎないからだ。

で、お前は何を言いたいのか?

ということだが、私もそろそろ上がいなくなってきたので、ここら辺で自分が考えてきたITエンジニアの職業像を明確にして、この界隈で仕事をしようあるいはしている人達の役に立ててもらうおうということかな?なんで疑問型なんだと思うかもしれませんが、書きながら考えようかと。で、(ドラフト)。では、次回は、歴史をさかのぼって、システムズ・エンジニアリングとはなんぞやから。