paiza開発日誌

IT/Webエンジニア向け総合求人・学習サービス「paiza」(https://paiza.jp ギノ株式会社)の開発者が開発の事、プログラミングネタ、ITエンジニアの転職などについて書いています。

受託開発と自社開発、両方経験して分かった自社開発のやりがいと大変さ

f:id:paiza:20131213132137j:plain
Photo by Virginia State Parks
f:id:paiza:20180910132940p:plainこんにちは。倉内です。

現在、受託開発の企業で働いている方の中には「いつか自社サービスの企業へ転職したい…」と考えている方もいらっしゃると思います。

特に「キャリアパスがマネジメントしかないため転職して開発業務をメインにやりたい」「もっと新しい技術を使ってスピーディーに開発をおこないたい」など開発スキルを磨きたいという思いがある方にとって、自社開発の企業は魅力的に映るかもしれません。

私も以前はSIerに勤めていたので、お客さま(開発依頼元)の思いつきに振り回されなくていいし、労働環境がよくて生き生き働いている人が多いイメージもあり「自社開発っていいなぁ」となんとなく憧れを持っていました。

しかし、「自社開発へ行けばハッピーになれる!」と期待を膨らませていると、自社開発ならではの大変さに直面したときに「こんなはずでは…」とギャップを感じて悩んでしまう可能性があります。

そこで今回は受託開発と自社開発の違いを押さえながら、自社開発で仕事をする上でのやりがいと大変さをお伝えしていきます。

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

f:id:paiza:20190606130111p:plain
上図はイメージのため、すべての企業がこのとおりではありません。

受託開発では他の会社から要望を受けてシステムを作り決められた期日までに納品しますが、自社サービス開発では市場のニーズをつかんでアイデア出しから企画、システム開発を経てリリースをするというやり方で仕事をしています。

自社サービスの開発では、競合が多い領域では特にアイデア出しからリリースするまでのスピードを重視し、リリース後もユーザーの反応を見てサービスをブラッシュアップしていくのが普通です。

不具合を除いて、納品後に自主的にシステムの改修を実施することはない受託開発とはかなり違いがあることが分かります。

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

自社開発ならではのやりがいとは

自由にアイデアを出し合いサービスの企画から携わることができる

受託の場合「こういうものを作ってほしい」というお客さまからの要求があるため、一からアイデアを自由に出すことはあまりありません。

入札案件などで提案をすることもありますが、面白さや遊び心は入れられませんし(paizaのプログラミングゲーム『エンジニアが死滅シタ世界』のネーミングとか結構衝撃でした)、「過去にこれでうまくいった経験があるから似たような感じで」みたいなのが多かったです。確実に納期に間に合わせるためには当然ですが、堅実な方法が採用されることが多いですね。

なのでどうやったら面白くなるか・どんな価値提供をユーザーにするかを追求したり、多少冒険したりできるのが自社開発の楽しさかなと思います。

絶対的な納期はないのでスケジュールの調整がしやすい

受託はゴールがはっきりしているとも言えますが、スタート時から「このスケジュールはきつい…絶対いずれ残業と休出祭りになる…」というのが見えている地雷プロジェクトに投入されることもあります。

自社サービス開発でももちろんサービスのリリース日はあらかじめ決まっていますが、受託のように納期ありきではなく、作っていく途中で問題があったり改良点が出てきたりした場合はある程度の融通がきく場合が多いです。

ユーザーの反応をシステムに反映し改良できる

自社開発では不特定多数の一般ユーザーを利用対象とすることも多いので(企業向けサービスもあるのですべてがそうではないですが)、リリースしたサービスがヒットしたときは話題になりますし、SNSなどで感想をつぶやいてくれる人もいます。

実際にユーザーの反応を見たときは、こんなにたくさんの人が利用してくれているのかと驚きましたし、ユーザーを近くに感じてとてもうれしかったです。

そういったユーザーの反応を加味して、「次はここをこう変えたほうがいい」と改善していけるのは自社サービスならではだなと思います。

受託でもお客さまから追加依頼があり反映することはありますが、「こうしたほうがよくなるのに…」と思っても、追加で費用をもらわない限り手は出しません。

受託の場合は基本的に開発費などの費用を抑えることでしか利益率を上げられないので、もどかしく感じることがあります。

自社開発ならではの大変さとは

ここまで読んで「あれ?自社サービスっていいところしかなくない?」と思ったかもしれませんが…ここからは大変な部分を挙げていきます。

開発手法が異なるため戸惑いを感じる

受託開発では多くの場合ウォーターフォール型と呼ばれる1つの工程を順に完了させていく開発手法を採用しています。

これは受託開発では納期が決まっており、仕様が途中で変更されることはない(ないはずなんです)ため、綿密な計画を立てて実行していくことが可能だからです。

一方、自社開発ではアジャイルと呼ばれる開発手法を採用することが多いです。アジャイル開発の代表的な方法としてはスクラムがあります。

アジャイル開発では小規模な機能の開発・リリースをスピーディーに繰り返して、最終的なシステムの完成を目指します。ウォーターフォール型と比べ、全体像の把握や進捗の管理が難しいため慣れるまでは大変だと感じるかもしれません。

サービスをリリースしても確実に費用回収できるとは限らない

サービスをヒットさせて、軌道に乗せて、継続的に利益を出すのは本当に大変です。

脅すわけではないですが、スタートアップ企業の9割は失敗すると言われており、市場のニーズをつかみ価値のあるサービスを提供することがいかに難しいかが分かります。

(参考)2018年に終了したスタートアップサービスとその失敗理由

受託もプロジェクトが炎上して赤字になることもありますが、基本的にはちゃんと作って納品すればお金は払ってもらえるので、開発してリリースしたけど費用がまったく回収できないということはありません。

自社開発ではリリースしたサービスがヒットせずに終わってしまうと、開発やプロモーションにかけた費用を回収できません。そのため自社サービスが軌道に乗るまで(安定して収益を得られるまで)受託開発の案件と並行する企業もあります。

サービスが誰からも必要とされない可能性がある

1つ前の項目と似ていますが、受託は依頼があってシステム開発をしているので、絶対に必要とされるシステムであると言えます。

よっぽど酷いものでなければお客さまに感謝されますし、「Excelで何日もかけて手作業でやってたのがシステム出力できるようになって本当に助かった」なんて言われたら非常にうれしいです。「つらかったけどやりきってよかった」と思ったことも何度もあります。

自社サービスはどれだけ時間とお金をかけて頑張って作ったとしても、ニーズがなければ見向きもされないということがありえます。そこはかなりシビアですね。

ITエンジニアとして働く上で「自分が作りたいと思ったものを作りたい」と思うか、「人から必要とされるものを作りたい」と思うかで自社と受託のどちらが自分に合いそうか考えてみるのもいいかもしれません。

ゴールや正解が示されないため常に自分たちで決める必要がある

もちろん闇雲ではなく、過去の実績やデータなどいろいろ加味して決めていきますが、「当たるか当たらないか」「やってみたらユーザーがどう感じるか・どう反応するか」を常に予想・予測して、自分たちですべて決定していかないといけないのは大変だなと感じます。

受託はお客さまと決めた要件が正解です。こちらから提案やお願いすることはあっても「お客さまの判断」以上のものはありません。

自社サービスの開発は自由度が高いと同時に決定に対する責任が重いなと感じます。

まとめ

受託と自社の仕事のやり方の違いを見ながら、自社サービス開発のやりがいと大変さをお伝えしてきました。

私はSIer時代は公共性の高い受託開発の仕事にやりがいを感じていましたし、転職してpaizaに携わって自社のサービスを作っていく面白さも知りました。

受託開発・自社開発と一口に言ってもさまざまな企業があり、上で挙げた内容がすべての企業にあてはまるわけではありません。転職活動において気になることがある場合は、カジュアル面談を利用して直接聞いてみるとよいでしょう。

カジュアル面談は、一方的に質問をされるだけの面接ではなく、仕事内容や将来的なキャリアパス、必要なスキルなどについて詳しく質問することもできますので、企業や求人の情報収集にも最適です。「paizaのカジュアル面談」について詳しくはこちら

どちらにしてもいい点・悪い点というのは必ずあるので、「自社開発の企業に転職すれば幸せになれる!」と夢を見ていると、転職活動がうまくいかなかったり、転職してもギャップに悩んだりすることになってしまいます。

結局は自分がどんなキャリアを築いていきたいかをしっかり考えて働く場所を選ぶことが大切です。


企業選びの軸の整理や、どんな企業が自分に合うのかわからない…といったときは、paiza転職もお手伝いしますので、ぜひpaiza転職運営事務局の担当者にご相談ください。

またpaiza転職では、求人票を開発ジャンルや使用言語、給与額などだけでなく、イヤホンOK、裁量労働、副業OK、一部在宅勤務可、原則定時退社、時短勤務可、スキル研修が充実…などなど、さまざまな基準や条件で検索することができます。

paiza転職について詳しくはこちら
paiza転職





paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。

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

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

paizaのスキルチェック





※このブログで紹介しているキャンペーンやイベント、およびサイト内の情報については、すべて記事公開時の情報となります。閲覧されたタイミングによっては状況が変わっている場合もございますのでご了承ください。

ITプログラマー・エンジニア転職・就活・学習のpaiza

プログラミング入門講座|paizaラーニング

PHP入門編Ruby入門編Python入門編Java入門編JavaScript入門編C言語入門編C#入門編アルゴリズム入門編AI機械学習入門

エンジニアのためのプログラミング転職サイト|paiza転職

プログラミング スキルチェックエンジニア求人一覧

未経験からエンジニアを目指す人の転職サイト|EN:TRY

プログラミング スキルチェックエンジニア未経験可求人一覧

エンジニアを目指す学生の就活サイト|paiza新卒

プログラミング スキルチェックエンジニア求人一覧

ブラウザを開くだけで エディタ、Webサーバ、DB等の開発環境が整う|PaizaCloud