未経験エンジニアの道しるべ

新聞配達アルバイトの借金生活から2ヶ月で上場企業へエンジニア転職した元営業マン

Webエンジニアの受託開発・自社開発について

f:id:h2meo:20190607105909j:plain

 

こんにちは、あだちマン(@h2tomohiroo)です。

僕は、未経験からWeb系の上場企業に転職し、企業内で受託開発と自社開発の両方を経験しました。

受託開発が8割で、自社開発が2割の割合だったので、ほぼ受託開発の経験ですが、 どちらも経験した上で、未経験で就職する時のそれぞれの良い点、微妙な点をご紹介したいと思います。

受託開発の良い点

1社で複数企業・複数案件に携わることができる

受託開発の良いのは、1社で働きながら、色々な案件に携わることができることだと思います。

ある程度数ヶ月〜数年単位で1つの企業様の案件を扱うこともあれば、同時並行で複数企業の案件開発に携わることもあります。

特に後者の用に複数企業の案件に携わることができるのは受託開発の面白みで、

1つの企業で、色々なサービスの開発や様々な業種種のお客様と仕事ができるのは、未経験からエンジニアを目指す人にとって、良い経験だと思います。

未経験エンジニアは、多くの人が自社開発企業を希望しますが、自社開発の企業は採用のハードルが非常に高いです。

全員が自社開発企業に就職できるわけではないので、他の選択肢として受託会社は良い選択だと思っています。

自社開発の会社が良いのではなく、自分がどんな経験をつめるのか、どんなスキルを得られるのか、が未経験からエンジニア転職する時の会社選びでは重要です。

数多くの経験を積むことができる

あと、受託開発は単純に未経験者が場数を踏むには最適だと個人的には思っています。

受託開発の案件の需要は多く、案件はどんどんあると思います。

軽微な文言の修正やちょっとした機能追加などから初めて、徐々に大きな機能・プロジェクトを任せてもらうステップを踏みやすいと思います。(実際に僕がそうでした。)

クライアントとの仕事の進め方を学べる

受託開発の案件は、開発を依頼してくれるクライアントさんと仕事を進めます。

クライアントさんの実現したいことをヒアリングし、機能を考えて提案し、実装する、という一連の流れは、エンジニアとしてというよりも、お客さんとの仕事の進め方を学べると思います。

そして、クライアントの多くは、開発の知識があるわけではないので、開発について何も知識がない人に分かってもらえるように提案や説明することは、自分が十分に理解していないとできないことなので、自分の成長にも繋がります。

受託開発の微妙な点

あまり興味のないサービスの開発をすること

受託開発で個人的に微妙だと感じたのは、携わるサービスへの関心があまり持てなかったことでした。

開発の経験が積めたことは良かったですが、やはり自分が良いなと思えるサービスに携わりたいと感じました。

お客さん都合でイケてない仕様・機能の実装

また、お客さんの希望する仕様で開発するので、あまりイケてない仕様や機能であっても、開発しないといけないケースがありました。

自分の実力、提案力不足ですが、最終判断はお客さんである企業に判断してもらうことになるので、 なかなか思うように開発に取りかかれないなどのことがありました。

案件開発のスピード感が生まれにく

お客さんに依存するビジネスなので、お客さんから発注してもらえないと開発が進みません。

自分が受託開発をしている時は、お客さんが大企業だったこともあり、発注していただけるまでのお客さん側の社内承認に時間がかかり、なかなか実装にとりかかれないことが多々ありました。

その割には、緊急案件・緊急対応を依頼される場合もあり、やはりお客さん都合の仕事になるのでストレスを感じることも多かったです。

自社開発の良い点

意思決定が社内で完結できる

自社開発で良いのは、機能や仕様の意思決定が社内で完結できることだと思います。

受託開発をしていると、お客さんの検討、連絡待ちや、承認待ちのことが多く、イライラすることも多かったですが、自社開発は、機能や仕様に関して、社内で確認して、やるかやらないかを判断できます。

確認したいことがあれば、担当者の人の席に確認しいって、議論して、時にはその場で一緒にコードを見ながら調査して、その場でどうするかの意思決定ができます。

ここの時間が受託開発に比べてかかる時間が少ないのは、開発の進めるのがめちゃくちゃやりやすかったです。

モダンな開発環境で開発できる

自社開発の企業は比較的、モダンな開発環境で開発できる場合が多いと思います。

モダンというのは、その時に流行っている開発環境であったり、利用しているプログラミング言語の最新バージョンで開発できたりするという意味です。

受託案内だと、過去の色々な事情や経緯などから、アップデートされていない古い開発環境や言語のバージョンで開発していたりして、なかなか開発がしづらいことが多々ありました。

モダンな開発環境で経験が積めることは、経験値として貴重だと思います。

労働環境がホワイト

受託会社に比べて、自社開発会社は、残業などが少ない傾向にあると思います。

未経験のからエンジニア転職すると、自社開発であれ受託開発であれ、慣れるまでは時間がかかりますが、慣れてきてある程度自分で開発を進められるようになると、自分で開発スケジュールをコントロールできるようになります。

受託開発はどうしてもお客さん都合になるので、急な依頼や納期が決められる場合が多いです。

自社開発も納期はありますが、明確な事情があれば社内で話し合って、調整は比較的しやすい環境です。

そのため、無理して徹夜して開発、みたいなことはほとんどなく、企業にもよりますが、定時過ぎには帰るところが多いように思います。

周りの人も遅くまで残って開発する場合は、珍しく、大体定時にはさっさと帰っている人が多かったです。

自社開発企業だけでなく、受託開発会社も選択肢に入れよう

理想は自分が関心のあるサービスを開発している自社開発会社に転職できれば理想ですが、 全ての人がそうはいきません。

また、自社開発企業の方が受託開発会社に比べて必ずしも優れている訳でもありません。

もし自分が開発に携わりたいと思うサービスや事業がない人は、受託開発会社の選択肢は大いにアリですし、 自社開発会社・受託開発会社という視点ではなく、自分がエンジニアとしてどんなスキルや経験ができるか、をよく考えながらエンジニアとしての1社目をよく考えて選んでほしいと思います。