プログラミング

プログラマーの就職先は自社開発している企業にしよう。理由5選。

こんにちは、ボムクン(@bombkun)です。

新卒からプログラマーとして働き始めてはや13年になります。

さて、今回はプログラマーの就職先は自社開発をしている企業にするべきというお話です。

私は今まで転職等で3回勤務先企業を変えてきました。その中には自社開発をしている企業もあれば、下請けで元請けから受注して開発をしている企業もありました。

それらの企業を見てきて実感したのが、プログラマーが働くなら自社開発をしている企業が圧倒的に良いということです。

今回その理由をエピソードを踏まえて紹介したいと思います。

自社開発企業は仕様をコントロールできる

自社開発している企業では社内で仕様作成を行います。仕様というのは言わばプログラムの動作ルールのようなもので、このルールが決まらないとプログラムが作れません。

自社開発企業では社内で仕様作成を行うことができるので、社内の意思決定だけで仕様の追加・変更・削除ができます。つまり社内で仕様のコントロールがカンタンにできるということです。

私は以前下請け企業で働いていましたが、その時自分たちで仕様がコントロールできないのがとても苦痛でした。明らかに使う人がいないような使い勝手の悪い仕様でもその内容の通りに作る必要があるし、勝手に仕様を変えて納品することもできません。もしどうしても仕様変更が必要なら、必ず元請けとの調整作業が必要になります。

自分たちが使わない(使いたくない)プログラムを作るのってプログラマーからしたら苦痛なんですよね。単純につまらなく、モチベーションも上がらない。

それに対して、仕様をコントロールする権限があれば自分たちであるべき姿に仕様を持っていくことも可能です。より良いプログラムになるように仕様を変えれることはモチベーションになります。やる気がでるんですよね。だから自社開発企業は良いのです。

自社開発企業はムダなエビデンスを残す必要が無い

下請け企業では9割がムダ工数であるエビデンス残しという作業があります。

エビデンスというのは言わば開発の「証拠」ですね。エビデンス資料として以下のようなものをプログラムとは別に残します。↓

  • レビュー結果資料
  • テスト結果資料
  • 元請けとのメールややり取り資料

なぜこのようなものを残す必要があるかというと、一番の理由はプログラム納品後に不具合が起きた時の防衛のためです。

不具合時は発注元である元受けから不具合が起きた原因についての説明を求められるんですよね。その時にエビデンス(証拠)が残っていれば、「あの時のメールの指示で~」とか「あのレビュー時の見落としで~」と説明ができます。相手も証拠があると納得しやすいです。

でも、不具合なんてそんなに沢山起きることはありません。だから、エビデンスは9割が作るだけで後から見られることの無い資料になるんですよね。ムダですよね。

これに対して自社開発企業ならお客さんはいないので、不具合時にも社内でカンタンに説明するだけで済みます。エビデンスなんてほとんど残す必要もありあせん。効率的ですよね。

自社開発企業はスケジュールを自社でコントロールできる

スケジュールがコントロールできる企業かどうかはとても重要です。

理由は単純でスケジュールがコントロールできないと残業地獄で健康を害するからです。プログラマーとして働く以前に、人として働くならまず健康第一に考えましょう。

自社開発企業というのはプログラム全体のスケジュールについて自社でコントロールすることができます。

開発作業というのにはトラブルが付きもので、例えば以下のようなことがあります。

  • チームメンバーのプログラミングスキルが不足している
  • 予算不足でメンバーの人数が減った
  • プログラミングしてみたら見積りの2倍工数がかかるのが分かった

いろんなトラブルがあると使える工数も変動するので、開発スケジュールも変更しなければいけないんですよね。

元請け企業の場合だと、発注元に↑のような内容を言ったところで

発注元責任者
発注元責任者
そちらの会社の事情なんて知らん。予定通り納品しろ。

と言われます。まぁ受注してしまったものはどうしようも無いので、何とか今のスケジュールでやるしかありません。

それに対して、自社開発している企業なら自分たちでスケジュールコントロールができるので社内で調整することでスケジュールを伸ばしたりすることが可能です。ムリして開発することは健康を害するし、自社にとってのデメリットも多いですからね。

このように自社開発している企業ならスケジュールコントロールしやすいので、健康に働けます。

自社開発企業で働くとスキルの幅が広がる

自社開発企業で働くことはスキルの幅を広げることにつながります。

こちらは自社開発企業と下請け企業で身に付くスキルを分類した図です。↓

自社開発をしている企業と下請け企業では開発業務(プログラミング、コードリーディング、テスト)については共通なので身に付くスキルにはそこまで差はでません。しかし、それ以外の共通では無い部分に大きな意味があります。

例えば自社開発企業では仕様検討・作成をしていますが、下請け企業ではしていません。

仕様検討・作成のスキルというのは開発業務ではとても重要視されるスキルです。仕様次第でそのプログラムが売れて使われるのかが大きく変わりますからね。仕様作成もプログラミングもできるというプログラマーは市場で重宝されます。

それに対して下請け企業でやるのはエビデンス残しや、エクセル・パワーポイントでの資料作成スキル等。正直このようなスキルは市場で重宝されません。その会社で働き続けるなら有効なスキルかもしれませんが、一歩外に出るとゴミスキルになります。

結局自社開発している企業だと効率的にスキルを身に付けれます。早くスキルを身に付けたいならやはり自社開発企業が良いです。

自社開発企業は給料が良い

自社開発企業は給料が良いのが特徴です。

以下はリクナビNEXTのサイトで紹介されていた、「客先・発注先と比べて給与格差はどのくらい」という内容で紹介されていたグラフです。↓

これを見ると発注企業は一番年収が高く1次→3次と下請けの下請け企業になるにつれて給料は下がっていく傾向があります。

このような傾向になるのは当然で、発注元は予算の中で一番安く受注してもらえそうな企業をコンペで決めたりします。2、3社の中から一番安い見積もりを出した企業が受注することが多いので、どうしたって安い値段で受注せざるを得ません。その結果、下請け企業は儲からずに従業員の給料も上がりません。

それに対して、自社開発企業の場合はコンペで他の企業と競争して受注とかもありません。自分たちの決めた予算で、しっかり儲けを確保して開発することができます。その結果従業員の給料も良いのです。

下請けと比べて儲けが多くなるのは当然ですよね。

まとめ

今回はプログラマーの就職先は自社開発している企業にしようというテーマで理由を紹介してきました。

下請け企業で働くとやはりスキルの身に付く効率が悪いので、トップスピードでプログラミングスキルを伸ばしたいならやはり自社開発している企業で働きましょう。それがあなたのためです。