プログラミングスクールのフィヨルドブートキャンプを運営していて、就職に関するアドバイスを求められることも多いです。SESについてはよく訊かれるのでここにまとめて回答しておきます。
SESとは
SES(System Engineering Service)とはソフトウェア開発・運用・保守における委託契約の一種です。特定の業務に対してエンジニアを派遣し、エンジニアリングの能力を時間で提供します。
他に一般的な契約として請負契約があります。(特定派遣については2018年に廃止されました)
この二つは主に報酬の対象が違います。
- SES:労働時間に対して報酬を支払う。
- 請負:成果物に対して報酬を支払う。
SESはその時間働いていれば必ずお金がもらえますが、請負は成果物(システム)ができなかったら報酬が貰えません。
請負が成果物によって報酬が出るか決まるということは、「成果物とは何か?」ということを事前に明確に定義しなければいけないので大変です。気軽に「うちの開発が大変だから2〜3人手伝ってくれない?」という頼み方はできないわけです。
そういう点で成果物の定義が難しいものやまだ決まってない・流動的なプロジェクトなどで重宝されているのがSES契約です。
SESは良いか悪いか
ただの契約の一種なので一概に良い・悪いとは言えません。
一つの企業の中でプロジェクトによっていろんな契約方法を併用するのは当然ですし、SES契約でやるホワイトなプロジェクトもあれば、請負契約でやるブラックなプロジェクトもあります。
実際の話
とはいえSES契約の
- 「成果物に責任を持たなくて良い」
- 「その時間働けば確実に報酬がもらえる」
という点を悪用して
- 「全くそのプロジェクトをこなせるスキルのない状態でエンジニアを送り込む企業」
- 「プロジェクト内容・待遇を度外視してとにかく沢山エンジニアを集めて送り込む企業」
といったブラック企業がたくさんあるという日本の現状は確実にあります。それによってSESと聞いただけで嫌悪感を持つ人もたくさんおり、それはある程度仕方ない面があります。
結論
SES契約をやっているかどうかは関係無い。就職するならホワイトかブラックか企業を慎重に見定める必要がある。
おまけ - ブラックIT企業の見極め方
ここからは僕の経験上の話になってしまいますが、下記のような企業はブラック率が高いです。
給与・賞与が極端に低い
「出世すればすごく上がるよ」という話は信用してはいけない。ホワイトな会社は最初から給料が良い。
コードを書かないプロジェクトばかり
コードを書かないプロジェクトばかりの会社は絶対やめた方がいいです。居てもスキルが上がらないからです。
この業界の大きなメリットである「給与もらいながら勉強できる」が享受できません。
「勉強頑張ればコードを書くプロジェクトに入ることもできるよ」という話を信用してはいけません。ブラック企業ではそういう人は1〜2割しかいない場合がほとんどです。
プログラミング技術の高い先輩がいない
上記と関連して、先輩の姿は将来の自分です。「自分がすごく勉強を頑張れば・・・」という人がいますが、組織の文化が人を作ります。
プレスコットのピクルスの原理
「漬け水がキュウリに漬かるよりキュウリが漬け水に漬かる方が早い」
つまり「ここの文化を俺が変えてやる!」と意気込んでも、組織の文化がかわるより先に「そこの文化に自分が染まる」方が早いという意味です。
自分が成長できる文化を持つ会社を自分で選びましょう。
使ってる言語が微妙
あくまで僕の経験なんですが、コードが書ける仕事といっても、オラクルのERP上でしか動かない言語とか、特定のハードウェア上でしか動かない言語などを使ったプロジェクトに新人を送り込む会社は社員の成長を軽視しています。