SIerは3年までやっても良いけど3年以上やってはいけないというか3年以上もたない

f:id:zhimrock922:20180930001558p:plain

はじめに

9月も終わりもうすぐ10月ですね。中途入社した会社がそろそろ在籍半年になりそうなので、色々と今日までの人生を振り返ってみて、やっぱ自分がSIerで働くのはもうこれ以上無理だな...と悟りました。 よくこういうSIer vs Web比較エントリというのは見受けられるかと思いますが、生々しい元Sierの声ということで聞いていただけると幸いです(ということなので、実際ほぼSIerの愚痴になります)。

そもそもSIerって?

www.weblio.jp

要は、SI(システムインテグレーション)を行う人のことで「-er」と呼んでいる訳なのですね。 SIとはユーザーの課題を解決するようなシステムの企画・開発・運用サポードなどの業務を行う事です。ただし、課題解決のための業務というのはIT企業の業種には他にも存在し、コンサルタントシステムエンジニアと明確に切り分けをするのが難しい業種です。私の場合は一先ず、問題解決と言われるとそのイメージからコンサルタントがパッと思い浮かぶので違いは無いと思っています。 続いては僕の経歴です。

経歴

  • 2015年4月 〜 2015年9月 某Sierに新卒で入社。データセンター保守業務に関わるが半年で退職。
  • 2015年10月 〜 2018年3月 某Web受託開発会社に入社。インフラ運用・保守とWeb開発の兼用。
  • 2018年4月 〜 渋谷の自社サービスやっている会社に入社。現在に至る。

とまぁ、こんな感じです。この経歴のように一応SIerは新卒の会社半年とWeb受託開発会社2年半年でちょうどきっかりSIer業務を行っていた訳です。 よく、Web業界とSIer業界で比較エントリとか見られると思うのですが、「それなら二社目もWebじゃないのー?」と思う方もいるかもしれません。 しかし、SIの定義ではあくまで「ユーザーの課題解決するようなシステムの企画・開発・運用サポートなどの業務を行う」ことなので、そういう意味では私は業界は関係ないと思っています。そのため、二社目も受託開発をメインとしてやっている立場上SIerと言っても良さそうです。 1社目を辞めた理由はキャリアチェンジしたかったため。そのため、僕がSierとして働いた身分として話せそうなのは実質2社目の中身でしかないのですが。 ひとまず、次になぜSIerは3年もたないのかその疑問に対しての回答を投げていきます

なぜSIerは3年持たないのか

案件が似たり寄ったり

SIerは、しつこいですが基本的には、「ユーザーの課題解決するようなシステムの企画・開発・運用サポートなどの業務を行う」人のことを指します。つまりは、会社としては自社で何か製品を作る訳ではない、るいはそれをメインとせず受託や客先常駐をメインとしている会社となります。 よくSIerで働くメリットで「多種多様な案件に関われて、それが成長につながる」とか言われてますが、これは経営者からすればそうかもしれませんがエンジニアからすれば微妙な話です。 2社目の受託開発の会社はRuby on RailsによるWebアプリケーションの開発を得意としている会社でした。またその会社は案外歴史が長く(設立して10年程度)、当初から受託開発によるWebアプリケーション開発を行っていました。当初まだWebフレームワークによるWebアプリケーション開発がまだ主流ではなかった頃からの受託開発を進めていたこともあり、多くの案件がふってきているのは間違いありませんでした。しかし、その来る案件は殆ど同じような似たり寄ったりのバックエンドで動かす管理画面を作るような案件しか存在せず、新鮮味が徐々に薄れていってしまった所があります。

リファクタリングできる機会を失う

幸か不幸か僕は純粋な一次案件、及び二次案件でも設計から携われる案件というものが多く、そういう意味では純粋なウォータフォール型の開発プロセスに携わることができたと言っても過言ではありません。 ウォータフォールについては以下のサイトを

ウォーターフォール・モデル - Wikipedia

SIerの業務上、どうしてもウォーターフォール型の開発プロセスで回していくしかないのは仕方がないですが、このウォーターフォールでは納品後には基本的にコードは触りません。もちろん、納品した後には瑕疵担保責任というものが発生するため、問題があり次第コードはメンテナンスしますが、設計書通り行っていたのであれば基本的には起こりえません。 瑕疵担保責任の考え方についてはこちら

www.tokyo-cci-ict.com

いずれにせよ納品したソースコードについては基本的に触らないようにするのが鉄則です。第一納品完了した後のコードって触りたいですか?瑕疵担保責任があるため、それが発生するまでは触らない方が良いし、プライベートでリファクタリングなんて以ての外。守秘義務もありますしね。 勿論、実装中にリファクタリングすることもありますが、いずれにせよウォータフォールではどうしても基本的なプログラミング作法や納品までの仕事のやり方を学べる程度なので、すぐに得られる知見は頭打ちになってきます。それに引き換え、リファクタリングは本当にプログラマーとして必要なスキルが身につきます。コードは人が読むものです。その人が読みやすくなるコードを書くためには60点のコードではいけない訳で、100点に近づける必要があります(また、どこかで良いコードを書くための知見を共有したいですね)。

人間関係が最悪

よく、SIerの悪い部分で言われる「Excelシートでエビデンスやタスク管理が嫌」とか「使われている技術が化石」とか言われますが、正直僕はそれはあんまり問題にならないと思っています。なぜなら、これは会社や案件や部署によりけりだからです。私が以前いた会社でもレガシーなRailsアプリやPHPアプリを運用することもありますし、タスク管理をExcelシートで使っている部署もありました。そのため、これはSIerで働いていればまぁ仕方がないかなと思っています。会社もちゃんと売り上げ立てないといけないですしね。 僕は正直言うと、SIerの人間関係は非常にギスギスしている、、、むしろそっちの方がSIerの最大の問題点だと思っています。 お客さんが会社だからですかね、「仕事が丁寧」なのと「重箱の隅をつつく」のを一緒だと思っている人がまぁ多いこと。

正直、前職の退職理由の9割がほぼこれで更にトリガーになったのが、そんなギスギスした人間関係が生まれているのに、一方的に僕のコミュニケーション能力が足らないと僕だけに問題があるような返し方してきたので、じゃあもう良いですってことで退職しました。 はい、という訳で愚痴になりましたが、こういうこともあるので基本的にはSIerは客層のお陰で良く言えばちょっと神経質で、悪く言えばヒステリックな人間が多いです。

でも新卒の子がSIerに3年間入るのは賛成

最後に、でもSIer自体には入社して良かったと思っています。なぜなら僕が就職する際に何がしたいのか分からなかったため、基本的な仕事の流れやうまく仕事をこなしていくにはどうすれば良いのか考えるとやはりSIerコンサルタントの問題解決能力ってすごく重要になってきます。極論、SIerコンサルタントの能力ってIT業界に止まらずどんな仕事でも必要になってくる能力だと思っています。 そのため、新卒の学生の子でまだ目標が明確ではない子がSIerコンサルタントを行っている企業に入社するのは賛成しています。石の上にも3年と言うのは信じないという人もいるかもしれませんが、ある種仕事を上手くこなす為には、それくらい時間かけないと会社としても仕事を「こいつに任せて良いのだろうか?」という疑問を抱くのは当然ですし、そう言った意味で、経験と慣れを蓄えた方が良いです。その後、自分の興味のある分野に飛び込むのも悪くないかもしれません。

しかし、SIerの仕事上どうしても3年以上は仕事のマンネリ化が否めないので3年に近づいたらそろそろ自分の目標を考えて動いた方が良いかもしれません。

まとめ

という訳でSIerは3年までやっても良いけど3年以上やってはいけないというか3年もたないというお話でした。 極論、僕がSIerの仕事に向いていなかったという話になっちゃいましたが、あんまり我慢せずにしかし気遣いはとても重要なのでそこのバランスを取れればなんだかんだ言ってどこでも通用するかと思います。まだ社会人経験浅いですが汗 それでは。