最終更新日:2021/05/30

エンジニアへの転職を検討している方の中で、受託開発の企業を検討されている方も多いのではないでしょうか。

  • そもそも、受託開発とは何かよくわからない
  • 受託開発の企業に就職することで、キャリアにはどんなメリットがあるのか、どんなデメリットがあるのか?
  • 受託開発以外の会社はあるのか?

と悩まれる方もいらっしゃるのではないでしょうか。

この記事では、受託開発とは何かを簡単に解説したうえで、受託開発のキャリアについて解説します。

受託開発とは?

受託開発とは、「発注主からシステムの開発の依頼を受け、アプリケーションを成果物として納品する開発方針」のことを指します。

たとえば、今みなさんが見ているこのメディア(DAINOTE)を、このメディア運営主(株式会社インディバース)がゼロから作りたいとします。

「自社には開発ができる人がいないから、他社に開発をお願いしたいな」と思ったときに、システム開発を依頼する場合は、受託開発となります。

受託開発の進め方

受託開発は、基本的に以下の流れで進めます。

  1. 仕事の相談
  2. クライアントとの打ち合わせ
  3. 要件定義 ※発注主、受託企業が行う場合もあり
  4. 見積作成
  5. 予算のすり合わせ
  6. 設計
  7. 実装
  8. 納品

①仕事の相談

まず、株式会社インディバースは、受託開発企業にお問い合わせを行い、システムの開発依頼を行います。

クライアントとの打ち合わせ

システム開発会社からすると、クライアントになる株式会社インディバースと、打ち合わせを行い、より詳細な課題感や、制作したいアプリケーションのヒアリングを行います。

要件定義

どのようなシステムを開発したいかヒアリングした結果をもとに、どんなシステムをつくるかざっくりと定義します。この要件を定義したドキュメントを、要件定義と呼びます。

見積の作成

要件定義に基づいて、どのくらいの予算感があれば、Webサービスを作成することができるのか、見積書に記載したうえで、発注主に見積書を送付します。

予算のすり合わせ

見積をクライアント(発注主、株式会社インディバース)が確認し、その予算で問題がないか確認します。

設計

問題がなければ契約が開始されます。実際により詳細なアプリケーションの設計を行っていきます。

具体的には、

  • デザイン:Webアプリケーションのデザイン
  • 機能要件:ログイン機能など、具体的な機能
  • 非機能要件:セキュリティレベル、動作スピードなど、目に見えない機能

を設計していきます。

実装

設計が完了すると、実装に移ります。ここで、プログラミングを行い、実装していくことになります。

受託開発の契約とは?

さて、受託開発を行う際には、契約を行う必要があります。理解しておくべき用語は以下の通りです。

  1. 請負契約:成果物の納品を前提に、報酬を支払う契約のこと
  2. 瑕疵担保責任:納品した成果物に不具合があった場合は、受託開発を行った企業が責任を取る

請負契約

請負契約(うけおいけいやく)とは、成果物の納品を前提に、報酬を支払う契約のこと。たとえば、今回のシステム開発であれば、「20万でこのアプリケーションの開発を請け負います!」という感じで、成果物の納品を前提に、報酬を支払う契約となります。

他の契約だと、「毎月60時間働くので、24万円請求します」といった、労働時間によって請求が行われる「準委任契約」もありますが、請負契約の場合は、成果物に対して報酬が支払われるのが特徴です。

庇護担保責任

庇護担保責任とは、「作った成果物の品質については、事前にクライアントと話し合った機能に関しては、ちゃんとクオリティの責任とってね!」という意味です。例えば、事前の設計で合意したシステムが、うまく動かない場合、庇護担保責任により、発注主ではなく、受託開発を行った側の責任となります。

受託開発の構造

受託開発で理解しておくべき言葉は、以下2種類です。

  1. 多重請負構造

受託開発の構造としては、本当にほそぼそとやっている会社とは別に、一般的にはピラミッド構造になっています。

※ピラミッド構造の画像

多重請負構造

もともと、発注主が100万で開発をA社に依頼したとしましょう。

A社は、最初に依頼された会社なので、元請けと呼ばれています。

A社は、正直自社だけで開発できないので、別の会社B社に、開発の依頼を行います。

その分、A社は20万円分は自社に、80万円分をB社に依頼します。

B社は、A社に続いて2社目なので、2次請けと呼ばれます。

同じように、B社はC社に、C社はD社に…と仕事を依頼していきます。

こんな感じで、元請けからどんぶらこと仕事が流れていきます。

さて、このような構造になると、末端のZ社の売上はどうなるでしょう?

Z社は、間にいる会社にフィーを抜かれているので、非常に少ない報酬でシステム開発を行わなければいけません。

このように、複数の会社が請負を行っている構造を多重請負とよび、IT業界では非常に問題視されています。

なので、末端の企業は非常に給与が低くなり安い傾向にあります。

また、同じ受託開発の企業でも、元請けはシステムの設計を行い、末端はシステムの開発を行うことが多いです。

受託開発とSESの違い

受託開発の場合は、成果物(具体的にはアプリケーションや設計)などを納品することで、報酬を受け取る「請負契約」が前提にあります。

一方で、SES(System Engineering Service)の場合は、労働者を派遣し、月の労働時間に応じて報酬を受け取る「準委任契約」前提にあります。

詳しくは以下のSESに関する記事をご覧ください。

SESが「闇」「やめとけ」と言われる理由と、契約形態や転職について徹底解説します

受託開発と自社開発の違い

受託開発の場合は、クライアントから成果物の依頼を受けて開発を行います。

一方で自社開発の場合は、自社でサービスを持っている会社が、自分たちで成果物を作成することになります。

自社開発に関しては以下の記事をご覧ください。

自社開発のメリットは?SIer・SESよりも自社開発企業に入るべきなのか徹底解説

受託開発のキャリア面のメリット・デメリット

さて、受託開発のキャリアを歩むうえで、メリットデメリットについて解説していきたいと思います。

受託開発のメリット

受託開発をキャリアに選ぶメリットとしては、以下の通りです。

  1. 様々な現場で経験を詰めるので、いろいろな開発経験を詰むことができる
  2. SESと比較して、育成の仕組みが整っていることが多い
  3. 自社開発と比較すると、入社難易度が低い

様々な現場で経験を詰めるので、いろいろな開発経験を詰むことができる

一般的に受託開発の場合、複数のクライアントから仕事を受注し、働くことになります。

自社開発の企業の場合は、自社のサービスで使う技術以外は、基本的には触れることはありません。

一方で、受託開発の場合は複数の異なる技術に触れることが比較的容易です。

知人の受託開発のエンジニアは、例えば「最近はAndroidアプリの開発を行っていたけど、最近はLaravelの案件をやっています!」と言っていて、プロジェクトごとに複数の言語を学べるのが大きな魅力となります。

受託開発は、SESと比較して、育成の仕組みが整っていることが多い

受託開発は、SESと比較して、育成の仕組みが整っていることが多いです。

これは、人材をクライアントに派遣するだけのビジネスではなくて、顧客の成果物にコミットする必要があるので、人材育成が非常に重要になってくるからです。

受託開発は、自社開発と比較して、入社難易度が低い

また、受託開発は自社開発と比較して入社難易度が低い傾向にあります。

入社難易度のイメージとしては、大手メガベンチャーの自社開発 > 10-20名規模の自社開発 > 受託開発 > SESといった感じになります。

受託開発をキャリアとして選ぶデメリット:受託開発がつらいと呼ばれる理由

次に受託開発をキャリアとして選ぶデメリットについて解説します。

デメリットは、以下の通りです。

  1. 下請けだと、給与が低くなりがち
  2. 営業が一番力を持っているので、無理な工数で作成せざるを得ないときがある
  3. 要件定義通りに実装するので、設計の経験がつみにくい
  4. セキュリティの都合から、客先に常駐することもある
  5. 納品して終わりなので、顧客が利用することをイメージできない
  6. 働き方がフレキシブルではない可能性がある
  7. 多重請負の問題
  8. 設計の問題
  9. 設計に携われない可能性がある

下請けだと、給与が低くなりがち

多重請負構造の底辺の受託開発企業に就職してしまうと、給与は低くなりがちです。

年収も250万~350万程度にとどまり、受注する案件も中抜きが多いので、売上も少ないです。

そのため、何年働いても昇級がない場合もあります。

受託開発企業でこれを回避するには、直請け(一次請け、元請け)の企業と取引している企業に就職することが重要になります。

営業が一番力を持っていると、無理な工数で作成せざるを得ないときがある

受託開発の企業で、案件をとってくる営業が力を持っている場合、どうしても無理な工数で案件を受注してくることがあります。

なぜなら、営業はエンジニアリングを理解していないので、クライアントの要望をそのまま引き受けてしまうからです。

無理な工数で案件を受注してしまうと、開発者の労働時間が膨大になり、非常にストレスフルな環境下で仕事をすることになります。

これを回避するためには、社長がエンジニアリングに造詣が深く、無理なスケジュールを引かない社風の受託開発企業に就職することがオススメです。

セキュリティの都合から、客先に常駐することもある

クライアントがどうしても外部でアプリケーションの開発をセキュリティ的な都合で許してくれない場合、客先に常駐することがあります。

これは例えば、転職当初は東京の新宿だけで働くと思っていたのに、ころころと遠隔の地域に仕事を任せられる..といったことも発生します。

これを避けるためには、求人の内容を確認し、以下の内容が含まれていないか確認してみてください。

  • 勤務地はクライアント先によります

納品して終わりなので、顧客が利用することをイメージできない

受託開発の場合は、基本的にクライアントの要望をヒアリングして、そのとおりに設計、開発を行っていきます。

ただし、実際に使っているユーザーの様子などが受託開発を行っている場合見えるわけではないので、「ユーザーの意見を聞いて改善する」といったことが非常にやりにくいのが受託開発の特徴です。

これを避けるためには、新規から保守まで一貫した受託開発を行っている企業で働くことがおすすめです。

働き方がフレキシブルではない可能性がある

受託開発の場合、クライアントが大きめな法人になることが多いです。

また、比較的にレガシー(古い)企業だと、クライアントが来訪したことを考慮して、スーツをきなければならなかったりします。

設計と開発が分離しているので、両方の実務経験を得ることが難しい

受託開発の場合、設計と開発を別々の企業が行っていることもあり、両方の実務経験を得ることが比較的難しい傾向にあります。

受託開発企業で働く将来性は?

受託開発企業の中には、しっかりとした実務経験を積める企業もあり、そのような企業で働く場合は様々なスキルセットを身に付けることで転職市場価値を上げていくことは可能です。年収も、昇給すれば400万円~となり、将来性も十分にあります。

ただし、孫請けの場合はスキルがどんなに高くても受注する案件の価格が低い場合があるので、スキルと年収が比例しない場合があります。

そのような場合は、転職することで年収を上げることは可能です。

また、現在設計と開発ができるエンジニアは非常に希少なので、どの企業も欲しがる人材ではありますので、将来性は十分にあるといってもよいでしょう。

ただし、設計とプログラミングの両方を身に付けていき、自社開発の技術顧問やCTO,VPoEなどの役職に就いた方が、エンジニアとしては年収が上がります。そのため、比較的入社難易度の低い受託開発企業で経験を積んでから、自社開発企業に転職するキャリアパスが非常におすすめできます。

自社開発のメリットは?SIer・SESよりも自社開発企業に入るべきなのか徹底解説

受託開発企業に未経験から転職するには?

未経験から受託開発企業に転職するには、最低限求められるプログラミングスキルを身に付けたうえで、ポートフォリオを制作する必要があります。

準備の方法としては、以下のステップとなります。

  1. 基礎的なプログラミングを身に付ける
  2. チュートリアルを利用して実際にアプリを開発してみる
  3. 自分自身のオリジナルアプリを開発してみる
  4. ポートフォリオを作成する
  5. 転職活動を進める

基本的に受託開発の企業では、Web系であればPHP, Javaあたりを学習しておくとよいかと思います。ネイティブアプリであれば、Kotlin, Swiftなどを学習しておきましょう。

エンジニアに未経験から転職するためにやるべき3ステップ【知らないと後悔します】
エンジニアのポートフォリオの作り方【テンプレ公開】

企業の選び方としては、求人を確認してなるべく

  • 多重請負構造ではない
  • 設計と開発を積める

という企業を選びましょう。見分け方としては、企業の取引先を見てみてください。孫請けを行っている場合、取引している企業がほとんどSIerかSESのはずです。

受託開発企業から独立してフリーランスになれるのか?

受託開発企業から独立してフリーランスになれるかというと、これも企業によります。

まず、フリーランスになる、というのは、市場が多く求めている技術セットがどんなものかを把握しておくことが重要です。

たとえば、CobolやJava案件など、比較的レガシーな言語を扱っている企業はレガシーな企業が多く、客先常駐が前提になることが多いです。

一方で、Ruby, Scala, Goなど、スタートアップで利用されていたり、比較的最近注目されている言語に関しては、スタートアップ的な自由な働き方を行えることが多いです。

ですので、

  • 働き方にフレキシビリティがある
  • 需要が十分にある

といった技術セットが扱える受託開発企業に転職すれば、フリーランスとして十分働くことは可能かと思います。

フリーランスの案件をしっかりと転職する前、転職後に読んでおき、市場の流れをしっかりと把握しておくことが重要です。

ITフリーランスになるには?職種や案件獲得、年収まで徹底解説
【必見】Midworks(ミッドワークス)の評判・口コミは?

最後に

受託開発企業への転職や、受託開発企業からの転職を検討している場合に重要なのが、適切に業界構造を把握しておくことです。

これがないまま転職すると、もともと期待していたこととずれることがあります。

関連記事

DAI
IT業界への転職を検討している方は、こちらの記事もおすすめです!
【2021年最新】IT業界に強い転職エージェントおすすめ厳選13選