転職

【IT】プログラミングスキルを身につけたいならSIerではなくWeb系に行くべき理由【転職】

「IT系の会社の人って、みんなプログラミングできるんでしょ?すごいよね!」

「よーし、僕もIT系の会社に就職してプログラミングスキルを身につけるゾ!!」

こういう勘違いをしている人は世の中にたくさんいると思います。IT企業と言いましても種類がありまして、大きく分類すると以下の2つに分かれます。

  1. SIer
  2. Web系

①のSIerというのは、お客様からの要望にもとづき、システムやソフトウェアを開発する会社のことです。有名どころだとNTTデータや野村総合研究所(NRI)あたりですね。

一方、②のWeb系というのは、自前でWebサービスを展開している会社で、ヤフーや楽天、LINE、メルカリなんかがこれに該当します。

もし、あなたがプログラミングスキルを身につけたいと思っているのであれば、迷わず②のWeb系に就職・転職すべきです。なぜなら、①のSIerに入ったところで、プログラミングスキルは身につかないからです。

本記事では、大手SIerに12年勤務している僕が、SIerに入ったところでプログラミングスキルが身につかない理由を解説します。

SIerではプログラミングスキルが身につかない理由

いきなりですが、SIerでプログラミングスキルが身につかない理由は以下のとおりです。

  • 理由1:上流工程をひたすら捌けるエンジニアが求められるから
  • 理由2:最終的にはプロジェクトマネージャーになることを求められるから

順番に解説していきます。

理由1:上流工程をひたすら捌けるエンジニアが求められるから

SIerでシステム開発をするときの役割分担は、ざっくり

  • 上流工程(要件定義~外部設計、システムテスト~受け入れテストあたり):SIerのエンジニア
  • 下流工程(内部設計~製造~結合テスト):協力会社のエンジニア(外部委託)

という感じなんですよね。

なぜ実際にモノづくりをする下流工程を協力会社に外部委託するかと言いますと、色々と理由はあるのですが、

  • 下流工程が最もエンジニアの頭数がいるので、外部委託した方がエンジニアの調達がしやすいから
  • 品質の作り込みは上流工程で決まる(と言われている)ので、下流工程は外部委託しても品質リスクが少ないから
  • 下流工程を外部委託した方が、開発コストを低減できる可能性が高いから

あたりが主な理由です。

つまり、SIerのエンジニアに求められるのは「ひたすら上流工程やっとけや!」ということなんですよね。

クライアントと仕様を決めて、設計書に落とし込んで、クライアントにOKもらって、後は協力会社に外部委託して…というのをひたすらやらされます。来る日も来る日も上流工程です。

SIerのエンジニアは「上流工程大好き!」「上流工程、超楽しいっすね!」みたいな人がめちゃくちゃ多いので、このあたりであまり不満を言っている人は見かけないのですが、ごくまれに「プログラミング、やらないんすね…」みたいにがっかりしている人を見かけます。

そうです、SIerでは基本的に上流工程しかやらないので、つまりはプログラミングをやらないのです。

理由2:最終的にはプロジェクトマネージャーになることを求められるから

上記のとおり、エンジニア時代はひたすら上流工程をやらされることになるわけですが、中堅どころのエンジニアになってくると、今度はプロジェクトマネージメントを求められるようになります。つまりは、プロジェクトマネージャーへのキャリアチェンジですね。

「え、エンジニアとして、キャリアを積んでいけないの?」とお思いの方もいらっしゃるでしょう。

SIer、特に大手のSIerになればなるほど、プロジェクトマネージャーへの転身を期待されます。ですので、エンジニアからプロジェクトマネージャーになるというのは、いわばSIerのキャリアパスのメインストリームなんですよね。

なぜ、プロジェクトマネージャーになることを求められるかと言いますと、僕の理解では

  • より多くのシステム開発案件を捌くために、プロジェクト責任者(=プロジェクトマネージャー)になり得る社員の頭数を増やしたいから
  • システム開発案件のプライム(一次請け)を取るには、プロジェクト責任者が必要だから

というところです。

つまり、若手の頃はエンジニアとして育成しつつ、最終的にはプロジェクトマネージャーに仕立て上げたいというのがSIerという会社の思惑なんですよね。

もちろん、レアではありますが、エンジニアとしてキャリアを積んでいく道もあるにはあるのですが、結局、管理職になると必然的にプロジェクトマネージメントをやらされる羽目になるので、「プロジェクトマネージャー兼エンジニア」という役割になってしまいます。

いわゆるプレイングマネージャーということになるのですが、正直、プレイングマネージャーとしてまともに務められる開発案件はかなり少ないです。

一定の規模以上の案件になると、たいてい、プロジェクトマネージメント業で手一杯になり、エンジニアとして手を動かす時間が取れなくなります。

よって、年次が上がるとキャリアパスやスペシャリスト領域に関係なく、プロジェクトマネージメントをやることを求められるというわけです。

SIerにいる限り、プロジェクトマネージメントの呪縛からは免れません。

プログラミングスキルを身につけたいなら、まずはダメ元で異動しましょう

というわけで、SIerではプログラミングスキルを獲得するのは非常に難しいです。

プログラミングスキルを身につけたいなら、正直、Web系企業に転職するのが一番効率的なのですが、「転職するのはメンドイ」「せっかく入ったし、SIerで何とかならないの?」という方は、まずは異動してみるというのも1つの手です。

  • 対処方法その1:とにかく異動する
  • 対処方法その2:研究開発の部署に異動する

それでは順番に説明していきます。

対処方法その1:とにかく異動する

これは何を狙っているかと言いますと、いわゆる上司ガチャです。上司ガチャを回してみるということですね。

うまくいくと「プログラミングの経験がなくてはいいエンジニアにはなれないだろ!」みたいな極めて真っ当な考え方を持つ上司に当たり、結果的にプログラミング経験を積むことができるかもしれません。

ただ、この方法はめちゃくちゃ効率が悪いです。上司ガチャに当たるまで、異動し続けないといけないので…。

とは言え、何もしないよりはマシなので、とりあえず異動するというのもアリかなと思います。

対処方法その2:研究開発の部署に異動する

大手のSIerなんかでは、新規技術の社内PoCをやったり、ミドルウェアの設定テンプレートを作ったりするなど、研究開発色が強めの部署があるところが多いです。

研究開発の部署では、往々にしてSIerの社員が自ら手を動かしている場合が多く、こういった部署では、プログラミング経験を積める可能性が非常に高いです。

もし社内に研究開発の部署がある方は、まずはこの部署に異動希望を出すのがよいでしょう。

それでもダメならWeb系企業に転職しましょう

「異動してみたけど、やっぱりプログラミングはさせてもらえんかった(泣)」という方は、素直に転職するのが一番の近道だと思います。

転職先としてはWeb系の企業がおすすめです。Web系の企業にエンジニア職で転職すれば、かなりの確率でプログラミング経験を積むことができます。

サクッと効率的に転職をするには、転職エージェントに相談するのが一番早いです。Web系の企業に行きたいなら、その旨を相談すれば、転職を成功させるためのプロセスやノウハウをすべて教えてくれます。

実際に僕が転職活動で利用してみて良かった転職エージェントをご紹介します。この3つに登録しておけばOKです。

以上です。

まずは異動しつつ、ダメそうならサクッと転職しましょう!