まずはじめに、プログラミングスクールの批判がしたいわけではありません。きちんとプログラミングスクールを運営する会社もメンターさんも、生徒にプログラミングで「手に職」をつけて欲しいと、授業も就職支援も必死なのは承知です。
しかし、インターネットやテレビCM、街角の広告を見ていると、プログラミングスクールに通ったから理想の環境で活躍できるという印象を与えかねないものが多い気がしています。ただ現実はそんなに甘くなく、ただプログラミングスクールを卒業しただけという人が活躍できる場所は限られており、目指したいキャリアパスを辿れない可能性も少なくありません。また、生徒のプログラミングスキル習得よりも、プログラミングスクールの利益を優先する悪徳なプログラミングスクールが存在しているのも事実です。
プログラミングスクールの現実を知って、初手プログラミングスクールではなく、自分に合った選択肢を選んで欲しいと思って、記事を書きます。
なぜプログラミングスクールが流行るのか
ITエンジニアが不足している
1つ目の理由は、ITエンジニアが足りていないためです。
IPAが公開している 「IT人材白書2020」によると、2019年度に996社のIT企業に対して行った、IT人材の量に対する不足感の調査によると、IT人材が不足していると答えたIT企業の割合が9割以上を占めており、業界全体として人手不足に陥っている状態であることを示しています。
さらに、2020年に襲った新型コロナウイルスに伴う新しい生活様式への変化による、在宅勤務(テレワーク)や在宅学習への急激な移行によって、アナログでやりとりしていた既存の仕組みをデジタルに置き換える動きが加速しただけではなく、1人ひとりの生産性がより重要視されるようになったことでシステムを活用した生産性向上にも目を向けられるようになり、IT需要が増加、IT人材の不足が拡大していると思われます。
運営すると儲かる
2つ目の理由は、プログラミングスクールを運営すると儲かるからです。
プログラミングスクールは、生徒が支払う受講料で儲けているというイメージが強いかもしれませんが、それだけではありません。
プログラミングスクールの収益源は2つあります。
「生徒からもらう受講料」、それから「企業からもらう人材紹介料」です。
プログラミングスクールと人材不足の企業が裏で繋がっていて、プログラミングスクールで育てた生徒を企業に紹介することで収益を得る仕組みになっているんですね。
人材紹介料は年収の約35パーセントといわれており、例えば年収400万円の人材紹介を行うと、140万円の人材紹介料となります。「企業からもらう人材紹介料」が主要な収益源というプログラミングスクールも少なくありません。
また、自社の採用ページや転職サイトではエンジニアを集められないような企業が、プログラミングスクールと手を組んでいる可能性があることを忘れてはいけません。とくに、プログラミングスクールと手を組んでいるSES企業には注意が必要で、SES企業に入社してしまうと、あなたのキャリアアップ(ステップアップ)のチャンスを閉ざしてしまいかねません。
宣伝すると儲かるから
プログラミングスクールを勧めているブログがたくさんありますが、それらのブログ運営者は広告費としてプログラミングスクールからお金をもらっています。あるいは、プログラミングスクールに入会させることで広告費をもらっています。
もちろん、ブログの運営者自身がプログラミングスクールでプログラミングスキルを身につけて、ITエンジニアとして成功したから、自信をもっておすすめしているケースもあるかもしれませんが、一方的にプログラミングスクールの表の面だけに注目して宣伝している記事には注意が必要です。
プログラミングスクールだけではシステム開発できない理由
ところで、プログラミングスクールで身につくスキルとは、なにか分かりますか?
…
それは、プログラミングスキルです。
プログラミングスクールのカリキュラムを確認すると、プログラミング言語やフレームワークの使い方に特化しているようです。
いやいやそんな当たり前のことを言われても、と思う方もいると思いますが、プログラミングスクールで習得できるプログラミングスキルだけでは実際の業務で求められている複雑で最適化されたシステムを構築できるようにはなりません。
なぜ、プログラミングスクールに通うだけでは実際の業務で求められている複雑で最適化されたシステムを開発できないのでしょうか。
適切な実装を選択できない
本来、データ構造や基本的なアルゴリズムといった知識があって、適切な実装を選択することができます。
プログラミングスクールのカリキュラムをみると、プログラミング言語の文法や簡単なアプリケーションの開発に重点を置きがちで、そういった基礎知識は教えてくれないことが多いようです。生徒のレベルも様々であり、教える時間も確保できないためでしょうか…。
ただ、単純なアプリケーションに限れば、フレームワークやライブラリをお手本通りに使うことで、処理を実装できてしまうこともあるので、基礎が全員に必要ではないかもしれませんが、今後、フレームワークやライブラリを利用するだけではなく、複雑な仕様を適切に実装できるようにスキルアップするためには、基礎を抑えることが大切です。
プログラミングスキルが必要な工程は全体の一部
システム開発においてプログラミングの技術が必要とされる場面は実装と呼ばれる工程で、全体の工程のうちの一部だからです。
ウォーターフォール型の開発では、実装のほかに、要件定義、基本設計(外部設計)、詳細設計(内部設計)、各種テストといった工程があり、これらの工程ではプログラミングスキルとは異なる知識が必要になります。
アジャイル型の開発においても、実装のほかに、設計や各種テストといった工程がちゃんとあり、ウォーターフォール型と同様にプログラミングスキルとは異なるスキルが必要になります。
プログラミング言語を学んで初めのうちは実装を担当していて、いざ設計にも挑戦したくても、設計を任せてもらえる立場にいなくてはなりませんし、必要な知識は自分で身につける必要があります。
独学できるスキルが最重要
プログラミングスクールに通う人全員に“独学できるスキル”が無いとは言いませんが、教えてもらわないとプログラミングスキルを習得できない、独学できない人と思われてしまう場合があるのも現状です。
ITエンジニアという職種を選択した以上、技術の発展についていくために、継続して新しい技術を習得し続ける必要があります。そのため、“独学できるスキル”が、プログラミングスキルや設計のスキル以上に、ITエンジニアにとって最も大切なスキルかもしれません。
今後求められるITエンジニア
先程も紹介した「IT人材白書2020」をもう少し見てみると、IT人材の量だけではなく、慢性的にIT人材の質も不足していることがわかります。
また、経済産業省が公開している IT人材需給に関する調査 によると、2030年には約45万人のIT人材が不足すると言われています。また、IT需要の伸び次第では最大79万人のIT人材が不足する予想です。
私たちの感覚通りでITエンジニアが不足するのは、間違いないようです。
しかし、不足する約45万人のIT人材の内訳を見てみると、AI や IoT、ビッグデータ活用等のデジタル技術の需要増加に応じた既存人材のスキル獲得がうまく進まなければなければ、前記デジタル技術に対応した「先端IT人材」は大量に不足するのに対して、それらのデジタル技術に対応できない「従来型IT人材」はむしろ過剰となるようです。
仮に、従来型IT人材が過剰となった場合、別の職種への転職を余儀なくされるのはスキルの無いエンジニアです。そうならないためにも、プログラミングスクールでは教えてくれない高度なプログラミングスキルや、プログラミングスキル以外のスキルを身につけるための、自発的な努力が大事です。
未経験からITエンジニアとして活躍するには
これらのことから、プログラミングスクールの利用を検討している未経験からITエンジニアを目指す層が、今後もITエンジニアとして活躍するために必要な要素をまとめます。
- プログラミング言語の表面的な知識だけではない、プログラミングの基礎知識を習得する。
- プログラミングスキルだけではなく、システム開発に必要な幅広いスキルを身につける。
- プログラミングスクールの人材紹介に頼るのではなく、自分自身がステップアップできる企業に入社する。
おすすめの勉強方法
未経験からITエンジニアを目指す方にとって、転職成功にも繋がるおすすめの学習方法を紹介します。
資格取得(資格試験合格)を目指す
資格を取得することによって、あなたが身につけているスキル・知識そのものだけではなく、自発的に努力できる力を証明することができます。僕は、前職の中小企業であっても現在の大手メーカー企業であっても、資格保有者が評価されてきたのを目の当たりにしてきました。
とくに、未経験からITエンジニアを目指す方におすすめな資格は、応用情報技術者試験です。
大学でコンピュータサイエンスの学位取得のために情報系学部の人が学ぶ範囲と、応用情報技術者試験の試験範囲がほぼ同じです。未経験からであればそれなりに勉強する必要がありますが、基礎をしっかり固めてITエンジニアとして活躍したいのであれば、狙ってみると良いと思います。
Udemyでプログラミング言語を習得する
プログラミングスクールに高い受講料を払って教えてもらわなくても、Udemyを利用すれば安価に質の高い講義を受けられます。国内外問わず、トップレベルの企業でITエンジニアとして働いている方が講義を作成されていたりするので、Udemyのサイトを訪れたことが無ければ、一度覗いてみると良いと思います。
\ Udemyのサイトをチェックする /
企業選び
未経験からITエンジニアを目指そうと転職サイトを開くと、相当数のSES企業が紛れ込んでいますが、ITエンジニアとして今後活躍し続けたいのであれば、出来る限りSES企業は避けたほうが無難です。
自社開発企業か受託開発企業で、プログラミングスキルだけではなく設計や要件定義といった、システム開発に欠かせない上流工程のスキルも学んで、ステップアップしていくのがおすすめです。きちんと設計も実装もできるエンジニアは、どの企業に行っても重宝されます。
ぼくのおすすめは、応用情報技術者試験に合格した後に、自社開発企業や受託開発企業に採用してもらうルートです。未経験でスキル無しの状態ではSES企業しか選べない人であっても、自身の知識や”自発的に努力できる”ことを証明できれば、自社開発企業や受託開発企業にも入社できる確率がアップします。
まとめ
ITエンジニア全体の売り手市場は今後も続く予想ですが、”従来型IT人材”が過剰となる可能性もあったり、企業はITエンジニアの”質”(スキルの高さ)を求めており、未経験からITエンジニアを目指す人にとって必ずしも追い風が続くわけではありません。だからこそ、小手先だけのプログラミングスキルだけではなく、プログラミングの基礎や設計のスキルを身に着けることで、今後も継続して活躍できるITエンジニアとなってほしいと思っています。