ここ2、3年で格段に注目されるようになったプログラミング教育。
幼児から会社のCEOまで、プログラミングスクールに通う人が増えています。
なぜここまで注目されるようになったのでしょうか。IT業界出身の筆者が、プログラミングスクールについて考えてみたいと思います。

プログラミングスクールでは何を学ぶのか?

プログラミングスクールで学ぶのは、当然、プログラムの作成方法です。
スマホアプリやwebサイト、オンラインバンキングのシステムなど、現代の生活の中にはさまざまなアプリケーションがありますよね。
こういったwebが絡むものは「webアプリケーション」呼ばれますが、すべて何かしらの言語を使ったプログラムで作られています。
また、家電製品の内部にもさまざまなプログラムがありますし、大企業を支えるプログラムの集合体のような製品もあります。

現代社会は、プログラムと切っても切り離すことのできない社会なのです。
こういったプログラムの作り方を、言語ごとに学ぶのがプログラミングスクールといえるでしょう。
また、スクールによっては言語に依存しない、汎用的な思考能力を養えるところもあります。
さらに実務能力を養うために、以下のようなものを学ぶことも多いでしょう。

設計方法

プログラミングは、何もないところから急にはじめることは稀です。何段階かの設計書を書き起こし、それに準じてプログラミングしていくことが一般的といえるでしょう。
例えば、「Aという処理の次に、Bという処理があり、その結果とデータCを用いて処理Dを走らせる」といったプログラム自体の流れを「フローチャート」という図でまとめる方法があります。
こういったフローチャートの作成方法なども、スクールで学ぶことがあるでしょう。

コードをどう管理するか

実務でプログラミングを行う場合、書きかけ(プログラミング途中の)ソースコードをしっかり管理する必要があります。
これはなぜかといえば、自分一人で仕事をするわけではないからです。
あるプログラムに対し、複数の人がそれぞれのタイミングで変更を加えたとすると、ソースコードの管理がしっかりできていなければ、変更が反映されなかったり不具合がおきたりします。
こういった事態を防ぐために、「バージョン管理ソフト」などを利用しながらソースコードの管理を行うわけです。

デバッグ(エラー調査)の方法

プログラムは、作ることよりも治すことのほうが大変かもしれません。
他人が作ったプログラムであればなおさらです。しかも作った人はとっくの昔に辞めてしまっている、という場合も珍しくないのです。
このようなプログラムに対して何らかの手を加えると、エラーが起こることもあるでしょう。
本当に大変なのはこの後で、プログラムを調査し、どこに原因があるかを特定するために地道なデバック作業が必要になります。
こういった地道な「不具合探し」も、あらかじめスクールで経験しておけば、後々大きな武器になるはずです。
デバッグは心身ともに消耗しますからね。

プログラミング言語そのものに関する知識

特定の言語を対象としているプログラミングスクールであれば、プログラミング言語そのものの知識を学ぶこともあるでしょう。
C言語やC#、javaといったメジャーな言語は一度理解しておくと様々な言語に応用できますので、基礎として学んでみても良いかもしれないですね。

プログラミングスクール卒は就職や転職に有利か?

プログラミング言語によって有利・不利はかわる

IT業界への転職、ということであれば当然有利に働くでしょう。
実務経験があったほうが望ましいですが、プログラマーを募集している求人は「未経験OK」をうたっている場合が多いですからね。
実際に筆者も、実務未経験でIT業界へ転職してきた知り合いを何人も知っていますし。

ただし、プログラマーとしてIT業界に転職したいのであれば、言語の特性や種類は理解しておく必要があるでしょう。
例えば、「java」ですが、今でも最も広く使われている言語として有名です。
つまり、シェアが大きいために求人も多くあり、自然と転職や就職に役立つ可能性が高まります。
加えて、javaを学ぶことで「オブジェクト指向」という概念を学ぶことができる、というメリットがあります。
オブジェクト指向を使った言語は数多くあり、色々と応用が利くのです。

もうひとつ例を挙げるのであれば、COBOL(コボル)があります。
コボルは1959年に開発され、すでに登場から半世紀以上経過しているというプログラミング言語。
しかし、今でもCOBOLが使われているシステムは少なくありません。
公共系・金融系システムでは、依然としてCOBOLが圧倒的な強さを誇っているといえるでしょう。
COBOL自体は古いだけで決して悪い言語ではなく、むしろ実績が豊富で扱いやすい上に「誰がプログラミングしても一定のものができる」という利点があります。
ただし、COBOL”だけ”では、選択できるキャリアの幅が狭くなってしまいます。
最近はwebアプリやwebサービス、スマホ用アプリが盛り上がっており、自由度の高いプログラミング言語に対する需要が高まっているのです。
web界隈の仕事をしたいのであればCOBOLは不利でしょうし、逆に公共系や金融系の仕事をしたいのであれば、役立つ場面が多いでしょう。

このように、どの業界を目指すかによって多少の違いがでることを覚えておいてください。

プログラミングスクールで学べる就職・転職に必要なスキルや知識は?

プログラミングスクールでは、プログラミングを通じて汎用的なビジネススキルを身に着けていくことができます。
例えば、プログラミングスクールで学ぶことができる、

  • 論理的なものの考え方
  • ビジネス上の要求を処理単位に落とし込むスキル
  • 物事を根気強く整理、調査していくスキル
  • ひとつの要求を実現するために、様々な可能性を探して実装するスキル

といったスキルは、IT業界以外への転職・就職でも役立ちますし、求められます。
プログラマー以外の「企画・リサーチ・商品開発・営業」といった職種でも「デキル人」はこれらのスキルを備えています。

また、最近では起業家や企業のCEOがプログラミングスクールに通う、という話をよく聞きます。
これは、実際にプログラミングを仕事にするわけではなくても、ビジネスの核となる部分を自分で理解できること、ものの考え方や段取り、整理方法などを強化できること、がメリットとなるからだそうです。
今やどの業界でもITの力は欠かせませんから、その基礎となるプログラミングスキルを学びつつ、ビジネス力を強化しているのでしょう。
言うまでもなく、転職・就職のシーンでも、有利に働くものです。

まとめると、プログラミングスクールでは、技術的な知識やスキルを強化しつつ汎用的なスキルを強化していくことで、より有利な転職や就職に繋げることが可能となるでしょう。

独学とプログラミングスクール、どう違う?

これについては、筆者自身の体験と同僚の体験を交えて考えていきたいと思います。
結論から言うと、一旦現場で実績を積んでしまえば、独学であってもプログラミングスクール卒であっても、現場での評価であまり違いは生じません。
しかし、プログラミングスクールに通っていれば楽だったかな、という思い出はいくつかあります。
ちなみに筆者は独学派、同僚はプログラミングスクール派でした。

基礎力を素早く身に着けられる

筆者はほぼ独学で、仕事に必要なプログラミング言語を身に着けました。
しかし、基礎力を高める期間を十分に設けられなかったので、いつもどこか場当たり的でした。
その場その場でなんとか解決はできるものの、常に心の中には「じっくり基礎を身に着けたい」という気持ちがありましたね。
基礎力がしっかりしていると、応用力つきやすいですし、凡ミスが無くなります。
確かに独学でもプログラミングを学ぶことは不可能ではありませんし、業務レベルに持っていくこともできます。
しかし、「誰かにしっかり教わること」「わからないことを解決できるまでの時間が短いこと」「くだらない部分で悩む必要がないこと」というプログラミングスクールでの学習は、正直うらやましいです。
短期間で効率的に、なおかつ正確に基礎力を身に着けられるのは、プログラミングスクール特有のメリットだと思います。

プログラミングスクールで人脈ができる

通学型のプログラミングスクールであれば、学生同士の交流がありますし、グループで課題をこなすこともあるでしょう。
こういった活動を通じて、人脈ができることは大きなメリットです。
「同じ釜の飯を食った仲間」で、なおかつ「仕事の話もできる」間柄というのは、そうそう得ることができませんからね。
職場で出来る人間関係と違い、プライベートでも交流しやすいですし。
この点も、かなりうらやましいと思いました。

オンライン講座で自宅学習が可能

プログラミングスクールによっては、通学ではなくオンラインで学ぶことができるタイプもあります。
オンラインタイプのプログラミングスクールを活用すれば、ITやプログラミングとは関係のない仕事をしていても、帰宅後に自己学習が可能です。
つまり今流行の「複業」スタイルへの道筋がつけやすいというメリットがあります。

まとめ

IT業界への転職においては、プログラミングスクール卒ということがプラスに働く可能性は高いです。
年齢にもよりますが、実務未経験であっても基礎力があれば、短期間で戦力になると見込んでもらいやすいでしょう。
また、プログラミングを通じて学べるスキルには、社会人・ビジネスパーソンとして、必須のものもあります。
したがって、IT業界や技術職以外への転職・就職にも役立てられるはずです。

ただし、プログラム言語を習得するには「学習意欲」「継続性」が欠かせません。
この点は独学でもスクールでも変わらないかもしれませんね。