見出し画像

受託開発で感じた課題と自社開発での自己実現

はじめまして。2024年11月より株式会社メディカルフォースにエンジニアとして入社いたしました小倉と申します。
この度入社エントリーを書かせていただくことになりました。とはいえ、入社間もないため、これまでの経歴を踏まえ、受託開発経験者の視点から自社開発の魅力をお伝えしたいと思います。
最後までお読みいただけますと幸いです。


これまでの経歴と転職のきっかけ

社会人経験は16年以上になります。最初は建設会社で現場監督として建物を造る仕事をしておりました。その後、IT業界に転身し、Webエンジニアとして12年以上働いてまいりました。
これまでに開発したWebシステムは、コーポレートサイト、Webブラウザゲーム、ECサイト、ファンクラブサイト、マッチングサイト、シミュレーター、GISなど様々なプロジェクトに携わりました。
基本的にはフロントエンド、バックエンド、インフラを担当するフルスタックエンジニアとして従事してまいりました。

前職では受託開発をメインとする会社に所属し、様々な事業者様と関わりながら、BtoC, BtoBのWebシステムの開発や保守を行っておりました。
また、CTOや開発部の部長として、チームメンバーのマネジメントも経験いたしました。

転職のきっかけとしては、以前同じ会社で一緒に働いていた方から、メディカルフォースについてご紹介いただいたことです。
メディカルフォースは自社製品を持つ事業会社であり、お話を聞くうちに、同じ目的意識を持ったメンバーと共に自社製品を開発していくイメージが湧いてきました。
また、環境を一新することで新たな知識を得て自己研鑽したいという思いも強まり、入社を決意しました。

メディカルフォースに入社したいと思ったきっかけ

ご紹介や面接の中でお聞きした中で、最も興味を持ったのは、組織運用のシステムと技術スタックでした。

まず組織運用のシステムとしてメディカルフォースがScrum@Scaleを採用している点です。
Scrumとはアジャイル開発の一種で、短期間のサイクルで開発を進めるフレームワークですが、企業全体に適用するイメージは持っておりませんでした。
アジャイル開発という言葉自体は浸透していると思いますが、開発以外でもそれを実践しているケースは少ないように思います。
メディカルフォースでは経営、営業、人事といった部署でScrumを実施し、それらが連携することで会社全体のScrumを運用していました。
その話を聞き、難易度の高いことを実現できるメンバーの意識の高さや柔軟さを感じ、私もぜひ体感してみたいと思いました。

技術スタックにおいては、フロントエンドとバックエンドをTypeScriptで統一するフルスタックTypeScriptで開発されておりモダンであること。また特に注目したのがAWSのLambdaを用いたサーバレスでのサービス運用でした。
私はこれまでオンプレ、インスタンス、コンテナといった環境での運用を経験しておりましたが、サーバレスでのサービス提供の環境は構築したことがなく、また運用上現状でも大きな問題が発生していないと聞き、とても興味を持ちました。

これらの要素に魅力を感じたことに加え、事業会社として自社開発でサービス提供を行っている点に惹かれ、そこに参加してみたいと思ったことが、メディカルフォースに入社したいと思ったきっかけです。

受託開発で感じた課題と自社開発の魅力

自社開発を志向するようになった理由として、受託開発と自社開発を比較しどのような違いがあるか書こうと思います。
とはいえ、環境は千差万別ですので、一概にどちらが良いとは言えないかと思います。
あくまでここから先は私の経験に基づく主観的な内容となりますので、偏った意見になることをご了承ください。
もし共感いただける部分があれば、自社開発への転向を検討してみるのも良いかもしれません。

1. 顧客の違い

受託開発において、顧客は他の企業が発注者となることが一般的でした。一方、自社開発ではシステムのエンドユーザーや法人顧客が直接の顧客となります。
そうなると、受託開発ではエンドユーザーは間接的な存在になり、どうしても意識がユーザーファーストではなく、発注者ファーストになってしまいます。
自社開発では受託開発よりエンドユーザーに近い距離で開発していくことになりますので、エンドユーザーに本質的な価値を提供したいという意識がある場合は、自社開発が良いかと思います。

2. プロダクトへの思い入れの違い

受託開発の場合、クライアントごとに制作物が変わるため、新規事業開発の研鑽を積むことになり、多彩な業界での経験を得ることが可能です。しかし、納品した段階で関与しなくなるケースが多いため、プロダクトに対して深い思い入れが生まれにくいと感じます。
納品後に改良や改善に関わる機会も限られてくるので、単に完成させることを重視する心理に陥りがちです。
また、品質よりも納期が重視されてしまう状況になりやすいと感じます。

自社開発の場合はリリース後も改善が続きます。ユーザーに近い距離でフィードバックを受け取り、改良や改修を行っていくうちに、責任感や愛着が生まれ、プロダクトの価値向上への意識が高まりやすいです。

3. 開発体制の違い

受託開発の場合、十分な開発体制が構築できないケースが多くありました。
その原因の一つは固定された予算、もう一つは人材の制約でした。
顧客の信頼を得て次の案件に繋げるため予算が制限されていたり、企業利益を優先した結果、開発体制が小さく抑えられてしまうというパターンもありました。

自社開発の場合は、利益が上がらないうちは少人数での開発はやむを得ないかと思いますが、利益が上がれば開発体制を拡充できる見込みはあるかと思います。

4. Vision, Mission, Valueへの共感度と体現度の違い

受託開発を行っている場合、VMV(Vision, Mission, Value)は自社開発と比較して一段と抽象的になりがちです。
なぜかというと、顧客の依頼やニーズに合わせて開発するため、明確なVMVを設定しにくいからです。
そのため、社員から見ると、会社がどこに向かっているのか、何を体現すれば良いのかがわかりにくく、理想に共感できないまま働く状況に繋がりかねません。

逆に自社開発においては、特定のプロダクトやサービスを提供することで、会社の方向性が明確になります。必然的にVMVも受託開発に比べて具体的になり、メンバーにとっても体現しやすい状況が生まれやすいです。

実際に、私が見たメディカルフォースのメンバーたちは、日々の振る舞いからVisionやValueの浸透や体現度合いが高いと感じています。

5. 社内コミュニケーションや知識共有の違い

受託開発では、メンバーは異なる顧客向けのプロダクトに割り当てられます。各プロダクトのドメインや仕様が全く異なるため、知識共有が難しい傾向にあります。
その結果、プロダクト間で得られる知識やノウハウの共有が少なくなり、属人化のリスクが高まり、社内のメンバー間でサポートし合うことが困難になります。

一方、自社開発では通常、1つのプロダクトに注力し、長期的な改善や拡張が求められます。
そのため、社内のコミュニケーションもプロダクト中心に集約され、仕様変更や新機能の開発に関する情報共有が行いやすい環境が整います。
加えて、同じプロダクトに関わるメンバーが多くのドメイン知識を共有しているため、チーム内でのサポートや知見の共有がしやすく、コミュニケーションの一貫性も高まります。

メディカルフォースに関しては、キャッチアップの期間も十分に設けられており、質問しやすい環境や雰囲気が整っています。
この記事を書いている時点では、私はまだオンボーディング期間ですが、手厚くサポートしていただき、とても感謝しています。

まとめ

以上、受託開発から自社開発へとキャリアを移した背景と、その過程で感じた両者の違いについて述べました。

受託開発と自社開発、それぞれに良さはあると思いますが、私にとっては自社開発の方がエンドユーザーに本質的な価値を提供でき、自分の理想とする働き方に近いと感じました。
メディカルフォースに参加することで、同じ目的意識を持つメンバーと共にプロダクトの価値向上に取り組む環境が整っていると実感しました。
今後もこの環境で自己研鑽を続け、ユーザーやチームに貢献していきたいと考えています。

もし同じような悩みやキャリアの選択に迷っている方がいらっしゃいましたら、参考になれば幸いです。

最後に

メディカルフォースでは仲間を募集しています!
少しでもメディカルフォースに興味をお持ちいただけた場合は、是非以下よりご連絡ください。

メディカルフォースは、挑戦、裁量、成長を求める方にはとても魅力的な環境だと思います。
是非一緒に産業の成長を生み出していきましょう!

いいなと思ったら応援しよう!