paiza開発日誌

IT/Webエンジニア向け総合求人・学習サービス「paiza」の開発者が、プログラミングやITエンジニアの転職などについて書いています。

元SIエンジニアがどうすればIT業界がもっとよくなるか考えてみた

f:id:paiza:20190820130951j:plain
Photo by Matthew Pearce

高村です。開発チームのエンジニアリーダーをしています。

少し前に7payのサービス停止が話題になりましたが、これに限らずIT系の炎上プロジェクトの話題は常に絶えませんね。私も前職はメーカー系の大手SIerにいて、よその炎上プロジェクトの助っ人に行きまくっていました。

誰だって炎上プロジェクトにはかかわりたくないとは思いますが、いかんせんSIer的な業界構造やビジネススタイルには、個人の努力だけでは解決しきれない問題を抱えています。

というわけで今回は、IT業界の構造がどうなれば問題解決につながるのだろう…という話を、エンジニア目線で考えてみました。

現実的にはなかなか難しいこともあるかと思いますが、元SIerのエンジニアの個人的な考えと思って読んでいただければと思います。

ちなみに炎上プロジェクトの助っ人に行っていたときの具体的な話はこちらの記事に書いてあります。

paiza.hatenablog.com

日本のIT業界(特にSIer)における問題

専門知識のない人が雇用される

ほかの分野の仕事、たとえば食品化学系や医療系などでは、大学などで専門的な勉強をしてきた人でなければ就職できないでしょう。

私は情報系の専攻でしたが、近いところでは電気系や機械系の仕事でも、それらの専攻や研究をしてきた人がつくケースがほとんどです。あとは研究職や、士業などの資格が必要な仕事などは言うまでもありません。

しかし、なぜかSIerは違います。ITのIの字も知らないような人も雇用して、最低限の研修だけで開発現場に送り込んでしまう。

システム開発を仕事にするというのは、そんなに簡単なものではありません。

そもそもできる人とできない人では、生産性がまったく違います。

ソフトウェア開発プロジェクトについて書かれた書籍『ピープルウェア』では、優秀なプログラマと成績の悪いプログラマの生産性には約10倍の差があるという記述があります。『ソフトウエア開発 55の真実と10のウソ』でも、エンジニア個人においては、5から28倍のスキルの差があるとまとめられています。

ピープルウエア 第3版

ピープルウエア 第3版

ソフトウエア開発 55の真実と10のウソ

ソフトウエア開発 55の真実と10のウソ

「何倍になる」の数値に関しては諸説あるので置いときますけど、要は昔からいろいろな研究者や技術者が「システム開発って、人によって生産性にすごく差が出るよね」と言いまくっているということです。

向いていなくて知識も足りていない人たちが10人集まって一週間かかっても作れないシステムでも、一人の優秀なエンジニアがいれば3時間で完成させられちゃう…みたいな事例がしょっちゅう起きています。

これは、向いているから優れている、向いていないから劣っているという話ではありません。前提知識のレベル感も適性もまったく無視された雇用が横行しているのが問題だととらえています。

ウォーターフォールの多重下請け構造

雇用だけでなく、ビジネス的な構造にも問題があります。

(この手の考えを記事にするとSIer叩きと言われたりするわけですが、私自身SIer出身で、SIerにいたことで成長できた自覚と恩がありますし、大規模な開発にはSIerが必要であると思っています。私が問題視しているのは、あくまで多重下請けの構造です)

多重下請け構造とは、受託システム開発において、発注元企業から直接仕事を請け負った元請企業が、その仕事を分割して下請け企業に下ろし、一次請け、二次請け、三次請け、四次請け……と下請け企業がさらにその下請けに仕事を分割して下ろしていくピラミッド型の構造です。

このピラミッドが大きくなればなるほど、正しく要件定義をして正しく必要なものをつくる、PMやPLが正しくチームをまとめあげる…といった当たり前の仕事が難しくなってしまいます。

加えて、中間の企業はマージンを抜いてから下層のn次請け企業に業務を委託していくため、下層になればなるほど下りてくる金額は安くなっていきます。

これが横行すると、末端で開発をする技術者にもしわ寄せが来ます。たとえ同じレベルの成果物を作れても、中間にどれぐらい上位請け企業が入っているかで受けとる金額は変わります。それどころか、現実には下請け同士の価格競争まで発生しています。

そのせいで下に行くほど、現場の技術者が受け取る賃金は減少し、「技術に対して正当な対価」が支払われない状況を招いてしまいます。

その上、n次請が増えると責任問題が曖昧になったり、常駐によるトラブルも起こりがちです。

何より、技術的にも「みんなが使えて、過去に実績がある技術」「客先に指定された技術」しか使えず、開発スキルが高い人がいても、それを生かした生産性が発揮しづらく、エンジニアとして核であるはずの技術を磨くことが難しくなってしまうわけです。

業界がどうなったら上記の問題を解決できるのか

多重下請けをなくす、せめて減らす

基本的には、システムやサービスを作りたい会社が開発部門を抱え込んで内製できればよいのですが、大きいシステムなどを作る場合などは現実的には難しいでしょう。

ただ、前述のとおり下請けが増えれば増えるほど問題が発生しやすくなりますから、ピラミッドの階層が浅くなり、具体的には発注元が請け負ってくれるエンジニアに直接発注する、ぐらいの構造になったほうが健全だと思います。

「作ってもらいたい人」と「作る人」が近ければその中間にあたる人たちは不要になります。金銭的にも、いわゆる中抜きされるお金が減って、技術者に入るお金が増えれば、「作ってもらいたい人」「作る人」両者にとって得なはずです。

また、そうなればプライム側におけるマネジメント業務の難易度や、エンジニアの技量を見抜く能力も高まっていくでしょう(少なくとも今よりは…)。そして、エンジニア側にも高いスキルが求められるようになりますから、高額な金額を支払うのにも納得感が出るはずです。

もちろん、そのような構造になったら、エンジニアは自分で仕事がとれるレベルのスキルがある人しか生き残れない、仕事にありつけない状態になってしまいます。

しかし、そもそもエンジニアというのは技術職なのですから、技術がない人は淘汰されてやっていけない、技術がある人は評価されて対価も上がっていく…というのがあるべき状態ではないでしょうか。

もっと言うと、工数換算ではなく、より少ない工数でよい成果をあげられる人が評価されるべきですよね。

IT業界の門戸を狭くする

さきほども言いましたが、IT技術は浅い知識で簡単に作ったり使いこなしたりできるものではありません。(もちろん、興味のある人が学習を始めるハードルはものすごく低いですし、学習意欲がある人はpaizaを通して全力で応援したいと思っています)

だから、本当はこの「誰でもちょっとした勉強だけで、エンジニアになれちゃう」みたいな状態は正されたほうがいいんだろうな…と思います。

そのような状態がなぜ横行しているかというと、そもそもは技術者を頭数と工数だけで換算しているからでしょう。

同じお金を出すなら、きちんとした技術がある人に依頼をして、かかった工数ではなくできあがった成果物で評価したほうがよほど健全です。

この業界的な体質が改善されないと、いつまでたっても日本のIT業界の未来は暗いと思います。

まとめ

というわけで、日本の構造や問題を解決させるにはどうしたらいいんだろう、業界がどうなっていくとよいか考えてみたお話でした。

SIer的な多重下請け構造の中では、技術者やマネージャーの人たちをろくに育成もせずに使い潰しているような状態が続いているので、本当に技術のある人がそれを発揮できてきちんと評価される業界になっていけばいいなと思います。

ちなみにpaiza転職は、エンジニアの技術力がきちんと評価されて活かせる企業が探せるプラットフォームです。

paiza転職では、自分のプログラミング力が他社で通用するか腕試しができるエンジニアのための転職サービスです。プログラミングスキルチェック(コーディングのテスト)を受けて、スコアが一定基準を超えれば、書類選考なしで複数の会社へ応募ができます。

paiza転職について詳しくはこちら
paiza転職





paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。

詳しくはこちら

paizaラーニング

そしてpaizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。

スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。

詳しくはこちら

paizaのスキルチェック





※このブログで紹介しているキャンペーンやイベント、およびサイト内の情報については、すべて記事公開時の情報となります。閲覧されたタイミングによっては状況が変わっている場合もございますのでご了承ください。

ITプログラマー・エンジニア転職・就活・学習のpaiza

プログラミング入門講座|paizaラーニング

PHP入門編Ruby入門編Python入門編Java入門編JavaScript入門編C言語入門編C#入門編アルゴリズム入門編AI機械学習入門

エンジニアのためのプログラミング転職サイト|paiza転職

プログラミング スキルチェックエンジニア求人一覧

未経験からエンジニアを目指す人の転職サイト|EN:TRY

プログラミング スキルチェックエンジニア未経験可求人一覧

エンジニアを目指す学生の就活サイト|paiza新卒

プログラミング スキルチェックエンジニア求人一覧

ブラウザを開くだけで エディタ、Webサーバ、DB等の開発環境が整う|PaizaCloud