ラベル メリット の投稿を表示しています。 すべての投稿を表示
ラベル メリット の投稿を表示しています。 すべての投稿を表示

2020年4月17日金曜日

SESのメリット・デメリット


こんにちは。

今日は、SESのメリット・デメリットについて書いてみます。

私は、プログラマーとして社会に出てからずっと派遣でお客様の事務所に常駐して開発を行っていました。

当時は、特定派遣でしたが今はもうないですね。

今は、SES(システム・エンジニアリング・サービス)としてお客様先に常駐して開発するスタイルになっています。

SESの契約形態は、準委任契約になります。

私も、最近までSESでお客様先に常駐していました。

経験年数でいうと、10年以上自分の会社ではなく、お客様先にいたことになります。

もちろん、同じお客様ではないですけど、自分が勤める会社の中で開発するという経験の方がトータルでは少ないです。

SESの経験は十分にあるので、そのメリットやデメリットは十分に理解しているつもりです。

これから、プログラマーとして働きたいと考えている方や就職活動中の方には、SESは選択肢の一つになるとなる業務でもあると思います。

なぜかと言うと、中小のシステム企業は、ほとんどがSES業務を取り入れているからです。

これから、プログラマーを目指すのでしたら、以下の記事でIT業界について理解を深めてからの方がいいかもしれません。


前置きが長くなってしまったので、早速説明していきますね。

デメリット

「いきなりデメリットかよ」と言う声も聞こえてきそうですが、実際に長くSESでお客様先へ常駐しているプログラマーに聞くと、デメリットしか聞こえてきません。

なので、先によく聞かれるデメリットを説明しておきます。

結論を言うと以下の3点です。
  1. 技術力が偏る
  2. 自分のポートフォリオとして公開できない
  3. 契約更新が近づくと不安
この他にもデメリットは聞かれるのですが、デメリットとしてのよく聞くのはこの3点です。

1. 技術力が偏る

まず、長期でお客様先に常駐すると、その企業の開発手法はできるが、他では通用しないようになります。

よく使われる開発手法は、ウォータフォールモデルとアジャイル開発です。

以下の記事でそれぞれの詳細を書いてますので、読んでみてください。



企業は、上の開発手法をベースに、いろいろと改善を繰り返し、独自の開発手法を持っています。

そのため、SESとして長期で同じ企業に常駐すると、その企業の独自の開発手法に慣れてしまい、他の開発手法での開発が難しくなったりします。

特に、ベースとなる上の2つの手法が異なると、プログラマーとしては、その開発手法に慣れるのに苦労するでしょう。

と言うか、私は両方とも経験してきたので、ベースとなる開発手法が変わった時の苦労はよく分かります。

技術力が偏ると言うと聞こえが悪いですが、その企業での開発には精通していることになるので、その企業での開発に必要なプログラマーになっていると言うことなので、そんなにデメリットではないと私は思っています。

ただ、SESのデメリットとしては、一般的によく聞かれることです。

2. 自分のポートフォリオとして公開できない

SESで常駐する企業は、大手のシステム企業、もしくは、大手のシステム開発を請け負っている企業が多いです。

そうなると、業務につく際、守秘義務契約を結ぶ必要があります。

契約内容には、システムに関する一切の口外が禁止されています。

この契約は、契約終了後も有効になるように記載されていることが多いため、自分のポートフォリオとして公開できないのです。

大きなシステムの開発や有名なシステムの開発に携わったとしても、そのことを公開できないのです。

できるのは、そこで培ったプログラム言語能力のみとなります。

自分のポートフォリオに公開することができないのですから、「そのプログラム言語使えますよ」としか言えないのです。

守秘義務契約を結んでシステムの話を口外すると、大変なことになりますので注意してくださいね。

数年に1度程度ですが、守秘義務違反で問題になるケースを耳にしますので、これからプログラマーになる人は、しっかり注意してください。

3. 契約更新が近づくと不安

同じお客様先に長期で常駐していると、お客様とも仲良くなり、契約満了で次のお客様先へ移動となるのが不安になる人がいます。

それに、SESでシステム開発をした場合、納品までそのシステムに関われずに移動となることが多いです。

ガッツリそのシステムの開発に携わると、システムに情がわくこともあります。

「えっ!」って引かれるかもしれませんが、自分で作り上げたシステムは可愛いのですよ。

そのシステムが社会へ投入されるとことを見れないと言うのも、不安になる原因の場合があります。

私がSESで常駐していた頃も、契約更新の時期になると不安になってました。

特に、プロジェクトの工程の境目の時期は、次の工程がどの程度の規模かで人を入れ替えるお客様が多いので不安になってましたね。

ブラックな企業だど、契約更新の数日前に継続が決まったり、契約更新を忘れられたりします。

通常は、1ヶ月前までに継続するのか、移動するのか決まります。

契約更新が数日前にならないと分からないような企業は、ブラックな企業と思って問題ないと思いますので、ちょっと考えた方がいいかもしれませんね。

メリット

実は、SESでお客様先へ常駐してシステム開発することには、結構メリットがあります。

私が、ずっとお客様先で常駐してシステム開発していたのも、メリットが大きいと思うところがあったからです。

先に結論を言ってしまうと、以下の3点になります。
  1. 経験を積める
  2. いろんな人に会える
  3. いろんなシステム開発に携わることができる
この3点は、私が長年お客様先に常駐してシステム開発をやっていて、メリットだと思ったうちのトップ3です。

1. 経験を積める

SESの1番のメリットは、これでしょう。

プログラマーの経験が浅いうちは、いくらプログラミングができると言っても、経験が浅かったらあまり仕事をもらえません。

まずは、経験を積むことです。

自分が勤める会社で請負開発をやっているのなら、そこで経験を積めると思います。

しかし、請負開発って結構リスクがあるんですよね。

システムの品質の問題とか、セキュリティの問題とか、考えないといけないことがあるので、それなりに経験を積んだ人がいないと難しいと思います。

それに比べて、SESでお客様先へ常駐してシステム開発していると、その企業には、開発するシステムに精通した人がたくさんいます。

つまり、自分が経験の浅いプログラマーであったとしても、聞ける人がたくさんいるんです。

経験者がたくさんいるって安心しますよね。

そこで、経験者の知識を吸収しながら経験を積むと言うことは、経験の浅いプログラマーには格好の環境だと思います。

SESで常駐し3年もシステム開発を行っていると、結構な経験を積むことができます。

経験を積むと、自分のできる範囲が広がるので、だんだんと面白くなってきます。

ただし、長期で同じ企業に常駐していると、次第に上に書いたようなデメリットが目についてくるので、ある程度できる範囲が広がったところで常駐先の企業を移動することをお勧めします。

2. いろんな人に会える

SESでプログラマーを入れている企業は、ある程度の規模を持った企業です。

そのため、同じようにSESで集められたプログラマーがたくさんいます。

経験を積んだ人や、経験が浅い人、それに、面白い経験を持った人などがたくさんいます。

そういう人たちと会えると言うのは、SESのメリットの一つだと私は思っています。

特に、いろんな経験を積んだ人の話を聞くのは面白いですよ。

いろんな人たちに囲まれて作業していると、開発経験だけでなく、人生経験も学べたりします。

私の場合だと、フリーランスのプログラマーに多く会いました。

フリーランス のプログラマーには、結構苦労している人や、月に結構な額を稼いでいる人もいました。

私は、大手の企業へ常駐していたので、たまに有名な方とばったりと言う経験もありました。

いろんな人と会えると言うことは、いろんな意味で刺激になるんですよね。

将来、どんなプログラマーになりたいとか、どんな人生を送りたいとか、結構参考になることが多いです。

また、いろんな人と知り合いになっておくと、仕事がその方を通じて入ってくることもあるので大事にした方がいいと思います。

3. いろんなシステム開発に携わることができる

長期で同じお客様先に常駐していると、上に書いたようなデメリットが顕在化してきます。

そのため、私は、長くても1年程度で常駐先の企業を移動するようにしていました。

でも、常駐する企業によっては、開発のスパンが短くて、いろんな開発に携わることができます。

そう言う場合は、少し長くいてもいいかもしれません。

私も、開発スパンが半年とか3ヶ月とか回転の早い開発を行っている企業にいたことがあるのですが、その企業には5年ほどお世話になりました。

でも、やはり、長期で同じ企業に常駐するのはお勧めできません。

開発手法は同じなので、やはり技術力に偏りが出てしまいます。

経験を積んでいろんなシステム開発をしていくと、たまに、すごく大きなシステム開発に携わることができる時があります。

詳しくは書けないのですが、大手企業の有名なシステムの開発とか、みんなが普通に使っているアレの開発とかですね。

有名なシステムの開発に携わって、そのシステムを使っている人を見たりすると、結構嬉しかったりします。

自分が作ったこの機能が、今目の前の人が使ってるとかなると、微笑んでしまっていたりします。

つまり、SESでお客様先へ常駐してシステム開発をしていると、いろんな経験ができるのです。

まとめ

SES業務には、確かにデメリットがあります。

でもそれは、長期で同じ企業に常駐した場合の話です。

経験の浅いプログラマーにとっては、経験を積めて、いろんなシステム開発で、経験を積んだ人とコミュニケーションをとることができるのです。

そう考えると、デメリットだけに目を向け、SES業務を避けるのではなく、ある程度の経験を積む間、SESで経験を積むことは、今度、プログラマーとして働くための十分な経験になると私は思っています。

これからプログラマーを目指す人や現在就活中の人は、中小のシステム企業で、あえてSESで常駐することを考えてもいいと私は思います。

現在は、転職をすることは、普通にあることです。

SESで十分に経験を積んだ後で、転職をして大手のシステム企業へ入ることも選択肢としてもいいと私は思います。

最終的に自分の人生を選択するのは、あなた次第です。

このブログがあなたの選択の参考に慣ればと思っています。

では、今日はこの辺で。