【ITエンジニア転職】自社開発と受託開発の特徴の違い【現役エンジニアが解説】

PROGRAM

自社開発と受託開発の特徴の違いを知りたい方に。

この記事を読まれている方は、

  • ITエンジニアの自社開発の特徴を知りたい
  • ITエンジニアの受託開発の特徴を知りたい
  • 社内でエンジニアとして働く方法を知りたい

おそらくこのように考えている方が多いと思います。

この記事を書いている私は、
プログラミング未経験から転職を果たした現役のWeb系エンジニアです。
エンジニア歴は3年ですが、本業とは別にフリーランスの副業で月10万円ほど、多いときで20万円ほどの収入があります。

この記事では、現役のエンジニアが、自社開発と受託開発のそれぞれの特徴を解説しつつ、社内でエンジニアとして働く方法をまとめています。

ITエンジニアの自社開発の特徴

ITエンジニアの自社開発の特徴

ITエンジニアで社内で働く方法としては、主に自社開発と受託開発の2種類があります。
私は現在社内開発の部署に所属しており、いずれも経験しているので実際の体験談から語っていきたいと思います。
まずは、自社開発の特徴について解説していきます。

ヒット作が出ないと厳しい

自社開発とは、自社でWebサービスやパッケージ製品などのアプリケーション、ゲームなどを開発・展開することを指します。

基本的には、多少でもヒット作を持たないと、開発費用の回収ができないことが多いので、こうした強みがない中小企業などでは、受託開発などの他の事業もあわせて行っている企業が多いです。

また、大企業であっても、ミクシィのようにSNSサイトであるmixiを運営しつつ、mixiがオワコンになってきたので、モンスターストライクなどのゲーム事業も一緒に展開していますよね。

そのため、ヒット作も1つではなかなか厳しく採算が合わないことが多いので、自社開発事業は研究開発の一環として行っている企業さえもあります。

費用をなるべく削減するために、企画力(発想力)やスピード感が求められる仕事が、自社開発の仕事となってきます。

開発スキルより企画スキル

自社開発では、多くの人に使ってもらう必要があるため、ヒット作を出すことが必要です。

そのためには、各エンジニアに求められるものは、開発スキルもさることながら、企画スキルも当然必要になってきます。

企画スキルは、上流工程には入るものの、クライアントワーク(受注ありきの仕事)をしているSIerではなかなか身につけることのできないスキルであり、こうした自社開発企業や一般企業の情報システム部などで身につけられるスキルになります。

もしこれらの企業以外で、企画スキルを身につけようと思ったら、転職が必要になりますが、転職以外の方法では、なるべく上流工程に近いところで働くことによって、こういった企画を目にする機会が多くなりますので、意識的に仕事をしてみると良いと思います。

Webプログラミングが多い

モダンな自社開発をしている企業では、一部を除きWeb系のプログラミングで開発しているところが多いと思います。

その理由は、Webサービスが最も売り出しやすいというのもありますし、不特定多数の人に見てもらいやすいということもあるからです。

そして、スタートアップ企業に多いのは、MVCフレームワークを使った高速開発です。

MVCフレームワークとは、PHPのLaravelやRubyのRails、PythonのDjangoなどを指します。
これらのフレームワークの言語はちょうど、スクリプト言語となっており、手動によるコンパイルが不要であったり、コーディングのしやすさもあったりするので、学習難易度も低く、要員を集められやすいメリットがあります。

プログラミングスキルはそこそこに、企画スキルなどを磨いていくことに重点を置いているのが自社開発の特徴です。

ITエンジニアの受託開発の特徴

ITエンジニアの受託開発の特徴

次に、受託開発の特徴を解説していきます。

クライアントワーク

受託開発はクライアントワークと呼ばれる受注ありきの仕事になります。

例えば、「業務効率化のために○○をシステム化したい」や「ユーザのニーズでWebシステムを開発してほしい」などといった依頼があって、初めて開発の仕事がスタートします。

そのため、景気に左右されやすく、様々な業種のクライアントを獲得したり、フルスタックで何でもできる開発者を雇ったりすることが事業の安定化のために求められます。

最近は受託開発よりSESの方が多いので、受託開発事業だけをやっている企業は少なく、SES事業も兼ねてやっているところが多いと思います。(むしろSESの方が儲かる)

SESとは違って、開発の各工程のスキルが身につくのが、受注開発の良いところだと思います。未経験者の場合、最初のステップとして受託開発は間違いなく良い入口だと思います。

上流工程スキル必須

開発というのは、主に「要件定義」「設計」「製作」「検証」の4つの工程がありますが、上流工程とは大体「要件定義」と「設計」の二つのことを指します。

受託開発では、実際にクライアントの方と打ち合わせを行い、システム化の背景や業務フローなどをヒアリングし、必要な機能や画面のイメージなどをまとめていくところから始めます。これが要件定義になります。

設計では、各画面のイメージや各機能の処理などを細かく定義していく必要があります。

SESでは製作(プログラミング部分)だけしかやらせてもらえない可能性も高いわけですが、受託開発ではこのように上流工程という、業務をシステムに落とし込むといった高度なスキルが必要になってくるうえ、コミュニケーション能力も求められるので、エンジニアとして良い成長ができる仕事であることは間違いないです。

プログラミング必須

受託開発の場合は上流工程のスキルが必要という話をしましたが、当然製作(プログラミング)のスキルも必要になります。

未経験者の場合は、最初はプログラミングだけを任されることも多く、この場合は、上司の指示どおりに処理を実装していく仕事がメインになります。

ここからは人によって個人差があるのですが、次第に上流工程へとシフトしていくことで、昇進をしたり、給料が上がったりします。

また、上流工程スキルを経験しておくと、様々な企業から引く手あまたになりますので、転職をしたり、独立してフリーランスエンジニアになったりという方も多くなってきます。

いずれにしても、プログラミングの工程は誰もが通る道なので、必ず仕事をする前にスキルを身につけておく必要があります。

社内でエンジニアとして働く方法

社内でエンジニアとして働く方法

自社開発と受託開発など社内の開発の特徴がわかりましたので、
最後に、社内でエンジニアとして働く方法をまとめています。

①Webプログラミング学習

自社開発の場合は開発内容からしてWebプログラミングが多いという話をしましたが、受託開発の場合も最近の流れとしてWebが多くなってきています。

理由としては、20~30年前からホストからサーバへの移行が進んできましたし、プログラムに修正をしたいときもサーバのファイルを更新すれば済むのでメンテナンス性も高く、大企業などにウケが良いからです。クラウドに関しても同じことですね。

したがって、社内で開発を行っていきたい場合には、Webプログラミングを学習しておくと良いと思います。

既にエンジニアの方であれば、独学で行けてしまうかもしれませんが、VBで業務システムを開発している同僚の例などではWebの仕組みの理解に苦労していたので、難しいようであれば、既にエンジニアの方であっても、プログラミングスクールを利用することも選択肢の一つだと思います。

自社開発や受託開発だけでなく、SESにしても、現在案件の多くがWeb系になってきていますので、別に社内で開発しなかったとしても、Web系に移っておいた方が、仕事のもらいやすさから言えば、望ましいと思います。

プログラミングスクールに関しては、別の記事で解説をしていますので、興味があればご覧ください。

②実績作りもしくは実務経験

プログラミングを学習しただけでは、仕事で使い物になるかはわからないですよね。

実際に開発をしてみないと、プログラミングの感覚も身につきにくいですし、アルゴリズムを考えることにも不慣れでしょう。

したがって、今エンジニア以外の仕事をしている方であれば、現職の業務で抱えている課題をプログラミングを通じて、例えば業務を効率化したり、Webサイトを立ち上げてみたりなどといった実績を作られると良いと思います。業務以外でも、プライベートでWebサービスを開発して展開するというのもありでしょう。

また、現在エンジニアの方に関しては、このまま実務経験を積み、できれば上流工程寄りの仕事をするように心がけたり、案件を選んだりすることが望ましいと思います。

これらの実績や実務経験が身につくことで、社内開発を行っている企業からも魅力的な人材として映る可能性大なので、ぜひ実際に手を動かしてアウトプットをしてみて下さい。

③上流工程の経験をしておく

中小企業ではなく、より好条件な大企業の求人案件(社内SEなど)を狙うのであれば、上流工程の経験を最低でも3年近く経験するようにしましょう。

これは感覚的に3年と言っているのではなく、実際の求人案件が3年だったり5年だったりの経験年数を求めていることが多いからです。

お金のない中小企業ほど人材を育てないといけなく、資金力のある大企業ほど既に育った人材を雇うという、貧富の差が激しくなる構造ではあるのですが、もし良い案件を狙いに行くのであれば、中小企業(スタートアップ企業)などで下積みを積みつつ、上流工程の仕事をこなしていくと良いと思います。