Slerにいるけど、プログラミングができない、将来が不安・・・という方の悩みを解決します。一般的にSlerではキャリアアップの道がマネジメント寄りになります。そのため、将来的にプログラミングが出来ない可能性が高いです。今回は、Slerの問題点とプログラミングのスキルを伸ばす方法をご紹介します。
1. SIerに就職・転職するとプログラミングはできない?
結論からいうと、Slerに就職・転職するとプログラミングを学ぶ機会は少ないです。
キャリアパスがマネジメント寄りになるため、下流工程であれば、多少はプログラミングができるかもしれませんが、年数を重ねるごとに学習できる機会は少なくなるでしょう。
1.1 【前提】SIerはウォーターフォール開発が一般的
ウォーターフォール開発は、開発を複数の工程に分け各工程の終了時に成果物を作成します。「水が流れ落ちる」様に工程が進むことから名付けられており、上流工程から下流工程まで流れる様に開発が行われます。
SIerは請負開発になるため、プロセス・納品物を明確化する必要があることからウォーターフォール開発が採用されるケースが多いです。
1.2 【結論】下流工程のコーディングの機会は与えられる
ウォーターフォール開発では工程・役割ごとにプロジェクトメンバーをアサインします。要件定義は2名~3名、基本設計は5名、詳細設計は10名、実装・開発は50名といった形で分業化・専業化を行います。セキュリティのみの担当、進捗管理のみの担当というケースもあります。
そして、SIerでは要件定義・設計をはじめとする上流工程を実施した後、コーディング作業は下請けに外注するケースもあります。上流工程~下流工程まで自社内で一気通貫で担当するケースは大規模案件では特に少ないです。結果として、経験を積むごとに関わるフェーズが上流に近づき、実際にコーディングする機会は減りやすいです。
よって入社直後など経験が浅い時期に、下流工程のコーディングの機会は与えられるケースがあるが、だんだんと開発に直接的に携わる機会は減る傾向にあります。
1.3 マネジメント寄りのキャリアパスが一般的
キャリアパスとしては、下流工程で経験を積んだのち、クライアント企業から業務要件をヒアリングしてシステム仕様に反映したり、仕様をクライアントにプレゼンテーションするといったマネージャー/ディレクター寄りの業務に移行します。
さらに経験を積むとチームリーダーとなり、プロジェクトマネージャとなります。一般的にSE(システムエンジニア)と呼ばれる人がこのキャリアを歩むことが多いです。
プロジェクトマネージャ寄りのキャリアパスを志向する人が多い傾向にあり、自社サービス開発やエンジニアとしてのスキルアップを志向する人は事業会社のエンジニアへと転職することも多いです。
またSIerでのプロジェクトマネジメント経験とプログラミング知識を活かして、ITコンサル会社へと転職するケースもあります。
1.3.1 新たな言語やフレームワークの学習機会が少ない
Slerはキャリアパスがマネジメント寄りなので、コーディングスキルを磨く機会は相対的に少ないです。また新規の言語やフレームワークは、大規模な官公庁や大企業の案件ではセキュリティホールのリスクから採用しづらいです。一方でエンジニアにとって魅力的な新たな技術は、それらの言語やフレームワークに詰まっていることもあります。
2. SIerがプログラミングができないことで発生する問題点・危険性
Sler業界がプログラミングができないことで発生する問題点・危険性としては、業務に支障をきたすことや最悪の場合、「エンジニア」としてキャリアアップや転職が難しくなるケースがあります。
2.1 仕様書・開発見積もりの内容が不正確になりやすい
仕様書や開発見積もりに抜け漏れがあり、クライアントとの間に認識の違いが生まれ、後から要件変更になるリスクがあります。
ウォーターフォール開発の場合、作業が分業かつ一方通行的に進み、外注を交えることもあるため、要件変更が発生すると手戻りが大きく、余計な工数がかかってしまいます。
2.2 「技術的に対応可能か」の見積もりができない
SIerで上流工程を担当するエンジニアはソリューションアーキテクトの役割も担うケースがあります。具体的には営業担当に同行して、技術課題のヒアリングや解決策の提案、各種質疑応答を担当するなどです。しかし技術知識が浅いと、クライアントの質問に質の高い回答ができず、信頼を失ってしまう可能性があります。
2.3 エンジニアとして転職やキャリアアップが難しくなる
マネジメントやソリューションアーキテクト、プリセールスの働き方がメインの場合、開発経験を積むことができず、年齢を重ねるほど「エンジニア」としての転職やキャリアアップは難しくなるでしょう。現職がSIerのエンジニアで、技術者としてキャリアアップしていきたい場合は「転職する」「個人で業務を受注する」などスキルの伸ばし方を検討すると良いです。
3. SIerで働くことで得られるメリットは何?
Slerで働くことで得られるメリットは、安定的に豊富なプロジェクトに関われることや、プログラミングだけではなく、汎用性の高いビジネススキルを身につけることができる点です。がっつりプログラミングをやるというよりは、マネジメントなどさまざまなビジネススキルを身につけたい人に向いているといえます。
3.1 安定的に豊富なプロジェクトに関われる
SIerは官公庁や医療機関、金融機関など堅牢性が要求され、なおかつ開発規模が大きい案件を安定的に受注しているケースが多いです。分業かつウォーターフォール開発のため、事業会社のようなアジャイル開発のスピード感やPDCAサイクルを回す経験は積みづらいが、安定的に開発に携われることは経験になるでしょう。
3.2 汎用性の高いスキルが身につく
プロジェクトマネージャ志向が強い人にとっては、プログラミングスキルをベースに、セールスやプレゼンテーション、プロジェクトマネジメント、進捗管理など汎用性の高いビジネススキルを身につけられる環境ではあるでしょう。
「プログラミングは好きだが、プログラミングを生涯の仕事として一生技術を磨き続けたいか」というとそれほどでもない、という人にとってはプログラミング+アルファのスキルを早くから磨ける環境と言えます。
4. SIerでプログラミングができないエンジニアがスキルを伸ばすには?
スキルを伸ばすには、プログラミングを学習したり、個人で案件を獲得して一人でこなせるだけのスキルを身につける必要があります。
4.1 学習する
プログラミングの基礎にそもそも自信がない、もしくは学び直したい場合は基礎から復習するようにしましょう。または、学習の過程として資格を習得するのも良いでしょう。資格を習得することで、知識を身につけるだけではなく会社の昇給・昇進や転職活動に有利になるので一石二鳥です。詳しくは以下のページを参考にしてください。
4.2 個人で案件を獲得する
フリーランスとして案件を獲得したり、ココナラやクラウドワークスなどクラウドソーシングを紹介+エージェント経由でも探すことをお勧めします。フリーランスの求人として、プロエンジニアでも豊富な案件を取り扱っていますので、参考にしてください。
4.3 転職を検討する
自社開発をしているWebサービス企業に転職するのも良いでしょう。要件定義~開発、リリース後のユーザーの反応を踏まえてのPDCAやABテストまで一気通貫で担当できるため、スピード感が求められます。慣れない内は仕事内容がハードですが、その分早い成長が見込めます。
もしあなたが現在Slerにいてスキルはあるけど、プログラミングができない・・・と悩まれているのなら、ぜひプロエンジニアの案件でスキルアップをすることをおすすめします。
また、Slerにいてそれっぽいことをやっているけど、何ひとつプログラムが書けない、今後もやる機会がない状況ならやり直す意味で、プログラマカレッジのスクールに通い、転職活動をすることをおすすめします。求人数3500社以上の豊富な選択肢の中から、あなたに合う求人を見つられます。
5. まとめ
今回は、Slerにいるとプログラミングができない理由や、エンジニアがスキルを身につけるためにはどうすれば良いのかを解説しました。「技術者」として成長していくためには、個人のスキルを伸ばすことが重要です。
そのためには、個人で案件を受注したり、場合によってはWEB系の企業に転職を検討することで、大きく成長が見込めるはずです。 本記事を良く読んで、将来のために自分がどう行動すべきかよく考えて頂けると幸いです。