CommentOut

プログラミングスクールに行っても意味がない? プログラミングスクールに行っても意味がない?

プログラミングスクールに行っても意味がない?

公開日:  最終更新日:

私がプログラミングをしているせいか、WEB広告でたくさんプログラミングスクールの広告が表示されます。
私はプログラミングスクールのチューターをやっていたこともあるのですが、そんなにプログラミングスクールって儲かる商売なんでしょうか?

プログラミングスクールの謳い文句って

  • プログラミングを身に付けると、パソコンがあればどこでだって仕事ができる!
    だから、リゾート地でくつろぎながらワーケーションしよう!
  • フリーランスになって、ストレスフリーな仕事をしよう!
  • 手に職が就くから仕事に困ることがない!

とかそういう憧れ系が多いと思うんですけど、本当にそうでしょうか?

また、このブログを見ている人の中には、自身の子どもがプログラミングスクールに行こうとしている親御さんも居ることでしょう。

プログラミングスクールでプログラミングは身に付くのか!?

まず、最初の疑問として『プログラミングスクールに通えば、プログラミングができるようになるの?』があると思います。

これは非常に言い辛いのですが、私はプログラミングに向いている人と向いていない人が居ると思います。
向いている人の中でも、”すぐに身に付く人”と”なかなか理解できない人”が居ます。
向いていない人はいつまで経っても習得できません。

すぐに身に付く人は良いのです。
しかし、難しいのは”プログラミングに向いているけど、なかなか理解できない人”と”そもそもプログラミングに向いていない人”の判断です。

プログラミングは独特の思考が必要で、思考がなかなか切り替えられない人は『最初の壁』にぶち当たります。
思考の切り替えがうまくいけば、向いている人ならその先スルスル進むと思いますが、向いていない人はその後も苦労すると思われます。

なので、簡単に諦めないで欲しいとも思うし、辛いなら早く諦めた方が良いとも思うのです・・・

プログラミングスクールでは『最初の壁』を突破できるかどうかが大事

前述したように、プログラムの学習ではプログラミング的な思考の切り替えが『最初の壁』となることが多く、これは独学で身に付けるのはむずかしいと思います。
そこでプログラミングスクールの意味が出てくるんですね。

仕組みはわかっても、概念的なことって「わかってる人と何度も会話しないと理解するのが難しい」と私は思います。
なので、技術を身に付ける場ではなく、プログラミングの概念を理解する場だと思った方が良いかと思います。

学校で学ぶプログラミングの技術なんて、5年もすれば過去の技術になります。
プログラミングは常にアップデートしていかなければいけませんが、概念はそうそう変わることはないです。

オブジェクト指向だの、関数型プログラミングだの、ラムダ式だ、なんだかんだとプログラミングの表面的な所は変わっても、機械側の処理の仕方は大きくは変わってないんですよね。(性能は年々驚くほど進化していますが・・・

プログラミングスクールを出て、本当に現場で働けるのか!?

さて、プログラミングスクールに通う人は、そのほとんどがプログラミングを仕事にしたいと思っているはずです。
学んだスキルが現場で通用しないと意味がないですよね?

プログラミング技術の習得にはいくつかの段階があると私は思っています。

  1. プログラミング言語の言語仕様をだいたい理解する
  2. オブジェクト指向やアルゴリズムを身に付ける
  3. フレームワークを扱えるようになる
  4. 外部APIとの連携ができるようになる
  5. フレームワークの機能を十分に活用しつつ、可読性・保全性の高いプログラムが書けるようになる

ここに現場とプログラミングを学ぼうとしている人の認識の乖離があって、プログラミングスクールはそのあたりの説明はしてくれないんですが、ただプログラミングが出来るだけでは現場では力不足なんですね。

プログラミングを学ぼうとしている人の『プログラミング出来る』は上記の1くらいのレベルを表していると思うのですが、現場が求めているのは上記の5くらいのレベルなんです。
そのため、『プログラマーは人材不足』とよく聞きますが、失業プログラマーも大量に居るんです。
そりゃそうですよね。これだけプログラミングスクールがあって、毎年大量にプログラマーを排出しているのに、いつまでIT人材不足させてるんだよって話じゃないですか。
そこには当然カラクリがあって、求めているスキルの不一致なんですよね。

なので、プログラミング言語を身に付けるのは、ファーストステップでしかないんですね。
現代のアプリケーション開発の環境では、フレームワークを活用するのは当然で、そこにクラウド環境やチーム開発などが加わるので、プログラミングの知識だけでは現場での活躍が難しいんです。

そのため、プログラミングは身に付くかもしれないけど、現場で戦えるかというと疑問って感じです。

よく相談いただくのが「以前雇っていた担当がやめて、ホームページやプログラムを触れるスタッフが居なくなってしまった。」という内容ですが、中身を覗いてみると不可解な処理がたくさんあって、「もう一人ではどうにもならなくなって、逃げたんだろう」というような案件がいくつかありました。

そもそもなんでこの記事を書こうと思ったのか

私自身は先ほどの「向いている人・向いていない人論」で言うと、向いているけど理解が遅い方だと思います。
『自分は天才じゃないんだ』といつも自分に言い聞かせます。
だからこそ、このトレンドの早いIT業界で働き続けるために、人一倍勉強するし、ほとんど1日も欠かさずプログラミングのことを調べたり、知識を深めることに費やしています。

重要なのはスクールで何を教えてもらうかではなく、自己学習だと思います。
専門学校やプログラミングスクールで学んだことを、擦り切れるほどずっと続けているプログラマーはたくさん居ますが、だんだん世代が変わっていくと求められるスキルが変わってきて、受けられる仕事の数が減ってくるんですよね。
なので、自分のスキルの幅を広げるための自己学習は世の中のニーズに合わせて絶対に必要になってくると思います。

プログラミングスクールに行くからプログラマーになるんじゃないんです。
プログラマーになろうとするからプログラマーになれるんです。
そのための努力を惜しんではならないと私は思います。
プログラミングスクールはその手段の一つに過ぎないです。

さて、そこで私のブログの検索状況を公開します。

君ら土日しっかり休んでるなぁ!
しかも、ゴールデンウィークはしっかり旅行を楽しんでるなぁ!

宣伝
WordPressサイトのテンプレート編集やトラブル対応、バグ修正、簡単なJavascriptの作成(カルーセルやバリデーション等)など、小規模なスポット対応を受け付けております。
もしお困りごとがありましたら、お問い合わせフォームよりご相談ください。

この記事を書いた人

uilou

uilou

プログラマー

基本的に、自分自身の備忘録のつもりでブログを書いています。 自分と同じ所で詰まった人の助けになれば良いかなと思います。 システムのリファクタリングを得意としており、バックエンド、フロントエンド、アプリケーション、SQLなど幅広い知識と経験があります。 広いだけでなく、知識をもっと深堀りしていきたいですね。