SIerにはプログラミングができないSEがシステム設計やプログラマーの管理をしているケースが結構あります。
でも正直、僕はプログラミングがわからない肩書きだけのSEが長いこと活躍できるのか疑問です。「いやいや上の人ほどプログラミングわかってなきゃダメでしょ」と。
そういうことを言うとSIerのエンジニア達から
「でも今はうまく回っているし大丈夫なんじゃないの?」
「汎用的なマネジメントスキルがあればどこでも活躍できるのでは?」
という声が返ってきそうです。
しかし断言します。SIerでプログラミングできないSEは詰みます。PMの補助している人とか、今が大丈夫だからって安心してたら正直"やばい"ですよ。
というわけで、今回はなぜSIerでプログラミングできないとやばいのか解説していきます。
・プログラミングできない悲劇のエンジニアを抜け出す方法
・おすすめの言語と学習ロードマップ
若くしてリストラ対象にならず、エンジニアとして活躍し続けたい人はこの記事を参考にしてください。
やまもとりゅうけん(@ryukke)
WEB/ITコンサルのワンダフルワイフ株式会社代表取締役。 新卒で東証一部上場企業にプログラマーとして就職したのち、27歳でフリーランスエンジニアとして独立し、サイバーエージェント大阪支店等に勤務。 現在は日本最大規模の複業コミュニティ「人生逃げ切りサロン」を開設し、3年間で参加者5000名超まで拡大させる。
プログラミングができないエンジニアから今すぐ脱却する▼
目次
SIerがプログラミングできないと言われるのは開発経験を積めない工程にいるから
そもそもSIerに所属しているSEはなぜプログラミングができないのでしょうか。答えは単純に開発経験を積めない工程にいるからですね。
SIerがクライアントから依頼を受けて開発・改修するシステムは大抵大規模です。設計・開発・保守・運用などの工程があり、すべての工程でITエンジニアが重要な役割を担っているのは間違いないです。
しかし大前提としてSIerに入社したら、どの工程に配属されるとしても早い段階でプログラミングを経験させてもらいましょう。残酷な話かもしれませんが、正直プログラミングがわからないSEって換えがきいてしまうと思うんですよね。
仮にプログラミング経験がなくてもSIerとして開発現場を見ていることで、IT分野の知識や内部事情には詳しくはなるでしょう。しかしそれで仮にマネジメントポジションに入れたとしても苦しむことになるかもしれません。
SIerの仕事内容とプログラミングとの関係
実際にSIerで働いている方は、日々の業務に追われていることが多いでしょう。一方で、これからSIerに転職や就職を考えている方は、SIerが置かれている業界のイメージが湧かないのではないでしょうか。
SIerとプログラミングの関係を理解しておくと、プログラミングができるというのは、自身の価値を上げるための重要なポイントだとわかるはずです。
SIerの役割と種類
SIerの役割は、ITシステムの設計・開発・導入です。システムの導入までには、上流・中流・下流の3つの工程に分けられ、全てSIerで完結するわけではありません。
SIerは、主に「企画」「要件定義」「設計・開発」「維持・保守」の4大業務と言われる中の、「企画」「要件定義」あたりの上流工程を担います。
コミュニケーション能力が高く、顧客のニーズを的確に把握できる人、プロジェクトを円滑に進めることができる人など、様々なタイプの人材が活躍できるのがSIerの特徴です。
とはいえ、SIerでSEとして活躍することは、プログラミングをしないものの、プログラミングを理解しているという基礎の上に成り立つものです。
SIerは、その規模や得意とする分野によって、以下のように分類されます。
- 大手SIer
- 中堅SIer
- ベンチャーSIer
SIerにおけるプログラマーの仕事
簡単にいうとプログラマーは「システムの理想をどうやって実現するか」を考える仕事と言えます。プログラマーの、具体的な業務は以下のような工程を担います。
- プログラミング:設計書に沿って、プログラムコードを作成
- テスト:意図した通りに動作するかをテスト
- デバッグ:テストで発見されたエラーを修正
- ドキュメント作成:プログラムに関する説明書を作成
また、SIerでプログラマーとして働く場合、様々なキャリアパスが考えられます。
-
- スペシャリスト:特定の言語や技術に特化し、専門性を高めていく
- プロジェクトリーダー:リーダーとなり、プロジェクトを管理する
- システムアーキテクト:システム全体の設計を担う
- コンサルタント:顧客へのヒアリングから、最適なシステムを提案する
なぜSIerでプログラミングができない人が多いのか
SIerでプログラミングができない人が多い理由は、以下のような業界構造、キャリアパスなど、様々な要因が複雑に絡み合っています。
- IT業界の多重下請け構造
- 自動化・ツール化の進展
- 顧客との折衝能力などを重視する企業文化
IT業界は多重下請け構造が一般的で、プログラミングは中小SIerやSESに委託されることが多いです。そのため、大手のSIerの社員は、プログラミングの経験が少ないまま、上流工程の業務に特化していく傾向があります。
また、一部のSIerでは、コードを書くよりも、顧客との折衝能力やドキュメント作成能力を重視する傾向があり、プログラミングスキルがなくても活躍できる環境が整っているケースもあります。
SIerでプログラミングができないSEがエンジニアとして詰む理由4つ
SIerでプログラミングができない人は将来的に詰みます。極論プログラミングができない人の変わりはいくらでもいるからです。
早い段階で開発現場に入ってプログラミングの実務を経験しておかないと、いつの間にか現在のSIerでも居場所を失い「転職先も無い......」なんてことになりかねません。
エクセルパワポ作業ばかりで市場価値が下がり続けていないか、胸に手を当てて考えてみてください。本来SEはプログラマーの上位職種なので、プログラミングがわからないと正直まずいです。
SIerのエンジニアとして生き残る道を解説していきます。
1.技術的に可能かどうか検討できず最適な工数も出せない
SIerのSEがクライアントと会議をしていると「これできますかね」と聞かれることがあると思います。このとき大雑把でも技術的に対応可能か、難易度に見合った人員配置をどうするかなど即答できますか。
クライアントから聞かれる度に伝言ゲームみたいにプログラマーに「これできますかね」と頼っているようではスピード感にもかけ、クライアントはもちろんプログラマーからも内心「使えないな」と思われているかもしれません。
最悪なのはいい加減な工数の見積もりで受注して、プログラマーを人数・技術とともに不足した状態で馬車馬のように働かせることです。プログラマーが無理して体調を崩したら対応するのあなたですし、結局実現不可能で大炎上したら誰もが不幸になります。
「だったら多めに工数積んでおくか」と思う人もいるかもしれませんが、そんな単純な話じゃないですよね。工数を積み過ぎれば、高額になってクライアントからの失注リスクが高まります。
いい加減な工数を設定してプログラマーやクライアントから恨みを買わないように、SE自身もプログラミングを経験して適切な工数を見積もれるようにしておきましょう。
2.コードレビュー時に問題があっても気づけない
プログラマーから上がってきたソースコードを確認するコードレビュー、説明を受けているときに右から左に聞き流していませんか。あんまり言いたくないですが時間も労力も無駄ですよね。
SEにはプログラミングされたシステムがクライアントの要望通りの仕様を満たしているか、ロジックが正しくて不具合が発生しなさそうか確認する責任があります。
変な書き方をしてたらシステムのパフォーマンスも下がりますし、後々改修しづらくなりますからね。
もちろん仕様が満たされているかどうかは、テスト環境でUIを見れば分かるかもしれません。しかしSEが中身を理解していないと、クライアントに納品する際もプログラマーが同席して説明する必要が出てきます。
「ぶっちゃけあのSIerのSEいらなくね?」
プログラマーからこんなこと思われないように、ある程度プログラミングできた方が良いと思います。
3.トラブル発生時に対処できない
SIerでプログラミングができないSEはトラブル発生時もプログラマーに頼りっきりです。
たとえばシステムが何らかの不具合でダウンしてしまったとします。調査をするのはプログラマーで、SEはその報告をもとにクライアントへの説明や具体的な対策を検討します。
しかしこのとき、SEがプログラミングを理解していないとトラブルが長期化し、最悪の場合炎上しかねません。プログラマーからの報告を理解できずに聞き返したり、よくわからないままクライアントに説明したりして混乱を招く可能性があるからです。
もちろんプログラミングできる上司や同僚が近くにいる間は大丈夫かもしれませんが、プログラマーがいなくなったときに代わりにプログラミングできるぐらいスキルは身についていますか。
4.下がり続ける市場価値がキャリア選択の幅を狭める
プログラミングができなければ、エンジニアとしての市場価値は年々下がり続けます。年々社内異動も厳しくなりますし、今のSIerでしか使えない知識をいくら蓄えても次の現場には活かせません。
転職市場でも求められるのは即戦力です。仮に今首を切られたとして次の就職先を見つけられる自信はありますか。1つぐらいプログラミング言語を使えるようになっておかないと、かなり苦労すると思いますけどね。
「いや別に転職なんて考えてないし......」
と考えている人も終身雇用が崩壊し始めていることを思い出してください。2019年にはトヨタですら「終身雇用は難しい」と言っていますし、SEが多数所属している富士通でも2,850人のリストラが起こりました。
現職では技術ができない名ばかりSEとして必要とされず、転職先でも「使えないから早く辞めてくれ」なんて言われたら、メンタルが追い込まれてしまうんじゃないですかね。
SIerでプログラミングができないときの対処法
SIerでプログラミングができない人はプログラミングを勉強しましょう。あたりまえですね。本当の意味でエンジニアになるために、まずは1つでも良いのでプログラミング言語を習得してください。
色々と方法はありますが、ここではその一例をご紹介します。
社内でプログラミングできる部署やプロジェクトに異動する
現在プログラミングができないSIerにいるなら、社内でプログラミングを担当する部署やプロジェクトへ異動させてもらえないか上司や営業担当に相談しましょう。
プログラミングを学ぶのはスクールとかでも別にいいんですが、やはり現場で荒波に揉まれながらの方が明らかに身に付きます。
異動の願い出は、たとえば管理者のポジションなら「プログラミングがわからないのにまともな設計ができるはずがない、プログラミングをやらせてくれないなら転職する」ぐらいのことは言っても良いと思います。あなたは何も間違っていません。
ただしいきなり言うのではなく、日頃の業務をしっかりやって信頼を積み重ねておくのが基本です。きちんとやった上で1年ぐらい言ってダメなら他のSIerなどへの転職を本格的に始めましょう。
独学でプログラミングを学ぶ
もしもSIerでプログラミングができなくても、いつでもプログラミングの現場に入れるように準備しておきましょう。ただ単に「プログラミングを担当する現場に行きたい」と言うだけよりも説得力が増します。
プログラミングは一応独学でも習得可能です。メジャーな学習サイトはProgateやドットインストールですね。
勉強を続けつつ、定期的にpaizaのプログラミングスキルチェックなどで現場を確認するのもおすすめです。
すでにプログラミング独学で勉強しているけどわからなくて辛い方はこちら▼
【初心者あるある】プログラミングがわからない原因5つ!対処法も解説
プログラミングスクールに通う
プログラミングの独学を紹介しましたが、はっきり言って90%は挫折します。残念ながらよっぽどプログラミングが好きとか、覚悟があるとかじゃないと1人では長続きしないのが現実なんですよね。
何事も挫折しないためには仕組み作りが重要です。プログラミングができるようになりたいなら、プログラミングスクールに入りましょう。挫折しがちな人でも就職までメンターがサポートしてくれるので安心です。
ちなみにプログラミングスクールはたくさんあるんですが、僕が一つ選べと言われたらGEEK JOBさんを選びます。
GEEK JOBのスピード転職コースなら、無料でプログラミングが学べて最短22日で転職できるんですよね。
ほかのプログラミングスクールだと50万とかだってありえるのに、お金をかけずに学べるのは結構すごいと思います。転職成功率も97.8%なので、よっぽどやる気がない人なければ転職できます。
期間について短く感じる人もいるかもしれませんが、プログラミングは開発現場で学ぶのが一番手っ取り早いです。そもそも現場によって扱う言語は変わりますし、プログラミングは体型的に学ぶよりも達成したい目的があって学ぶのが基本だからです。
あなたが今どんなレベルだろうと、現場に入ってがむしゃらに働きながら学べばある程度プログラミングはできるようになります。
今現在エクセル・パワポでの資料作成ばかりで異動を聞き入れてもらえないなら、基本的なプログラミングを学んでさっさと転職してしまいましょう。
プログラミングができないエンジニアから今すぐ脱却する▼
SIerのプログラミングにおすすめの言語と学習ロードマップ
プログラミング言語は知名度の低い言語も含めると200種類以上あります。派生言語も含めると1,000種類以上にも。
プログラミング言語を学習する際には、市場価値が高く、将来性のある言語を選ぶようにしてください。ここでは、SIerのソフトウェア開発で利用されるメジャーな言語に絞って、ご紹介します。
SIerで使われるおすすめの言語
SIerでよく採用されるプログラミング言語は、一般的に以下のような言語なので、習得しておくと有利です。
- Java
- C言語
- C#
- C++
- JavaScript
- Python
- HTML
- CSS
- PHP
SIerでよく採用されるプログラミング言語は、プロジェクトの種類、規模、要望などによって大きく変わります。
Webアプリケーション開発、業務システム開発、組み込みシステム開発など、開発するシステムの種類によって適した言語が異なります。
また、システムの規模によって求められる性能や機能が異なりますし、既存のシステムとの連携が必要な場合は、既存システムで使用されている言語に合わせて開発されることも多いです。
実際に、開発したいシステムにはどういった言語が使われているのか確認することをおすすめします。
プログラミングの学習ロードマップ
プログラミング学習のロードマップは、あなたの目標や興味によって大きく変わってきます。ここでは、一般的なプログラミング学習のステップを、初心者からエンジニアとして働けるレベルまでを想定してご紹介します。
目標設定と言語選択
プログラミングでは、Webサイトやスマホのアプリ、AIやロボットなど作りたいものを決めてから言語を選ぶようにしましょう。
フロントエンドならHTML、CSS、バックエンドならJava、JavaScript、Python、データサイエンスならPythonといったところですね。
バックエンドとは、機能やデータの処理など、システムが裏側で動作する領域を開発すること。
基礎の学習
プログラミングの基礎を学習するにはさまざまな方法がありますが、僕が推すのは、エンジニアとして情報発信をしているから直接教えてもらうってことですね。
独学なら、メジャーな学習サイトはProgateやドットインストール、プログラミングスクールに通うならGEEK JOBさんで基礎を学ぶと効率的ですよ。
実践的な学習
プログラミングの基礎を学んだら、計算機、ToDoリスト、簡単なゲームなどを作成して、実践的な学習をしていきましょう。
一からエディタにコードを書くことで、学習サイトの補助がないので、思ったよりも苦戦します。
この工程で、頭だけでなく体で理解できるように落とし込んでいきます。どこかのソースを写経するより、意味を調べながらするとより効果的です。
現場経験を積んでいく
基礎の学習は早々に済ませて、現場の経験をどんどん積んでいってください。現場で経験を積むことでしか本当の意味でのプログラミング能力は身につかないですから。
プログラミングスキルは簡単です。その理由も以下の動画で話しているので、チェックしてみてください。
まとめ:SIerでプログラミングできないなら結論プログラミングスクールがおすすめ
今現在プログラミングを担当しないSIerにいるなら早めに見切りをつけて転職してしまうのがおすすめです。とは言え全くの無知な状態から転職は厳しいと思うので、まずはプログラミングスクールを受講しましょう。
もしプログラミングスクール選びに迷ったら先ほど紹介したGEEK JOBに無料で相談してみましょう。現状維持で取り返しのつかないことになる前に、少しでも前に進んでみてください。
人手不足のSIerです。仮に転職先がブラック企業だとしてもまた別のSIerに行けば良いのです。
プログラミングができないエンジニアから今すぐ脱却する▼