IT(SES)業界に30年以上携わってきた経験から、IT(SES)業界ってどんなところかを紹介します。
現在はフリーランスとして収入を得ていますが、IT企業に30年間勤めてきました。
IT企業で勤めていた際には大手SIerの下で仕事を請けてシステム開発のプロジェクトを業務の生業としていました。
前提(私が見てきたのは)
一概にIT業界と言ってもいろいろなプロジェクトや役割があります。

例えば、ゲームソフト開発、ホームページ作成、スマホのプログラム開発、ネットワーク構築、システム運用・保守、企業内SE、ITコンサルタントなどなど。
更にそれぞれのプロジェクトの中でマネジメントをする人、設計をする人、プログラミングをする人、Webデザインをする人、インフラ設計をする人、サーバ構築する人などなど。多岐にわたります。
そのような中で私は、主に業務システムのソフトウェアの開発に携わってきました。
最初はプログラマから始まり、リーダーとなり何名かのチームを任され設計フェーズも担当する様になり、更に20名程度のプロジェクトの管理も行ってきました。
主にソフトウェア開発を行ってきたため、ITインフラに関する業務やホームページ作成、ゲームソフト開発などについては殆ど関わっていません。
現在はフリーランスですが、勤めていた当時の会社は大手ITベンダーから仕事を受注し開発を行っていました。開発規模としては小さい規模の開発でも数千万円、主に数億円規模の開発を行ってきました。
この後は、この様な経験をしながら私が見てきた、IT業界の特徴を紹介していきたいと思います。
委託先の階層構造
一番の特徴は、ITベンダー(SIer)を筆頭に業務が委託されていく階層構造となっているところです。
イメージは以下の図のような感じです。

この階層構造はシステムの開発規模が大きければ大きいほど顕著になります。
ちなみに、私が勤務していた会社は大手ITベンダーまたは、大手ITベンダーの子会社からシステム開発案件を受注し、BP(ビジネスパートナー)と一緒にシステム開発を行うポジション(図の第三階層)でした。
尚、開発するシステムによっては、お客様とITベンダー(第一階層と第二階層)の間にお客様のシステム開発子会社がいる場合もありますし、ITベンダーとシステム開発会社(第二階層と第三階層)の間にITベンダーの子会社がいる場合もあります。
ITベンダーの実状

特に大規模システム開発については、大手ITベンダーの存在が大きいです。
日本の大手ITベンダーの売り上げ上位は、富士通、日立製作所、NTTデータ、NEC、IBMなどの企業です。私もこの中の1社に長くお世話になっていました。
システム開発は規模が大きければその分リスクが大きくなります。
そのため、お客様は規模が大きければ大きいほど大手ITベンダーへ発注したいと思うでしょうし、中小のITベンダーやシステム開発会社はそのリスクを背をえる体力がないのが実状です。
階層構造になってしまう理由
では、なぜこの様な階層構造になってしまうのでしょう?
大きくは以下の2つの理由があります。
- ITベンダーは比較的安い単価で作業を行う社員を抱えることが出来ない。
- ITベンダーや上位層のシステム開発会社が全てのプロジェクトに必要なエンジニアを抱えるとリスクを伴う。
ITベンダーは比較的安い単価で作業を行う社員を抱えることが出来ない。
これは特に大手ITベンダーに言えることですが、大手ですので社員へはそれ相応の給料を払う必要がります。
そのため、比較的安い単価での作業、例えばテスター(テストを行う人)やプログラマなどはシステム開発会社にお願いすることにまります。
ITベンダーや上位層のシステム開発会社が全てのプロジェクトに必要なエンジニアを抱えるとリスクを伴う。
システム開発プロジェクトに必要なエンジニアのスキルや人数は、プロジェクトによりまちまちです。
その変動する必要なエンジニア全てを社員として抱えていたのでは、プロジェクトと社員のアンマッチがおこり、プロジェクトに参画出来ない社員が出てきてしまいます。
そこでプロジェクトにマッチする社員がいるシステム開発会社に業務を依頼し変動リスクを無くす必要があります。
階層毎の契約形態
システム開発を受注する際の契約形態ですが、主に以下の3つがあります。
- 請負契約
- SES(システムエンジニアリング)契約
- 派遣契約
請負契約
基本的には受注金額が固定される契約です。
ITベンダーや上位階層のシステム開発会社が受注する場合の契約形態となります。
システム開発全体を一括で受注する場合や開発フェーズを区切って(例えば要件定義フェーズや外部設計フェーズなど)受注する場合や開発する業務や機能を分けてその一部を受注する場合などがあります。
SES(システムエンジニアリング)契約
上位階層のシステム開発会社がこの契約形態で受注する場合もありますが、階層が下位になればなるほどこの契約形態で受注する割合が高く変わります。
この契約形態においては、エンジニアのスキルや役割によって契約金額が変わります。受注した会社のエンジニアは自分の会社の管理者(リーダーやマネージャーなど)から指示をされて業務を遂行します。
契約金額は月額固定の場合もありますが、エンジニアの稼働が一定時間(例えば月180時間など)を超えた場合には「時間単価×超過した稼働時間」が月単価に加えられて支払われるのが一般的です。
派遣契約
「SES(システムエンジニアリング)契約」と同様にエンジニアのスキルや役割によって契約金額が変わります。
異なる点としては発注側の会社がエンジニアに直接、指示をして業務を遂行してもらうことが出来ることです。月単価は決めずに「時間単価×稼働時間」での契約が一般的です。
契約金額の仕組み
当然と言えば当然ですが階層が下位であればあるほど、受注した際の契約金額は低くなります。なぜなら発注する側は利益を差し引いた後の金額で発注を出すからです。

そのため、システム開発会社にとってはITベンダーに近い階層であるほど契約金額は高くなります。
少し理不尽な気もしますが同等の難易度で同等な量の仕事をしたとしても下位の階層で受注した場合の契約金額は、上位の階層で受注した場合よりも低くなります。
まとめ
IT業界の契約の流れ(階層)や契約形態、また、契約金額などに着目して紹介しましたが、「契約金額の仕組み」で書いたように、同等の難易度で同等な量の仕事であったとしても受注時の契約金額が変わってしまうことがIT業界の特徴なのかなと思います。
階層の図の一番下の右側に例として「フリーランスエンジニア」を書きました(フリーランスエンジニアが上位層の会社と契約する場合もあります)が、私もフリーランスエンジニアとなり改めて上位の階層の会社の優位性を感じているところです。