IT業界では大きく3つの業界があって、それがSIerとWeb系とITベンダー言われる企業群。
世の中のIT人材は、どちらかに属していることになります。
SIerとWeb系企業を解説してみる
さて、まずはSIerとWeb系企業について、どういう違いがあるのかを解説していきます。
今回は、エンジニア向けの記事になります。
SIerを説明すると
SIerは、顧客からこういうシステムをつくってほしいという要望を聞いて、それを請け負って設計からサービスリリースまでを行う企業です。
SIはシステムインテグレートの略で、SIerはそれを実行する集団という意味でシステムインテグレーターの略ですね。
顧客が求めるシステム実現のために、インフラやサーバ、開発基盤の構築、ソフトウェアの開発を、様々な会社から得意な人を集めてマネジメントをしていくことになります。
SIerと言っても、その会社の規模は様々です。
また、認識しておくべき話として、SIerでは階層構造になっていて、例えばお客様から案件を直接受注するSIerをプライムベンダと呼びます。
プライムベンダだけで顧客のシステムを作るには、人数が不足するので、他の企業からシステムエンジニア(SE)を探し、契約していくことになります。
ゆえに、1次、2次、3次・・請けという構造になります。
Web系企業との比較でよく議論になるのが、プログラミングができるかどうかですが、これは2次、3次請けのSIerが実施することが多いです。
1次請けのSIer(大企業のSIer)は、請負案件でプログラミングをやることはほとんどありません。(新入社員の時くらいですね。)
また、一般的には1次請け、2次請け・・・と階層が深くなっていくにつれて、社員の平均年収は減少していきます。
SIerの背景などは以下の記事で詳しく解説していますので、参考にしてください。
Web系を説明すると
Web系企業は、自社のサービスを開発している企業です。
製品を開発しているのは、Web企業の比率が高いです。SIerでも自社製品の開発を行っていますが、ヒット商品は少なめ。
近年、SaaSモデルのビジネスが主流になっていますが、SaaSはインターネットを通じてサービスを利用する形態ですからWeb系に含まれると言えるでしょう。以下の記事ではWebとは?からSaaSについてまで解説しています。
Web系企業に勤務すると、基本的には開発エンジニアとして活躍することになります。
なぜWeb系とSIerとで働き方が異なるかというと、大きな違いとして2つあります。
SIerとWeb系の大きな違いとは
顧客の業務や仕様の理解が必要かどうか
もちろんWeb企業でもユーザの意向や動向を把握してプロダクトを改良していくことが求められますが、SIerの場合、顧客の業務を1から理解する場面が多く、ここに時間がかかります。
業務理解の上でないと設計に落とし込めないのです。
SIerは絶対的な期間が設定される
顧客のシステムをつくる時には、絶対的な期間が設定されています。ここまでにシステムを完成させなさいと。
これを守れないと、損害賠償になるケースもあり、だからこそ、マネジメントの要素が強くなってきます。
期限を必ず守るためには、顧客の要望には極力応えつつも、応えられないものはどのように進めていくのかを決定していく必要があります。
ここをうまくコントロールできないと、プロジェクトの破綻につながります。最初に見込んでいたシステムの規模よりも巨大になり、期限までに作りきれなくなるからです。
そのため1次請けのSIerがマネジメントを行うようになっているのです。
一方、Web企業では自社サービスであるので、ユーザーに与える影響を踏まえつつですがサービスのリリース時期というのは融通がきく傾向にあります。
現在のweb企業で大切なことは、プロダクトマネージャだけでなくて開発エンジニアも含めてユーザーを意識した開発ができるかどうか、というところにあります。
参考までに、ITベンダーを説明すると
ITベンダーは、web系と同じで自社の製品を作っている企業なのですが、B向け(企業向け)にソリューションやネットワークを提供している企業になります。近年では、ERPと言われる企業向けパッケージではSAPなどが有名で、ネットワークであればCisco、DBであればOracleなど。
どのベンダも、オンプレミス(企業用にカスタマイズして構築する)でもクラウドでもソリューションを提供しています。
ここまでをまとめると
以下のような感じ。
■SIer →顧客からシステムの仕様が提示され、基本的に仕様通りに開発していくことが求められる。そのために必要な要員の準備を含め、設計からサービスリリースまでを請け負う。
→SIerによって、役割は分かれる。1次請けSIerであればマネジメントが主体。3次請けSIerはプログラミングやテストなど。
→マネジメント対象はプロジェクトであり、PMと言われればプロジェクトマネージャーが該当する。
■Web系 →自社サービスを開発している。
→入社した人はほとんどが開発を行うことになる。
→マネジメント対象はプロダクトであり、PMと言われればプロダクトマネージャーが該当する。
プログラミングするのであればweb(SaaS)系企業の方がよいと思う
バリバリ開発したいのであれば、Web系への就職が良いと思います。その理由は以下の4点。
2,3次請けSIerの仕事になりがちで、給料が上がりにくい
SIerの場合、プログラミングを中長期的にやろうとすると2次請け、3次請けなどのSIerに入社することになります。
しかしこういった企業は、年収が上がりにくいことが想定されます。
かつ、3次請け企業などは、将来性もやや不安視しているのは個人的な見解です。その理由など、詳細は以下の記事でどうぞ。
顧客のことを考えてものを作る創造性に欠けてしまう
SIerでは、顧客が提示した仕様の通りに開発を進めることになります。
これが、創造性を阻むことになってしまい思考停止しがちです。仕様通りに実装していくこと以外のことをしてしまうと、責任を問われることになったりしますからね。
もちろん、工夫する余地は全然ありますし、開発自体の工夫は凝らしていく必要がありますが、現状本当に必要な「顧客のことを考える力」というのは、顧客の体験価値を最大化することにあります。
こういった観点での工夫はSIerだと取りにくいです。
開発範囲が分断されがち
SIerの開発となると、インフラエンジニアか、業務アプリケーションエンジニアかに分かれます。
これに対し、Web系はインフラ、バックエンド、フロントエンドすべてを担当することもあり、総じて幅広いエンジニアスキルを身につけることが可能かなと思います。(もちろん技術に対する興味がないとこんなに仕事は回ってきませんけどね。)
エンジニアとしてのキャリアを積みたいと思う人であれば、フルスタックエンジニアと呼ばれるように、システムの構想を全体俯瞰してシステム構築に必要なことであれば基本的に自分でできてしまう、という方向性を目指す人が多いかと思います。
古い技術で作ろうとしがち
SIerは、顧客のシステム部門ですでに使われている開発手法や開発基盤を使うことが多々あります。
これらが古い場合、その状態で開発を進めなければならないことも頻繁にあります。また、ベンチャー企業などで開発されているテスト自動化製品だったり、効率化を提案して導入するのにもかなりの調整が必要だったりして、ハードルが高い傾向にあります。
一方、Web企業では常に最新技術をエンジニア同士で共有し、それを現在のプロダクトにどう適応していくか。こんな議論をしているシーンをよく見かけます。
SIerでも開発スキルを身につけるキャリアはある
まず申し上げておきたいのは、SIerで習得するマネジメントスキルというのはどこでも使えるものです。
そして、それだけ難易度の高いスキルであるということになります。自分に向いているかどうかは、仕事をしてみないとわからない部分がありますね。
また、SIerの中でもプロダクト開発をやっているので、新卒でSIerに入社してみたけどプロダクト開発したいなぁ、と思ったのであれば社内でプロダクト開発している部署に異動するのも選択肢です。
新入社員ならぶっちゃけどこでも良い
どこでもというのは、SIerであろうがWeb系であろうがどっちでも良い、という意味です。
明確にプロダクト開発がしたい、とかがあるのであればWeb系企業が良いでしょう。
また、顧客との調整をしっかりやりつつ、システム開発の経験を積みたい、というのであればSIerの選択が良いと思います。
しかし、ざっくりとまずはITスキルを身につけたい、というレベルの人がマジョリティのような気がしていて、そういう人はSIerでもWeb系でも大差はないかなと思います。
SIerでも最初の数年は開発を行いますし、OSにはLinux、フロントエンドではHTML・CSS・javascript、バックエンドではjavaを扱うケースが多いので、仮にバリバリ開発したいと思った場合、これらの言語を習得しておけば転職は難しくないです。
なので自分が良さそうとか、年収の高さなどで決定しても、まあ大きな問題はないと思います。
もちろん、やりたいことが明確な人は、業界特性(SIerとWeb)と企業理念、開発プロダクトを総合的に見て入社先を決定するのが良いです。
SIerからWeb系へ転職ってできるのか
個人的には、SIerからweb系企業に転職していく人たちをたくさん見てきました。
(でもWeb系企業からSIerってあまり見かけないですね。知らないところにたくさんいるのかもしれないですが笑)
彼らは、
自分でユーザー(顧客)にとって何が必要かを考え、それを自分の技術力で実現したい
という明確な熱量があり、また技術に興味がある人たちでしたので、常に最新の技術動向をチェックしていたり業務外で興味のあるプログラミング言語を習得するなどをしている人たちでした。
まさに、技術の習得に対して能動的で、かつ顧客調整もしてきていた人たちなので、こういった人材を企業が欲しがらないわけがありません。
もちろん面接全勝というわけでもない
色々な人から聞くと、いくつかの企業から内定をもらえたものの、必ずしも面接した企業すべてから内定をもらっている、という人はあまりいませんでした。
しかし、これはある意味、転職では当然のことなのです。
各企業で、その時に求めているスキルというのは異なってきます。
例えば分かりやすい話、pythonでの業務経験をある人が今すぐ欲しい!という企業に対して、pythonを使ったことがない人が応募した場合、それは見送りになる可能性が高いわけです。
また、AI人材を求めている企業に、IoT案件をずっとやってました、という経歴のアンマッチで見送りになるケースもあります。
もちろん、求められるスキルを応募時点で持っていなかったとしても、ポテンシャルを見られて採用になるケースもあるので、応募自体を諦める必要はありません。
が、見送りになると結構落ち込む人が多いので、別に落ち込む必要ないよ、という話です。
※10社くらい応募して1社も内定がもらえないとすると、何かしら不足しているのでしょう。
以下の記事で自分の転職体験を記載していますので、参考にしつつ、最終的には信頼できるエージェントと模擬面接みたいな形で、本番の面接前に自分のアピールがロジカルになっているか、志望動機とこれまでのキャリアの結びつきは感じれるか、というところはチェックしてもらうべきです。
今後求められるエンジニア像はこう考える
コーディングスキルだけではなく、顧客起点の発想ができるエンジニアは今後必ず必要になってきます。
自分たちのシステムを利用している人はどういった人で(ペルソナ)、その人たちは自分たちのシステムを使ってどう感じているのか(カスタマージャーニーマップ)。
それを解決するためは、マーケティングの人など様々な人と協力しながらプロダクト開発をしていく必要があります。
コーディングスキルはもちろん大切ですが、それ以外にも大切なこともありますね。
ここらへんの話は以下の記事でも解説しているので参考にどうぞ。
転職準備は常にしておいた方が良い
転職に少しでも興味があるのであれば、転職準備というのは常日頃からしているに越したことはないです。
もちろん、現職の企業でずっと働くという選択もあるので個人次第ではありますが、基本的に年収は転職という選択を取らないと大きく上がっていきません。
自分はずっとビズリーチのみを使用してきました。以下の記事で解説しています。
キャリアのベストは、自分のやりたいことを実現する、ことだと思いますが、なかなかそれを明確に持っている人が少ないです。
そうでない人は、基本的に年収を上げていくことを目標に置くのがよいです。↓ということをSIerからの転職したきっかけの話の中で語っています。
年収を上げていくということは、自分のスキルを深めていく、もしくは幅を広げていくということにほかならないです。
そしてその過程で、多くの挑戦や経験をするはずです。
その挑戦や経験によってのみ、自分のやりたいことにつながっていくと自分は考えています。
どなたかの参考になれば幸いです。それでは。
※ちなみに、筆者はSIer出身でありWeb系企業での就業経験はありません笑
Web系の話は、Web系企業で働く知人の話を参考にしてこの記事を書いています。
この記事へのコメントはありません。