ユーザー名非公開
回答2件
小さな会社を経営しております。プログラマーです。 入社自体は雰囲気とか動物的なカンで決めるのが良いとは思います。 両方ともやりかたによるというのはあるのですけど、経営は受託のほうが安定します。自社開発の良さは大儲けの可能性があります。 技術的には受託のほうが案件ごとに新しくなりますが、自社開発は古いものの運用・保守を抱える感じになります。開発の自由度はもちろん自社開発はなんでもできます。受託開発で「ドローンを使った検索サービスを作りましょう」とかないですよね。 個人的にはエンジニアは開発する前に運用を見てきた方がいいとは思います。一般的な受託開発では運用・保守は別の人がやることが多く、自分が設計・開発したものがどういうトラブルを起こすのか見えないですからね。受託開発に入っても開発に飛びつくよりはテストや保守などなるべく問題をひきおこす部分を積極的にとりにいき、原因調査やコードリーディングができると、企画・開発をやるときに底力のあるものが作れます。転職の時も自分が直接できる作業の量は限られるわけですが、経験したトラブルと解決を知ってる人は魅力的です。
基本的には自社開発の方が良いです。 自社運用から見たメリット、デメリットを箇条書きにしますね。受託開発は基本的にその反対になります。 # メリット - 継続的な開発ができる。基本的に現代の成功しているソフトウェア開発は、出してみてユーザの反応を見ながら修正をしていくスタイルがほとんどです。自社運用の方が現代的な開発・運用手法を肌で感じながら学べる機会が多いと思います。また、運用して初めて分かる事がたくさんあるので、運用経験のある技術者の方が強いです。 - ビジネス的な視点が身についたり、ソフトウェアのそもそもの仕様から検討できる事が多い。運用はビジネスそのものでもあるため、利用者側の視点をより意識して働く事ができます。 - ソフトウェアの中身が綺麗な場合が多い、もしくは綺麗にすることに意義を持ちやすい。受託開発では動くソフトウェアを納品する事が最終目的ですが、自社運用の場合にはソフトウェアをメンテしながらサービスを良くしていくことまでスコープに入ります。そのためには読みやすい、メンテしやすいソフトウェアを作ることに時間をかけていいことが多いと思います。 - インフラなどにも全て責任が持てる可能性が大きい。例えばウェブ開発などでは、データベースやウェブサーバ、キャッシュなどのミドルウェアも必要ですが、受託開発の場合にはプログラムの部分だけ作ってくれと言われる事も多くあります。(もちろん場合によります) - 給料の上限が高い。受託開発は基本的には労働力の提供なので、作るのにかけた時間×スキルに応じた時給でお金を請求する考え方になり、稼げる報酬にも限界があります。儲かっている場合に限りますが、自社開発の場合には作ったサービスがちゃんとお金を稼げばその分だけエンジニアにも給与として還元される可能性があります。 # デメリット - 運用ばかりになり、新規開発をできない可能性がある。そこそこの大きさや歴史のある企業になると、既存のソフトウェアの改修やメンテナンスをするだけの仕事の人も多くいます。適度に新規開発をするためには運が良いか、抜擢されるように実力を周りに示していく必要があります。 - 開発以外に取られる時間が圧倒的に多い。企画や営業の人とのミーティングや派遣社員の方の管理など、雑多なことに取られる時間も多くあり、純粋な開発だけをできる時間は少なくなる可能性が大きいです。