ども!だいす(@dice_motosensei)です!
今回はこんな疑問に答えていきます。
本記事の内容
- 自社開発のデメリット・メリット
- 受託開発のデメリット・メリット
- ちなみにSESはどうなのか
エンジニア転職するとなると、必ず悩むのが「自社開発企業にするか、受託開発企業にするか」
いい噂をよく耳にするのは自社開発。
でも自社開発は採用厳しそうだし、未経験からだと難しいかも…
いやいやちょっと待って。
それぞれの業務の特徴を分かっておかないと、あなたに合わないかもしれませんよ。
いざ入社したあとに、「こんな仕事だったなんて…」と後悔してもあとの祭り。
そこで本記事では、自社開発と受託開発のそれぞれのデメリットとメリットを解説。
本記事を読んで、それぞれの仕事の特徴をふまえてどっちが自分に向いていそうか考えてみてください。
記事の信頼性
筆者は、2019年3月に小学校教員を退職。
その後、2019年4月からおよそ10週間プログラミングスクールに通い、同年8月にエンジニア転職を果たしました。
筆者が勤める会社は、自社開発と受託開発のハイブリッド。
自社商品としてパッケージシステムをもちつつ、顧客の事情に合わせてカスタマイズもしています。
だから、自社開発と受託開発のそれぞれの特徴が分かっています。
自社開発と受託開発、それぞれのデメリット・メリット
自社開発 | 受託開発 | |
---|---|---|
デメリット | ・0からの開発経験は積みづらい | ・納期がある ・自分が何を作っているのか、全体像が見えにくい |
メリット | ・納期がない ・業界のスペシャリストになれる ・サービスをブラッシュアップしていくワクワク |
・様々な案件(業界)を経験できる ・システムを0から作り上げていくワクワク |
1つずつ解説していきます。
そもそも自社開発、受託開発とは
自社開発とは
自分たちでサービスを作って世の中にリリースすること。
以下、代表的な企業です。
- 楽天
- LINE
- メルカリ
受託開発とは
一方で受託開発とは、企業などから「こんなシステム作って」と依頼されて作ること。
受託開発企業は、「Systems Integrator(システムインテグレーター)」とか「SIer(エスアイアー)」なんて呼ばれていますね。
自社開発と受託開発はどっちがいいかの結論「人による」
次章以降で自社開発と受託開発、それぞれのデメリットとメリットを解説していきますが、それぞれの働き方には特徴があります。
そして、どちらの働き方があなたに合っているかはあなたにしか分かりません。
どちらを選んだ方が、自分の良さを生かして働けそうか考えてみてください。
自社開発のデメリット・メリット
- 0からの開発経験は積みづらい
- 納期がない
- 業界のスペシャリストになれる
- サービスをブラッシュアップしていくワクワク
自社開発のデメリット
0からの開発経験は積みづらい
自社開発企業の場合、すでにサービスが存在しています。
そのサービスをブラッシュアップし、バージョンアップさせていくことになります。
新たなサービスの企画開発チームにでも入らない限り、0からの開発を経験することはできないでしょう。
自社開発のメリット
納期がない
基本的に「この日までに絶対完成させないといけない」という期限がない、あるいはゆるいことが多いです。
したがって、働い方もホワイトになりやすい。
絶対的な締切りがないというのは、精神的にラクですねね。
業界のスペシャリストになれる
基本的には、特定の業界でサービスを提供しています。
- 楽天 → 小売り(EC)
- LINE → SNS
- 食べログ → 飲食
つまり、たずさわる業界に非常に詳しくなっていきます。
せまく深くとぎすましてくイメージですね。
将来的にまた転職を考えたときに、「詳しい業界がある」というのは大きな強みですね。
「IT×〇〇」というキャリアが作りやすくなりますから。
ただし、具体例で出したような大企業になると、サービスを横展開していくケースが多いです。
楽天なんてその典型ですね。
金融や通信等にも事業を広げ、もはやただのEC企業ではないですから。
サービスをブラッシュアップしていくワクワク
一度できあがっているサービスでも、「もっとこうしたい」は無限に生まれてきます。
利用者の声や時代の流れによって、サービスも進化させていくわけです。
利用者の利便性が上がる喜びや、最新の技術を取り入れる楽しさなど、サービスをレベルアップさせていくこの過程がおもしろい。
RPGで主人公のレベルが上がって強くなっていくあのワクワク感ですね。
自社開発に向いている人
以上をふまえると、自社開発には下記のような人が向いています。
- 既存サービスをより良くするためのアイディが豊富
- すでに存在するものを作り変えていくことが楽しい
- 特定の業界のスペシャリストになりたい
受託開発のデメリット・メリット
- 納期がある
- 自分が何を作っているのか、全体像が見えにくい
- 様々な案件(業界)を経験できる
- システムを0から作り上げていくワクワク
受託開発のデメリット
納期がある
自社開発との決定的な違いです。
基本的に「納期は絶対」なので、納期直前になるとオーバーワークになることもしばしば。
たしかにスケジュール通りに開発が進めばまったく問題なし。
ただ、そうそううまくはいかないのがシステム開発。
開発が予定通りに進まない原因としては以下のようなものがあります。
- 自分の力不足
- お客さんに振り回される
- そもそもスケジュールがタイト
【自分の力不足】
開発スキルが低かったり、仕様の整理が甘かったりすることで予定工数(作業時間)より多くかかってしまうパターン。
ここに関しては自分でコントロールできるところなので、経験を積むことで改善されていきます。
【お客さんに振り回される】
開発終盤になって、「やっぱり仕様を変えて」なんて言われた日にゃたまったもんじゃありません。
それでいて「納期はずらせない」とか言ってくるわけですよ。
こういったいわばお客さんのわがままを全て受け入れてしまうと、ブラックな労働環境の出来上がり。
こういうお客さんの要望に対して、どんなスタンスで対応するかは会社によるでしょう。
入社前に見極められればいいですが、おそらくそれは難しいです。
自分でコントロールできないことなだけにストレスですね。
【そもそもスケジュールがタイト】
明らかに工数(作業時間)が足りない、開発経験が浅いのにベテランと同じ工数(作業時間)で計算されている。
こういう無理のあるマネジメントをされると、まず予定通りに進みません。
結果、オーバーワークすることになります。
これはPM(プロジェクトマネージャー)等、スケジューリングする人の腕によります。
こちらもなかなか自分でコントロールできるものではありません。
自分が何を作っているのか、全体像が見えにくい
プロジェクトが大規模になるほど、自分が何の開発をしているのか見えにくくなります。
また、下請けの会社であれば、二次受け、三次受けと深くなればなるほど同じことが言えます。
そうなると、ものづくりの醍醐味は半減しますね。
受託開発のメリット
様々な案件(業界)を経験できる
プロジェクトごとに、たずさわる業界が変わっていきます。
開発経験を積めば積むほど、様々な業界の内情を知る機会をもつことができます。
また、多くの業界の案件をこなすことで、開発実績が幅広くなるというメリットも。
ゆくゆく転職するときにも、そこが強みになる可能性はあります。
システムを0から作り上げていくワクワク
自社開発と違い、受注したシステムは0ベースで作り上げていきます。
「無」から作り上げていくところに楽しさがありますね。
他の開発者が担当している部分とドッキングして、全体が完成していくところもおもしろいポイントかなと。
受託開発に向いている人
以上をふまえると、受託開発には下記のような人が向いています。
- 様々な業界の案件に幅広くたずさわりたい
- 0から作り上げていくことに楽しさを感じる
ちなみにSESは?
SESというのは、平たく言うと派遣エンジニアのこと。
プロジェクトに派遣され、客先に常駐して開発を進めます。
「SESは選択肢としてどうなの?」ってところについてもふれておきます。
結論としてはやめたほうがいい
筆者も転職活動の際にいろいろと調べましたが、ブログやSNS等でSESがオススメされることはまずありませんでした。
(例外として、転職エージェントの中にはすすめてくるケースがありましたが)
SESのメリット
強いてSESのメリットを挙げるなら、「様々な案件(業界)や技術を経験できる可能性がある」ということです。
うまくいけば、かなりオールマイティーな開発者になれるかも。
SESのデメリット
- 案件ガチャになる
- 働く環境が不安定
案件ガチャになる
これが、SESはやめたほうがいいと言われる最も大きな理由です。
案件ガチャ、つまりどんな案件に派遣されるかはふたを開けないと分からないということ。
- 毎回違う言語で開発しなければならないかもしれない
- 下請けの下請けの下請け…みたいな案件になるかもしれない
- 誰でもできる、まったくスキルが上がらない案件かもしれない
となると、「時間と経験はある程度積んでいるのに、全然スキルが身に付いていない」なんてことになりかねません。
働く環境が不安定
派遣されるプロジェクトごとにあらゆるものが変わります。
- 勤務地
- あつかう技術
- 一緒に働くメンバー、上司
あなたが異動や引っ越しを経験しているなら分かると思います。
環境が変わるというのは非常にストレス。
プロジェクトの期間にもよりますが、そういった変化が年に何度もあると心身が疲れてしまいますね。
おわりに
おさらいです。
自社開発 | 受託開発 | |
---|---|---|
デメリット | ・0からの開発経験は積みづらい | ・納期がある ・自分が何を作っているのか、全体像が見えにくい |
メリット | ・納期がない ・業界のスペシャリストになれる ・サービスをブラッシュアップしていくワクワク |
・様々な案件(業界)を経験できる ・システムを0から作り上げていくワクワク |
それぞれの働き方を理解したうえで、どんな環境で働きたいか、どんなスキルを伸ばしたいかをふまえ、あなたに合った会社を選ぶようにしてください。