SESって何?どんなことをするの?向いている人とは?
SESってご存知ですか? System Engineering Serviceの略で、いわゆるシステムエンジニアの派遣みたいな働き方のことです。 ITの仕事といっても様々で、自社で勤務して働くのではなく、出向先に赴いて働きます。 私はITの会社で3年ほど勤務した後、SES会社に転職して7ヶ月ほどSESで働いた経験があります。 その経験で感じたことを元に、実際の現場は何をするのか、どんな人が向いているのかなどを話していきます。 私の実体験をベースに話していますので、どうしても偏見がある部分が出てしまうかと思いますので、SESの現場がここで述べている全てではなく、私が経験した一部の体験であるということを念頭に読んでいただけますと幸いです。
SESってどんな仕事?
冒頭でも触れましたが、SESとはシステムエンジニア自身が所属する会社で勤務するのではなく、出向先に赴いて働くことです。 近年のIT業界ではシステムエンジニアが慢性的に不足していると言われています。 企業が何かシステム開発を行いたいけど自社のエンジニアでは人手が足りない時に、外部のシステムエンジニアと契約して自社で働いてもらう、ということです。
SESとしての働き方
システムエンジニアが不足することに比例して、SESをビジネスとしてやっている会社は増えています。 SESとして働く場合、まずどこかのSES会社に所属することになります。SES会社に所属する際には面接があり、自分がどんなスキルがあるのか、どんな仕事を経験してきたのかなどを伝えていきます。 SESの案件は様々あるので、自分がどんな案件に携わりたいのか、どんなスキルを使っていきたいのかなどに応じて案件を選んでいきます。 例えば自分がPHPというプログラミング言語を得意としていて、今後もそれを活かして仕事をしたいと思ったらPHPを使用する案件(現場)にアサイン(参加)することになります。 自身の希望とマッチする案件があればその案件の責任者(アサインの担当者)との面接が設定されます。 いくつか質疑応答をして、この人ならこの案件にマッチすると雇う側が判断すると、正式にその案件にアサインされることになります。
SESでは自分の働きたい案件に携われるのか
SESで働く人は、自身のスキルや経験に合った案件にアサイン(参加)するのですが、自分で好きな案件を選ぶことはできるのでしょうか? これは、エンジニア自身のスキルや経験によるところが大きいと思います。 単純に言えば、スキルや経験が豊富にあれば、選べる案件もたくさんあるし、スキルや経験が少なければ、限られた案件の中から選ぶしかない、ということになります。
SESで自身のレベルアップができるのか
SESの現場(雇う側)では、経験とスキルがあり、その案件で必要とする要件を満たす人に来てほしいと思っています。 なのでエンジニアの観点からすると、自身がすでにやっていたことをその案件でもやっていくことになるので、自分が全くやったことがないものをいきなり要求されることは少ないように思います。 事前の面接でその辺りのことは必ず聞かれるので、この人ならある程度やっていけそうだぞと判断されないとその現場にはアサイン(参加)されないです。 自身のスキルが発揮される現場に就くことができれば経験を積むことが可能だと思います。
アサイン前の面接が大事
案件にアサイン(参加)する前には面接が必ずありますが、その面接がとても大事です。 自分がやりたい案件(プロジェクト)なのか、自身のスキルとマッチするのか、スキルのレベルアップに繋がるのか、こういう観点を必ず確認すべきです。 例えば自分ではプログラミングのスキルをレベルアップしたいと思っているのに、プログラミングを全く使わずに事務作業がメインの案件にアサインされた場合、プログラミングスキルとは遠くなることは目に見えています。
プログラミング初心者はSESに向いているのか
ITエンジニアになってまだ数年という方がSESに挑戦する、もしくは独学でプログラミングを学んだ方がSESで実務に携わることは可能なのでしょうか? もちろん挑戦することは可能ですし、何事もやってやれないことはないと思います。 ただ、自分の好きな案件を選べるかというとそこはやはり狭き門というか、自身のスキルにマッチした案件しか選べないということになります。 経験豊富な方であればある程度案件を自分で選ぶこともできますが、経験が浅い方であれば選べる案件は多くないと思います。
大手案件に注意
案件の中には大手企業のシステム事業部にアサインする案件もあります。 はっきり言いますが、(ITエンジニア初心者が)大手企業の案件でできることは末端の仕事であることが想定されます。 システム開発の要件定義(アプリやWEBをどう作っていくかを考えること)はベテランエンジニアでのみ担当することになります。 できたとしてもエクセルに落とし込んだテスト仕様書をみて動作確認する、のような作業になります。
せっかくプログラミングを習得してそれを活かして仕事をしたいと思っても、アサイン(参加)した現場ではプログラミングを使うことはなく、エクセルをひたすらいじっている、ということもあります。 規模の小さいプロジェクト(企業)であれば、割と色々任せてもらえるかもしれませんが、大規模案件は自身のスキルアップという観点からすると注意が必要かもしれません。
ITエンジニア初心者は自社開発に携わるべし
ここは完全に私見ですが、プログラミング初心者で初めて実務に携わるという方であればSESではなく、自社に勤務して、自社のシステム開発とかWEB制作に携わるのがおすすめだと思います。 それは、SESと自社勤務ではどうしても働き方に違いが出てくるからです。 SESでは、出向先で新しいスキルを教えてもらうということはあまりありません。なぜなら、あるプロジェクトを実現するためにエンジニアを派遣していくスタイルなので、できない人に来てもらうのではなく、すでに経験がある人に来てもらいたいからで、来てもらう人に教えることを前提でアサインするということはないからです。 その点自社開発では、当たり前ですが、自分の会社の社員として扱ってくれるので、新しいことに挑戦したり、知らないことを教えてもらったりする機会がSESと比べて圧倒的に多いです。 通常どの会社も、自社のエンジニアを育てる意識はありますが、出向してきた人を育てようと考える会社は多くないはずです。 SESでももちろん分からないところは周りのメンバーに教えてもらえることもありますが、基本的には一人でできることを想定してアサイン(参加)してきているので、教育と言う観点では天と地ほどの差があります。 この点が、私がITエンジニア初心者に自社開発をおすすめする理由です。
- SESは経験の長い人、スキルに長けた人に向いている(案件を選べる)
- SESでは社員教育と言う概念はほとんどない(基本的に一人で頑張る)
- ITエンジニア初心者はSESより自社勤務でのシステム開発、WEB制作でスキルアップするのがおすすめ(私見)