paiza開発日誌

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

logo

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

自社と受託では「ITエンジニア」は別の職種だと思ったほうがいい

f:id:paiza:20201221115434j:plain
f:id:paiza:20180910132940p:plainこんにちは。倉内です。

就活に関する情報はインターネットで集めることが多いと思いますが、特にIT業界は積極的に情報公開をしてくれる現役エンジニアの方も多いため、さまざまな情報を手に入れることができます。

ただ、私自身新卒でSEとしてSIer(受託開発中心)に就職し、その後転職で今のpaiza(自社サービス開発)に来てみて、「ITエンジニアというくくりでも実際は結構な違いがあるな」と感じました。

新卒での選択が一生を左右するわけではありませんが、できればある程度将来のキャリアを見据えた上で選択できたほうが、遠回りせず自分のやりたいことがかなえられるのかなとも思います。

そこで今回は、学生時代はなかなか得にくい「ITエンジニアの仕事」の実態についてもう少し深堀りしてみます。

「ITエンジニア」という職業の誤解しがちなところ

f:id:paiza:20210527133511j:plain

職種も業務内容も多岐にわたる

「ITエンジニア」というと、コードを書いてWebサービスやアプリケーションなどの開発をおこなう仕事を思い浮かべる人が多いと思います。

もちろんそれも間違いではありませんが、担当する領域や役割によって職種はもっと細かく分かれており、また業務内容もさまざまです。

以下の記事では開発系、インフラ系、IT関連職の3つに分類して19の職種について紹介しています。(それでもまだ一部ですが…)

paiza.hatenablog.com

実務経験がないうちはイメージが難しいかもしれませんが、ざっくりとでも把握しておくとよいでしょう。SIerのSEのように総合職として募集しているところは業務内容も幅広いですが、求人票に「フロントエンドエンジニア」や「バックエンドエンジニア」などで掲載されている場合はより専門性の高い業務内容になります。

ここからはおもに開発系のエンジニアについて、キャリアパスや必要とされるスキルを見ていくことにします。

受託開発(SIer)と自社サービス開発のエンジニアの違い

「ITエンジニアを目指すなら、自社サービスに行くのが一番よい」という声を聞くことがあります。確かに「Webサービスの開発をしたい」「自分でアイデアを出してサービスを生み出したい」といったことがやりたいのであれば、もっとも希望に近いと思います。

一方、「顧客のニーズを引き出してシステム要件や仕様を考えたい」「ひとつのサービスではなくさまざまなサービスに関わってみたい」という場合は、受託のほうがやりたいことができるでしょう。

また「SIerのSEはExcelを操作できればいい」と言われるのは、要件定義書や設計書などのドキュメントをExcelで作成することが多いからです(文書をExcelで作成することの是非は今回は置いておきます…)。「企画書の作成や要件定義・基本設計・詳細設計をする」と考えていただくと実際の業務のイメージに近づくと思います。

このふたつは比較されがちですが、業務内容も求められる役割も異なります。そのため「エンジニアになりたいなら自社がいいor受託がいい」ではなく、自分がやりたいことを軸に考えるべきです。その際、将来どうなりたいかまでイメージできるとなおよいですね。

以降で受託と自社のエンジニアの業務内容と将来のキャリアパスの例をご紹介します。ただし、企業によってさまざまですので、あくまで一例だと思ってください。

受託開発(SIer)のエンジニアをもっと知る

受託開発では他の会社(多くの場合、ユーザー企業もしくはベンダーやより規模が大きいSIer)から要望を受けてシステムを作り決められた期日までに納品します。

開発するシステムでイメージしやすいのは、銀行のATMや小売店のPOSレジなどでしょうか。ただ、業務システムだけでなくWebサービスやスマホアプリなどの開発も請け負いますし、事業領域はかなり幅広いです。

ユーザー企業から直接案件を請け負う場合、システム開発会社から一部の開発を委託される場合などさまざまですが、システム作りに関する一連の業務(企画・提案~要件定義~開発~テスト~納品~保守・運用)の複数を担当することになります。

受託開発で最も重視するのは、システム開発を依頼してきた顧客に対して、決められた期日までに要件を満たしたシステムを納品することです。

要件・予算・スケジュールはプロジェクト開始時に決まっているため、基本的には開発途中やリリース後に(不具合や要望として正式に挙がったものは別にして)顧客の反応を見てシステムに手を加えるということはありません。顧客からの依頼でシステム開発をおこなうため、よっぽどのことがない限り費用を回収できるのはいいところだと言えるでしょう。

将来のキャリアは?

f:id:paiza:20190722110830j:plain
基本的にSIerのエンジニア(SE)はプロジェクトをマネジメントする役割を任されることが多いでしょう。

多くの場合、小規模プロジェクトのプロジェクトリーダー(PL)を経て、プロジェクトマネージャー(PM)に任命されます。経験を積むとより大規模なプロジェクトのマネジメントをおこなうことが求められます。

業務としては、スケジュール管理だけでなく、プロジェクトに参画する要員のコントロール、目標としている利益を達成できるかなどの予算管理、顧客が無理を言ってきた際の交渉など…自分で手を動すというよりは、プロジェクトの円滑な進行のための動きをすることが多くなります。

経験を生かした転職
  • ITコンサルタント
  • セールスエンジニア
  • 社内SE
  • 研究開発

など

自社サービス開発のエンジニアをもっと知る

自社サービス開発のエンジニアの業務は、市場のニーズを汲み取ってアイデア出し(もしくは事業部門とどのようなサービスを作るとビジネスの成長につながるかアイデア出し)をおこない、企画・開発を経てリリースをするのが基本的な流れです。

メインは開発部分ではありますが、技術力と同じくらい「このサービスでどのような利益を生み出すことができるか」を考えることができるマインドを求められます。

競合が多い領域では特にアイデア出しからリリースするまでのスピードを重視し、リリース後もユーザーの反応を見てサービスをブラッシュアップしていくのが普通です。サービスが続く限り開発が終わることはありません。これは不具合を除いて納品後に自主的にシステム改修をおこなうことがない受託開発との大きな違いと言えます。

自社サービスの開発では実験的に新しい技術を採用してみることができますし、顧客から納期を提示されるわけではないので比較的柔軟なスケジュールを組むことが可能です。

一方、リリースしたサービスでユーザーを集められないと開発やプロモーションにかけた費用を回収できません。サービスが軌道に乗るまで(安定して収益を得られるまで)は本当に大変なので、受託開発の案件と並行する企業もあります。

将来のキャリアは?

技術を磨き続けたい・開発現場に携わり続けたいという方が多いため、テックリードやエンジニアリングマネジャーなど技術力をベースとしたリーダーやマネジメントの役割を担うことが多いでしょう。

エンジニアチームの中でも技術的な知見や知識が豊富で、技術的にチームを牽引できる人であることが求められます。具体的には、コードレビューでの適切なアドバイスができる、コードの品質を管理できる、エンジニアチームの生産性を可能な限り上げる…などが必要とされます。

スペシャリストとして開発をメインに続けたい場合、高いスキルと専門性が求められます。よってスキルやこれまでの知見を生かしながら、マネジメント業務にシフトする方が多いと言ってよいと思います。

経験を生かした転職
  • 他の領域(ゲーム、AI、IoTなど)の開発系エンジニア
  • CTO
  • VPoE
  • Webディレクター

など


自社・受託どちらもキャリアパスとして、フリーランスや起業という選択肢もあります。以下の記事にここまで紹介したキャリアパス含め解説していますので、よければごらんください。

paiza.hatenablog.com

求められるスキルと今からできること

f:id:paiza:20190824121538j:plain

受託開発(SIer)

  • 顧客要件をシステム仕様に整理し設計書に落としこめるスキル
  • 開発スケジュールの作成・調整・管理ができるスキル
  • 業務仕様を理解しタスクを確実にこなすことができるスキル

自社サービス開発

  • 開発スキル(新卒の場合はプログラミングに対する興味や素質を重視)
  • スピーディーな開発サイクルに対応できるスキル
  • サービスを利用するユーザーを理解するための調査、分析スキル


もちろん共通して必要となるベーススキル・知識もありますが、より違いが出る部分について紹介しました。

ただし、どちらにしても技術力があるに越したことはありません。もし将来、目指したい方向性が変わり「キャリアチェンジをして転職したい」と思ったときにときに、現在所属している企業でしか通用しないローカルなスキルしかないと非常に苦労することになります。

paizaラーニングでは、プログラミング言語の入門から、Webアプリケーション開発、Web技術の基本などさまざまな学習講座を公開しています。

環境構築は不要で、ブラウザ上でコードを書きながらプログラミング学習ができますのでぜひ活用してみてください。

paizaラーニング

また自社サービス開発と受託開発で求められるスキルの違いについては、以下の記事で詳しく解説しています。

paiza.hatenablog.com

まとめ

エンジニアの中でも並べて語られがちな受託と自社のエンジニアについて、業務内容やキャリアパスまで詳しく見てみました。

こうして見てみると必要とされるスキルや役割は多岐に渡り、結構違いがあることが分かったと思います。

それぞれにやり甲斐に感じる部分、大変な部分がありますが、「エンジニアになるなら自社サービスに行くべきか?」という考え方ではなく、自分がやりたいことは何か、将来的なキャリアパスをどう考えるかという視点を持てるとよいでしょう。


paiza新卒はITエンジニアを目指す学生に特化した就活サービスです。求人票には、メインとなる言語やフレームワーク、開発環境やチームについての情報などITエンジニアならではの内容が記載されています。

paiza新卒

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

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

詳しくはこちら

paizaのスキルチェック

paizaのおすすめコンテンツ

Webセキュリティ入門 ハッカー入門 Webセキュリティ講座がスタート!CVは内田真礼さん! Python✕AI 機械学習入門講座 CVに上坂すみれさんを起用!人気の機械学習講座を公開中!
paiza転職 paiza新卒 EN:TRY paizaラーニング 記事内に記載している情報は、記事公開時点でのものとなります。 Copyright Paiza, Inc, All rights reserved.