どうも、陽翔(@engineer_yosho)です。
未経験でエンジニアを目指すあなたへ。 どれくらいの技術力的があれば現場で通じるか、気になっていませんか?
答えを言います。
SIの現場のエンジニアになるのであれば、高い技術力は必要ないです。ただし、並レベルのコミュニケーション能力は必要です。
つまり、並レベルの技術力と並レベルのコミュニケーション力があれば通用します。
本記事で伝えたい事
- 未経験でエンジニアになる人はまずSIの現場が入りやすい。理由は求められる技術力がそこまで高くないから。この記事で紹介する最低限の知識を身につけて現場に入ってしまい、お金をもらいながら腕を磨くのが大正解
- ただし、新人研修がおわって現場に入ったばかり、プログラミングスクール卒業したてで現場に入ったばかりのエンジニアは、SIで必要なレベルにも達していないので、最初は半年くらいはガチで努力が必要。
本記事の信憑性
- 私は外資系IT企業に所属するエンジニアです。エンジニア歴は20年ほど。
- 金融系SIの経験は15年。さまざまなプロジェクトで多くのエンジニアと仕事をしてきました。
- 参考までに年収をお伝えすると、現在は1100万円ほどを稼ぐ事が出来ています。
是非、最後までお付き合いください。
さあ、どうぞ。
SIerで必要な技術力レベルは並レベル
最初に言っておきます。
SIのエンジニアをディスっているわけではないです。SIにはSIの都合があり高い技術力がなくても仕事ができるように仕組み化しています。
また、優秀なSIエンジニアは技術力だけでなくて、業務知識の高さでバリューを出しています。
注意ポイント
本記事でのSI、SIerの定義について
一般的にはSIerはSIの元受企業の事を指しますが、本記事でいうSIerやSIエンジニアとはSIに関わる全てのエンジニアを指しています。
つまり、2次請け、3次請けのSES契約ででSIerに派遣されるエンジニアの技術力レベルも本記事の解説に該当するという事です。
なぜ、SIエンジニアは並の技術力で通用するのか?
なぜ、SIエンジニアは並の技術力で通用するのか?理由は下記の2つです。
- 枯れた技術を使用するから(最先端の技術を追い求めなくて良い)
- 人による品質差が発生しないように仕組み化しているから
特に、「人による品質差が発生しないように仕組み化している」がポイントです。理由はこちら。
- ビッグプロジェクトは数百人のエンジニアは抱えしかもレベルは玉石混交だが、品質を均一化する必要があるから
- エンジニアの調達しやすくするために、必要な技術力を下げる必要があるから
その結果、SIにおける開発(プログラミング)は、こういう作業になっています。
- ソースコードに個性を求めない(むしろ個性を出されると困る)
- クリエイティブさは不要(ルールに準拠する必要あり)
- 結果、開発はただの作業
一般的にはこのような仕組みを設けています。
- あらゆる機能に共有して書く必要のあるコードはフレームワークに任せて、いちいちコーディングしないルールとする
- 誰がコードを書いても大差がないように、コーディングルールを細かく作り込む
- チーム内部でソースコードレビューを行い品質を高める
- 技術的に難しい部分は、ごく一部の技術力の高いエンジニアが担当するように作業を切り分ける
SI現場にいるエンジニアにとっては当たり前なのですが、エンジニアではない方から見ると結構意外じゃないでしょうか?
このあたりの事情を知らなくて、たまに自信をもって個性を出したコードを書く若者がいますが、まぁ、書き直しですね。
個性はないけど統一されたコードには大きな意味を知り、個性を出すべきところはソースコードではない事を早く理解して次のステップへ進んで欲しいです。(自戒の念)
なぜ、並レベルのコミュニケーション力が必要なのか?
エンジニアというと、パソコンに向かって黙々と作業しているイメージがあると思います。実際、それは正しいのです。
しかし、システム開発というのはひとりで行うものではなくて、数十人、数百人のチームで行うものです。特にSIは大きなチームで行う事が多いです。
そうなると、プログラミング担当であったとしても、それなりにコミュニケーションを取りながら仕事を進めます。
仕様の確認であったり、隣のチームのプログラムのインターフェースであったり、やっぱり色々と確認しながらが必要になります。

まぁ、普通にコミュニケーションが取れれば問題ないです。
しかし、コミュニケーションが中々取れないエンジニアが残念ながら一定数います。
下記のようなイメージです。前者のエンジニアはちょっと困る事が多いです。
- 技術力は高いけど、コミュニケーションが十分でなく、作ったプログラムにそもそも認識相違がある事が散見される人
- 技術力は普通だけど、コミュニケーションをしっかり取り勘違いや認識相違が少ない人
SIerでは具体的にどのくらいの技術力が必要か?
できるだけイメージしやすいように具体例を示します。また、話がぶれないように前提をおきます。
- SIプロジェクト
- 業務アプリケーション開発
- Webアプリケーション
- サーバーサイドはJava+RDB
【Lv1】最低限必要なレベル
最低限必要な技術レベルについて解説します。スピード感としては未経験から1年後に到達するイメージです。
与えられたタスクを与えられた期限で完成させる事ができるようになればやっと【Lv1】卒業です。
SIerで必要な技術力レベルについて【Lv1:最低限のスキル】にて以下の4つの観点で詳しく解説いたします。
- 開発手法
- 開発環境
- フロントエンド
- サーバーサイド
-
SIerで必要な技術力レベルについて【Lv1:最低限のスキル】
続きを見る
【Lv2】次の段階はスピードアップと品質向上
経験を積む事で開発スピードはアップしていきます。求める技術力は変わらないわけなので、おのずとスピードは上がります。というか、上がらなければ停滞しているという事になります。
【Lv2】までSI現場のエンジニアとしては一応、一人前として通じると思います。
SIerで必要な技術力レベルについて【Lv2:スピードと品質】にて以下の2つの観点で詳しく解説いたします。
- 開発のスピードアップ
- 品質向上【品質は信頼】
-
SIerで必要な技術力レベルについて【Lv2:スピードと品質】
続きを見る
【Lv3】パフォーマンスチューニング
さて、次のステップは求める技術レベルが上がります。ですがこのレベルになるとできるエンジニアの仲間入りです。
SIerで必要な技術力レベルについて【Lv3:チューニング】にて以下の2つの観点で詳しく解説いたします。
- SQLチューニング
- プログラムのチューニング
-
SIerで必要な技術力レベルについて【Lv3:チューニング】
続きを見る
【Lv4】トラブルシュート
【Lv3】のパフォーマンスチューニングよりも更に高いスキルが必要なのがトラブルシュートです。
トラブルシュートとは障害対応の事です。トラブルシュートができるようになると頼られるエンジニアの仲間入りです。
SIerで必要な技術力レベルについて【Lv4:トラブルシュート】で解説しますがトラブルシュートとはこのようなものです。
- 総合力での勝負
- だいたい即対応が求めらる
- 間違いが許されない
-
SIerで必要な技術力レベルについて【Lv4:トラブルシュート】
続きを見る
SIerのエンジニアが勝負すべき領域
業務知識でバリューを出すのがSIエンジニア
そして最後に。SIエンジニアは、並の技術力と並のコミュニケーション力があれば通用すると言いました。ただし、SIエンジニアとして成功したければ、業務知識は相当に高める必要があります。
技術力的には並で通用するように仕組み化しているので、【Lv1】~【Lv4】の違いはあれど5年目以降くらいになってくると、技術力では大きくが差がつきません。
しかし業務知識の深さでは天と地の差がつきます。そして、業務知識の習得には終わりはありません。
日々、その業務を行っているクライアントの業務知識のレベルは遥か先で、そのレベルに到達しているのはごくごく一部のエンジニアのみです。
業務知識が高いエンジニアはユーザーから必要とされ指名されるようになります。もちろん、市場価値も上がります。ですので、SIエンジニアは、色々な業界を広く浅くつまみ食いすると損です。
比較的早い段階で自分が専門とする業界や領域を決めて、その業界にどっぷりとつかって業務知識を高めるのが正解です。私はそう考えています。
まとめ:SIerで必要な技術力レベルについて
本記事はそろそろ終わりとなります。
SIerで必要な技術力レベルについてというテーマでお届けしてきましたが、如何だったでしょうか?
かなり突っ込んだ内容になっていますが、未経験の方にエンジニアに必要とされるレベルをお伝えできていれば幸いです。
本記事で言いたいこのはこの2点です。
- 未経験でエンジニアになる人はまずSIの現場が入りやすい。理由は求められる技術力がそこまで高くないから。この記事で紹介する最低限の知識を身につけて現場に入ってしまい、お金をもらいながら腕を磨くのが大正解
- ただし、新人研修がおわって現場に入ったばかり、プログラミングスクール卒業したてで現場に入ったばかりのエンジニアは、SIで必要なレベルにも達していないので、最初は半年くらいはガチで努力が必要。
最後までお付き合い頂きありがとうございました。
おススメ記事
-
転職サイト・転職エージェントをフル活用すべき3つの理由【おすすめ】
続きを見る