見出し画像

未経験からソフトウェアエンジニア転職を目指す時に知っておくべき事業形態の話

はじめに(この記事の対象)

僕は普段はしがないプログラマーをしているのですが、最近「プログラマー初級者の勉強サポート」や「ソフトウェア業界へのジョブチェンジの相談」などを時々しています。

この記事は、主にこれからソフトウェア業界への転職を考えている人へ向けての記事になります。
すでにIT業界に所属している人や最低限の事業形態の知識を有している人には不要な内容かと思いますので、その点ご了承ください。

転職の相談を受ける時に「どのような企業に転職するのが良いか」という質問を割と聞かれます。その時にこの事業形態の話をすることが割と多いのですが、意外に概要を知らない方も多いので今回記事を書いてみました。

事業形態というとピンとこないかもしれませんので、「その会社がどのようにソフトウェア開発でお金を稼いでいるか」というようなニュアンスで捉えてもらえればと思います。

また、この記事においてどの事業形態の会社が良い、悪いを意図する表現はありません。
これらの業態の話を調べると「SES、受託、自社サービスでどの企業に入るのがいいのか」といった情報も出るかと思うのですが、こういったことの言及もこの記事ではしていません。

事業形態の種類

- ① SES
- ② 請負
- ③ 自社サービス(自社製品)
- ④ SIer

ソフトウェアをメインの事業として活動している企業は、多くがこの4つの事業形態のうちのいずれかに属しています。

ただし、4つの事業の一つを専門とする企業がすべてではありません。「SESと請負」であったり「請負と自社サービス」であったり、①~④までのすべての事業を行っている会社も多くあります。

どの事業形態かは企業のHPを見れば記載されていることが多いと思うので気になる企業を見つけたらまずはチェックしてみてください。

SES

SESは「システムエンジニアリングサービス」の略称と僕は習いましたが諸説あるようなのでこのへんは気にしなくていよいです。

SESとは、「エンジニアの労働力に対してお金を払う」という事業形態です。

画像1

エンジニアは基本的に契約した顧客の会社で働きます。
顧客の企業は1名のエンジニアが※ 1ヶ月働く労働力に対して〇〇円を自社に支払うという形式です。
※ 会社間では複数ヶ月で契約されていることもあります

支払われた報酬から会社の必要経費が引かれた金額が従業員に支払われます。

イメージとしては「派遣」に近いですが労働契約としては派遣ではないため注意が必要です。
※そのへんの細かい法的な話は、割愛しますのでイメージだけ捉えてください。

労働力にお金が払われるというと仰々しいですが、労働形態としては、「労働時間に対して賃金が発生する」のでサービス業全般(飲食や店舗業務など)と根本は同じです。

請負

請負(契約)とは、「製造した納品物に対してお金を払う」という事業形態です。

画像2

顧客の企業は、自分たちの所属する開発会社に対して「※ソフトウェアの開発」を依頼します。
※ 厳密には開発だけではないと思いますが、わかりやすいように開発としています。

開発会社側は、依頼されたソフトウェアを自社の社員で開発し、その成果物を納品する対価として報酬を受取ります。

成果物の報酬から従業員に給与として支払われます。

請負の仕組みは、例えばオーダーメイドの家を建てる時などに似ています。

『発注元: こういう条件で、家を建てたいんです』
『施工会社: その条件だと、Xヶ月かかって〇〇円かかります』

「施工会社: 完成したので問題なければ支払いお願いします」
「発注元: ありがとうございました。料金を支払います。」

という流れです。
受注生産のその他製造業と大体同じ仕組みだと思います。

自社サービス

自社サービスは、「自社で開発したソフトウェアに対して、使用料金(購入料金)としてお金を払う」という事業形態です。

自社サービス

自社サービスは区分としては範囲が少し広いです。
対象となる顧客は企業だけでなく、一般の消費者も含まれます。またお金の支払われ方も「使用に対してお金が支払われる形態」や「購入に対してお金が支払われる形態」など複数存在します。

使用に対してというのは、最近の言葉でいうとサブスクリプションモデルのような形式で、ネットフリックスやAmazon Primeなどのサービスが身近です。

購入については、身近なものでいうとスマホのアプリやゲームといったものがあります。

このように、自社サービスは自社のエンジニアによって開発されたソフトウェアを販売や継続使用によって報酬を得る形態を指します。

この形態では、従業員の給与は製品の使用量や販売売上から支払われます。

SIer

読み方は、「エスアイヤー」と読まれると思います。
これは(System Integrator-システムインテグレーター)の略称であってると思います。

Slerについては、僕も定義が少し曖昧でもしかしたら間違っているかもしれませんので、違っていたらご指摘いただけると幸いです。

ソフトウェアの開発工程は、「(要件定義)、設計、製造、テスト、(納品)、運用」など複数の工程に分かれるのですが、SIer事業者とはこれらの工程をすべて一括して受注してくれる形態を指します。

この変はなかなか難しく、請負事業をやっている企業でも設計から運用まで担当している企業はありますが、ざっくりいうとSIer企業とはそれらの「大規模開発をメインに担当」している企業だという理解です。

巨大なシステムやサービスを開発する時には、複数のソフトウェアやその開発に携わる多くの企業が関わってきます、それらのすべての工程がうまく回るようにいい感じに管理するのがSIerの仕事です。

抽象的な説明になってしまいますが、SIerと呼ばれる企業には「開発部隊は自社に持たず、コンサルティングをメインに行う企業」や「開発工程も自社で請け負う企業」、「SESも行う企業」など複数の形式が混在しています、そのため一概にどういう仕事内容かを明記できないというのがあります。(僕の知識の浅さもあるかと思います)

今までの3業種とは少し毛色が異なり、SIerのメインの仕事は「ソフトウェアの開発」工程よりももう少し広い範囲でソフトウェア製造業をサポートすることに特化しています。
そのため、プログラマーが所属しない会社も割と多いと思いのが特徴です。

給与の話

これまでの話は、wikiでも読んでいただければもっと詳しい内容が出ていると思いますので、イメージの取っ掛かりにでもなれば幸いです。

ではこれらの企業の給与面の話を少し書きたいと思います。
「SES、受託、....どれがいいのか」的な記事では多くの場合、

自社サービス >> 受託、Sier > SES

的な位置づけで書かれている印象です。

これは、全くデタラメではありません。ですが正確でもない。というのが僕の考えです。

給与の金額というのはあくまで企業が個人に対して支払うものなので、金額というよりは、「もらえる給与の限界」で考えるのが良いかなと思います。

まず自社サービスというのは、「ソフトウェアの売上や使用料金」から従業員の給与が支払われます。
また、多くのサービスの場合対象顧客は複数存在しています。(googleやネットフリックスの製品は全世界の人が購入できる)
ですので超人気のソフトウェアであれば売上は青天井で伸びていきます。

また、ソフトウェアを多くの人が使うようになることで発生するコスト(サーバ代や人件費)よりも売上の増加比率のほうが基本的には圧倒的に良くなるようにできています。

そのため売上から給与が支払われるという考えで行くと自社サービス企業の給与の上限はありません。(使える人が全員使ったらそれが上限)

一方、受託の場合はどうでしょうか。
受託もソフトウェアの売上に対して給与が支払われるという仕組みは、自社サービスと同じです。
しかし、受託の場合は、基本的に一つの顧客に対して一つのソフトウェアを納品します。(オーダーメイドのようなもの)
そのため、顧客が増えたとしても、その分毎回開発費用がかかる場合が多く売上の多くは人件費で消費することになります。

そのため、給与の上限はざっくり計算すると

「売上 ÷ 開発人数」

になります。

ただし、全てのソフトウェアは毎回ゼロから作られるわけではないため、ノウハウを貯め、生産効率を上げることで開発コストを下げることはできます。開発コストを下げることで結果として利益率を上げ給与を上げることは理論上可能です。

SESの場合は、もっとシンプルです。
1ヶ月に出せる一人あたりの報酬は、顧客企業によって決まるため給与はその金額を超えることはありません。
給与の上限は

売上

になります。

SIerはちょっと複雑なのですが、おそらく「請負」と同じような契約が多いかと思います。(僕の経験上、SESのような人月計算で仕事をするときもありました) ですので、上限は、

「売上 ÷ 携わっている人数」

になるのかと思います。

まとめると給与の上限は次のようになります。

自社サービス => 上限なし(売れただけ)
請負 => 
売上 ÷ 開発人数
SES => 売上
SIer => 
売上 ÷ 携わっている人数

請負、SES、SIerについては、顧客人数が決まっているため、営業力や品質で売上単価自体を上げることには上限があります。

さらに、SESについては単純に労働時間に対する対価のため生産性をあげることが利益率の向上に大きく影響を与えません。
そのため、SESは他業態よりも条件が悪いと書かれることが多いようです。

「自社サービスに入るのがいいよ」という話はこのようなところから来るのだと思います。

「結局自社サービス事業の会社が良いのか」となってしまいそうですが、自社サービスには一つだけ大きな問題があります。

それは「自社サービスだけで大きな利益を上げることが難しい」ということです。

今までの話はすべて、請負やSESを大きく超えられれるだけ自社サービスの売上が出ていることが条件になりますが、これは想像以上に難しいです。

多くの企業が自社サービスと平行、あるいは専門で請負やSESなどの業務を行っているのは現実的にそちらのほうが確実に利益をあげられるからです。

ですので、これから転職を検討している人で、自社サービス事業の企業へ行きたいと思っている人は、そのサービスがどのくらい顧客に受け入れられているか?という観点でも判断したほうがよいと思います。

エンジニアリングのやりがいの話

最後にエンジニアリングのやりがいはどの業態が一番あるのか?といった話を書きます。
エンジニアリングといっても範囲が広いため、ここではプログラミングをするという観点で記載します。

SIer
まず、前提として転職した後に「確実にプログラミングができるか」という観点でみると、SIerは一考する必要があります。
理由は、上記にもあるようにSIerの企業には「開発部門がない」場合があるからです。
ですので、行きたい企業がSIer業務をメインとしている場合は、面談などで本当にプログラミングができるか確認するのが良いでしょう。

SES
SESも実は、「確実にプログラミングができるか」という点で若干リスクはあります。
企業によっては、開発フェーズでなかったり、その他諸々の事情によりプログラミングができる環境にない場合も存在します。
逆にめちゃくちゃ良い環境でプログラミングに没頭できる場合もあり、この業態はある程度、運の要素が強いです。

取引企業の多くが運用をメインにしているところばかりのパターンもあるので入社前に確認することも重要です。

希望の会社がこの業態の場合は、応募企業のHPなどに、取引企業を載せている場合がありますので、それを確認したり、やはり面談などで詳しくヒヤリングすることをおすすめします。

請負
請負事業者の場合は、自社で開発しているので「プログラミングができるか」という点については聞けばわかります。

請負事業をメインにしている企業は、「扱っている技術スタックが古い」という話は割と書かれているのですが、これは傾向としてはあるのかなと思っています。

理由は、上記に記載したとおり、請負事業というのは開発効率を上げることで利益率を上げる努力をするため新しい技術をバンバンいれて毎回ナレッジを更新していくという動きはしづらいためです。
もし新しい技術で落とし穴にハマり開発遅延が発生すれば、利益率が下がってしまうからです。

ですので、新しい技術をどんどん活用していきたいといった希望がある人は、請負事業メインの場所は合わない可能性はあります。

一方で開発サイクルに関して言えば、常に新規開発に携われるチャンスが多い業態のため、運用よりも開発がしたいという希望がある人は受託のほうが良い可能性があります。

自社サービス
一概には言えませんが、技術優位性が売上に直結する世界のため、新しい技術も積極的に取り入れていく傾向はあると思います。

技術的なチャレンジをしたければ、自社サービスの企業を検討するのは良いかと思います。

一方で開発サイクルについては、すでにソフトウェアが出来上がっている場合、新規開発のフェーズにはなかなか入れないかもしれません。

ゼロからコードを書きたいという希望がある人は、自社サービスには向かないかもしれません。

(蛇足)優秀なエンジニアはどこにいるのか?
これは業態では区分けできないと思います。
ただし、経済活動の原則でいえば給与やその他条件が良い場所に優秀な人が集まりやすいのはそのとおりだと思いますので、その点では大きな利益を上げている自社サービス企業に優秀なエンジニアが多くいるのは統計的には正しいと思います。

※ ここで言いたいのは自社サービスだから優秀なエンジニアがいるというのは正しくないということです。

以上、転職する際に少しでも参考になれば幸いです。


この記事が気に入ったらサポートをしてみませんか?