読者です 読者をやめる 読者になる 読者になる

paiza開発日誌

paiza(https://paiza.jp ギノ株式会社)の開発者が開発の事、プログラミングネタ、ITエンジニアの転職などについて書いています。

【ITエンジニア】SIerで求められる人、自社サービスで求められる人

f:id:paiza:20161206123855j:plain
Photo by Campaign Monitor
f:id:paiza:20140916135428p:plainこんにちは、谷口です。

ITエンジニアというのは総合職ではなく専門職のため、将来のキャリアデザインについては、企業任せではなく自分で考える必要があります。

IT業界は成長産業ですので、かねてから人材不足が叫ばれ続けてきました。それが本当ならば、転職を希望するITエンジニアは、引く手あまたで転職先を見つけることができるはずです。しかし実際は、転職活動がうまくいかない、企業とのミスマッチに悩んでいるといった転職希望者が後をたちません。

今回は、ITエンジニアの転職市場の現実と、SIerで求められる人、自社サービスで求められる人の違いについて考察していきたいと思います。

■IT企業と転職希望者のニーズ

IT技術者の不足と言うと、以前は「設計やマネジメントができる人がほしい」という企業が多くありました。しかし、最近では「前提としてまともなコードが書けて、その上でユーザーファーストな考えができる人」という傾向があります。

これまで受託開発によるシステムを使用していたユーザー企業も、昨今はSaaS等のクラウドサービスの利用が増えてきています。ユーザー企業のSaaSの利用率は、2011年から2013年にかけて33.7%、44.3%、56%と毎年確実に拡大しています。

ITエンジニアの志向も変化しており、以前弊社でエンジニアの皆さんにとったアンケートの結果では、希望する転職先企業の業態は、SIerを望むという回答が17%だったのに対し、自社サービス開発企業を望むという回答は79%と圧倒的でした。

一方、回答者が就業している企業の業態は、SIerに就業中という人が40%だったため、現在SIerに勤務しているエンジニアでも、自社サービスへの転職に対する意欲が高まってきているようです。

f:id:paiza:20150909140036j:plain

■「エンジニアが足りない」は「『できる』エンジニアが足りない」

上述のような傾向がある中で、エンジニアと企業の間で転職活動、また採用活動が難航しているという話がよく挙がります。転職・採用活動の難航やミスマッチは、なぜ起きるのでしょうか。

「エンジニアが足りない」「エンジニアはどこにいるのか」と声を挙げている企業に話を聞いてみると、求人を出しても応募が全くない……という場合はほとんどありません。ただ、転職希望者からの応募は結構あるのですが、「求めるスキルに達しているエンジニアからの応募がない」といった声を多く聞きます。

従来のITエンジニアの採用現場では、プログラミングスキルではなく、経験してきたプロジェクトの規模や設計の段階についてが重視されてきました。また、プログラマー職に関しては、少しでもプログラミングができれば採用という場合が多くありました。

しかし、Webサービス・自社サービスの開発企業では、まず一定のプログラミングスキルがあるということが大前提として求められています。

前述のとおり、転職希望者には自社サービスを希望する人が多いわけですが、SIerから自社サービスへの転向を希望する場合は、ビジネスモデルや開発手法、文化やスピード感において大きく違うため、転職がなかなかうまくいかなかったり、どこかに入社できても前職との違いが大きくてつまずいてしまうという場合が多く発生しています。

具体的に言うと、SIerでPMの仕事をしており、転職先でもそれなりに高い額の給与を希望している割に、プログラミングスキルが必須レベルに届いていなかったりして、転職先が見つからないといったパターンなどがあります。

ただ、現職の業態を問わず、趣味で自らWebサービスやアプリを作成していたり、休みの日にも趣味でプログラミングをしたりして、業務では必要なくても最新技術への感度が高い人々が、思いのほかスムーズに希望する企業へ転職を決めていたりします。

こういったギーク層は、受託開発の業務形態ではあまり活躍できる場がありませんが、Webサービスや自社サービスの開発に移って活躍している方が多くいます。

SIerで求められる人、自社サービスで求められる人

SIerで求められる人

SIerでは、以下のようなスキルが求められます。

・スケジュールを作成・調整・管理できるスキル

・人をまとめて計画を確実に進行できるスキル

・設計ができるスキル

受託でシステムを開発するSIerでは、期日と予算範囲を厳守しながら、システムを作り上げて納品する能力が必要とされます。

受託開発のビジネスモデルでは、納期厳守の考え方にならざるを得ません。作ってみて、「この機能もあった方が便利なのでは……?」と思うことがあっても、要件の追加や計画の変更はリスクが伴うため、次のフェーズに持ち越しということになってしまいがちです。

また、業務は受注単位で動かざるをえないので、一度プロジェクトを開始すると、途中で内容を大幅に変更したり、途中で一次停止して別のタスクを優先するということもできなくなってしまいます。

発注側も大企業になることが多いため、小回りがきかず、年単位でしかプロジェクトの変更がきかないこともあります。そのため、エンドユーザーへの提供価値よりも、とにかく要件通り作り上げるということが優先されてしまいます。

その反面、年単位、また億単位の巨大プロジェクトを進めるに当たって、スケジュールを作成・管理・調整しながら業務を遂行していくスキルSIerでないと身につかないスキルだと思います。

ただ、末端のプログラマーは下請けで使い倒されることも多く、自社サービスの開発に人気が集まってしまい、技術者が集まらないという課題もあります。

自社サービスは、SIerとは開発手法やスピード感が全く異なります。Webの世界では一年も経てば技術や市場の主流は様変わりしてしまいます。そのため、数日から数か月の単位で機能を作ってリリースしたり、計画も市場やユーザーの反応に合わせて変更していくということがよくあります。

◆自社サービスで求められる人

自社サービス開発企業では、以下のようなスキルが求められます。

・プログラミングスキル(大前提)

・素早くPDCAを回すスキル

・エンドユーザーを理解するための調査、分析スキル

良い悪いではありませんが、これらは余りSIerでは求められないことが多いです。しかしWebサービスの場合は、SIerのように顧客との間で明確な要求を詰めてから開発に取り掛かるというわけではありません。ニーズの仮説を立て、それを検証するための最低限のシステムを作ってリリースし、ユーザーの反応を見てまた開発に取り入れるという形となります。

特にスタートアップ企業であれば、大企業で一ヶ月単位で進めるような業務を、1~2日でとりあえず作ってしまって公開するということも珍しくありません。

SIer型の開発手法は、変化の少ない規制産業や、イノベーションの起こりづらい金融や保険、役所関連の領域に向いています。長期的な計画を立てることが可能で、着実にシステムを構築していくことが強みとなるからです。

一方、自社サービスの方は、計画に基づいて着実に業務を進行していくよりも、変化に対応し続けることが重要になってきます。

同じITエンジニアという職業でも、業務の進め方はこのように異なっています。

■「技術力」という言葉が差すものの変化

f:id:paiza:20161206124022j:plain
Photo by PROPaulien Osse
SIerと自社サービスの業務の違いに伴い、ITエンジニアに対する「技術力」という言葉の示すものも変わってきています。

以前はSIerが中心だったため、PMが持つスキルを技術力と言っていましたが、最近の採用現場で聞く「技術力」は、Webの自社サービスにおいて必要なスキルを指していることが多く、ユーザーファーストなサービスを作れる力を指すように変わってきています。

その上で、これまで主流だったSIerに勤務しているエンジニアがWebサービスの自社開発企業に転職したいとなった際、ギャップが生じてしまうわけです。

これまでのSIerでは、数年間プログラマーをした後、PMになるという流れがキャリアのメインでした。しかし、そのようなキャリアの積み方では、自社サービス開発企業で求められるようなスキルを身につけることはできません。

■まとめ

このように、SIerと自社サービス開発では求められることが違うため、スキルギャップが生じ、企業側は希望するような条件のITエンジニアをなかなか採用できない、転職したいITエンジニア側も企業の内定がなかなか取れないという現象が起きています。

キャリアに正解はなく、Webサービスの自社開発企業に入ることができれば安泰というわけではありません。むしろ、スタートアップで自社サービスを開発するより、大手SIerにいた方が安定した生活を送れるかもしれません。

ただ、ITに求められることは、とりあえず言われたとおりのシステムを作ることから、ビジネスの中心となって利益を生み出すことへと変化しています。そのため、ITエンジニアにも、モノを作ることだけではなく、価値あるサービスを生み出せることが求められているのです。




paizaではITエンジニアとしてのスキルレベル測定(9言語に対応)や、プログラミング問題による学習コンテンツ(paiza Learning)を提供(こちらは21言語に対応)しています。テストの結果によりS,A,B,C,D,Eの6段階でランクが分かります。自分のプログラミングスキルを客観的に知りたいという方は是非チャレンジしてみてください。

http://paiza.jp

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

PHP入門編Ruby入門編Python入門編Java入門編JavaScript入門編C言語入門編C#入門編アルゴリズム入門編