SIerで絶対に技術力が身に付かない理由

SIerで仕事をしても技術力は身に付きません。
こう言うと、

「プライベートで勉強してない怠け者だから技術を身に付けられないんだろ」

とか、

「できる奴は独学で技術力を身に付ける!環境のせいにしている奴は甘え」

みたいに言う人が出てきます。

そういう人間は大きく2通りに分類できます。

その人が“たまたま”SIerで技術的な業務に携われた人である

その人はそもそも、SIerの外から甘えと断じているだけである

いずれにしても「SIerの中でも技術力は身に付けられる」という人は実態が全く見えていないと言わざるを得ません。

断言してもいいですが、SIerでは技術力は身に付けられません。
理由を述べていきます。

SIerでは技術力を求められないから

SIerで求められるのは「プロジェクトマネジメント」です。
ソフトウェアエンジニアリングのスキルは手を動かすことでしか身に付きませんが、業務中にコードを書くと「サボっている」と見なされるのがSIerです。

プログラミングはあくまで「趣味の範囲で、業務の手が空いたときに」やるものだからです。

IDEを開くと変な人扱いされますし、秀丸エディタ以外は邪道です。

「SIerの中でも技術力が身に付けられる」という人に問いたい。

お前は、「技術を身につけようと努力すること」が「サボり」と見なされる環境で、全力で走り続けられるのかと。

SIerの中でも技術力が身に付けられる人は、SIerの外に出ると3倍のスピードで技術力が上がります。

SIerの中で技術を追い求めるのは下りのエスカレーターを逆走するようなものです。

求められていないものをひたすらに追い求めるのは辛い上に、業務中にコードを書くようなけしからん奴にはまともな仕事が回ってこなくなります。

とにかくちゃんとパートナーの進捗を管理して、「できましたか?」と詰めて、報告資料をキレイにまとめ、こまめに報告するのがSIerの正義。

コードは悪。
手を動かすのも悪、誰かに作業させるのが正義です。

そんな環境で技術力を追い求めるのは茨の道です。

血だらけになります。

だから、SIerの中にいても技術力は身に付きません。

業務で技術的な内容を取り扱わないから

SIerで2010年代に作られたシステムに携われる人は幸せな人です。

SIer社員の多くは1990年代、2000年代に作られた古いシステムの保守・運用が業務になっているからです。

新たにシステムを設計・構築することはなく、既存のシステムを細々と保守していきます。
「エンハンスプロジェクト」では、しょぼい改修の内容を大げさに見積もり、大層な計画書を作り、ユーザーは幸せになりません。

SIer社員の仕事は延々とExcelやPowerPointとにらめっこして、ベンダーの作業内容を管理し続けることです。

他人の作業内容を綺麗にまとめ、上に報告します。

「テスト結果報告書」「検証結果報告書」みたいなものを3週間かけて作り、5回以上レビューします。

コードのレビューはしませんが、「報告資料」のレビューは徹底的に行います。

資料をレビューすることで「品質」が高まると信じているからです。

ここまで読めばわかるように、大手SIer社員の業務の中に「技術」は出てきません。

せいぜい協力会社が作ったExcelに書かれた「項目一覧」や「フローチャート」「UML」を眺めるくらいです。

UMLを眺めたところで、クラス図の羅列をただ眺めるだけなので、設計パターンの指摘などは出ません。

SIerの社員にとってプログラムはCOBOL時代から変わらぬ「単純作業」であり、設計書ができればコードは誰でも書けるものと思っているからです。

業務では徹底的に技術から遠ざけられます。

技術的な業務経験を積むことができません。
エンジニアリングはできません。

なので、SIerで仕事をしても技術力が身に付きません。

研修で勉強しても実践できない

SIerは研修が充実しています。
コードを書くような研修はあまりありませんが、機械学習などのセミナーはたくさん設定されています。

「DX研修」みたいなものもたくさんあります。
こういう研修をたくさん設定すれば、中で勝手に「DX人材(笑)」が育つと思っているからです。

研修受けたくらいで育つわけがありません。

まともな技術者は業務で技術を扱い、プライベートでもずっと勉強しているのです。

たかが3日かそこらの研修でスキルが身に付くわけないでしょう。
家でRailsチュートリアルでもやっていた方がマシです。

さらに残念なのが、研修で何かをやったとしても、業務で100%使われないことです。
何も活きません。

「AI研修を受けた」

という記録だけが残り、業務は何も変わりません。
使われない知識は消えていきます。

なので、結局無駄に研修費だけがかさみ、中の人たちは変わりません。

SIerでは技術力は身に付きません。

上層部が技術オンチ

SIerは原則、トップダウンで全てが決まります。
ボトムアップでプロジェクトの重要部分が決まることはありません。

プロジェクトマネージャーが事前に計画を立て、計画をレビューする偉い人がそれを認めてプロジェクトがスタートします。

プロジェクトマネージャーは延々と管理だけをやってきた人です。
まともな技術を知りません。

モダンな開発に変わることもなく、まずい設計は残り続けます。

今までと同じやり方でやらないと「リスクがー」「成功するのかー」などとツッコミが入り、いちいち面倒な説明をしなければならないからです。
とにかく技術オンチの偉い人を説得するのに手間がかかります。

プロジェクトマネージャーも基本的には忙しいので、わざわざ自分のプロジェクトで新しいことをやろうとはしません。

意思決定に携わる層が現代のテクノロジーを全く理解していないため、SIerの若手層は今もこれからもずっと、非効率で無駄な開発作業を強いられます。

ボトムアップが禁じられた環境で、上に立つ人間の技術知識が1990年代で止まっている。

「何をするか」はウォーターフォールで最初に決められて、プロジェクトマネージャーの知識の範囲を超えません。

上に立つ人間が技術的なボトルネック。

だからSIerでは技術が身に付かないのです。

リファクタリングのインセンティブがない

プロジェクトマネージャーは自分のプロジェクトを成功させることが第一の目標です。
テストも書かれていないシステムでは古いコードの改修はご法度です。
何か障害が起こったら詰められまくるからです。

SIerでは失敗は許されません。
徹底的な減点主義で仕事を評価します。

何か障害が起こったら、多方面から「報告書を出せ!」「原因を分析しろ!」「分析した結果をレビューしまくれ!」と指摘が入ります。

これが形式的な作業のくせに、死ぬほど面倒くさいのです。

「偉い人」は偉そうに詰めますが、肝心の問題解決に役に立ったところを私は一度も見たことがありません。

彼らのアドバイスは百害あって一利もありませんでした。

10年間SIerで働いてきて、「偉い人のレビュー」が役に立った経験が一つもないのです。

次の10年働いたとしても、偉い人のレビューは何の役にも立たないでしょう。

中の構造を知らずに、責任もなく適当に指摘してるんだから、アドバイスが役に立たないのが当たり前です。

しかしながら偉い人の言葉には水戸黄門の印籠のごとき効果があるので、現場の人間は

「ははーっ」

と頭を下げて、偉い人の思いつきの指摘に真摯に対応し、結果何も生み出しません。

指摘するならお前がやってみろ!責任を持って、現場で汗を流してみろ!

と言いたいですね。

奴らはとにかく口だけです。

SIerの人間は手に職がなく、作業を丸投げしながら生きていくので、最終的に誰もが「口先だけ」に行き着きます。

口先だけの役立たずのレビューを受けて、御神託のようにありがたがって、レビューの指摘に対応する。
そんなレビューを経て、プロジェクトを進めていくのです。

SIerではミスが許されません。

だから、SIerではリファクタリングのインセンティブは働きません。

秘伝のタレのように「自分たちだけはなんとかプロジェクトを乗り越えられるコード」をツギハギして、次のプロジェクトに負債を残していきます。

そうやって何十年もつぎ足された腐った秘伝のタレは、もはや誰にも手を付けられないモンスターに育ってしまいます。

その結果、ほんのちょっとの改修でさえ、とんでもない工数が必要な、生産性の欠片もない業務が生まれていくのです。

学習の指針がない

SIerにいた頃、私は迷走していました。
新しそうな技術にちょっと手を出してはまた別のものをやってみて、広く浅く、なんとなくわかっているけど何も身に付かないような状況が続いていました。
その理由は単純で、業務で一切新しい技術を使わないため、何を学んでいいのかがわからなかったからです。

学んでも学んでも業務に活かすことができず、消化不良でつまみ食いばかりしていました。

「これなら使えるかも!」と思っても、SIerの中で実践可能なものはExcel絡みだったり、管理絡みのものに限ります。

Dockerを導入しようとしても社内のセキュリティなんとか部の人に阻まれます。

まともな技術を扱う会社であれば、勉強に迷いがありません。
Railsを使っている会社で働くなら、迷わずRailsの勉強をすればいいんです。

インフラがKubernetes上で動いているなら、DockerとKubernetesの勉強をする。
フロントがVue.jsで動いているならVueの勉強をする。

このように、「自分が学ぶべきこと」に対する迷いがなくなります。
そして勉強したことが実務で直接活きてくるため、モチベーションが下がりません。

勉強すればするほど実務が楽になり、楽しくなるのです。

SIerは逆でした。
勉強すればするほど「現場で使えない」と苦しくなり、現場で新しい技術を試そうとすると、「本業に力を入れずにサボっている人」と見なされます。
そうすると別の管理業務が降り掛かってきます。

学べば学ぶほど苦しくなり、辛くなり、モチベーションの維持が難しくなります。

だからSIerでは技術が身に付かないのです。
ちなみに勉強方法に迷っているならプログラミングスクールなどで一定の指針をもらうのもいいと思います。

まとめ

SIerで技術力は絶対に身に付きません。
個人の資質云々ではなく、「技術力が身に付かない構造」になっているからです。

技術を磨いて、個人で戦っていける力をつけたいのであれば、外に出ましょう。
転職した方が絶対に早いです。