プログラミングを学習し、自分の目標を達成したい。
とは言ったものの、無数に存在するスクールの中から、自分にあったものを選ぶのは難しい。
どうやってプログラミングスクールを選べばいいのか
では、どうやって無数にあるプログラミングスクールの中から自分にぴったりなものを見つければいいのか。おそらく、そんな悩みを抱えているのではなかろうか。そこで、そんな悩みを解決するために10の問いを用意した。この問いは、プログラミングスクールを実際に運営している数人の講師やスクール選びに失敗した経験者、統計のデータをもとに作成されている。
いくら熱い気持ちでプログラミング学習に取り組み、時間とお金を投資しても、そのスクールが自分に合ってないだけで全てが水の泡になる。
そうならないために、今回ご紹介する内容はあなたの悩みの解決に役立つと確信している。
それでは、ご紹介しよう。
1.「なぜプログラミングを学ぶのか?」
まず、プログラミングスクール選びにおいて、最も重要な問いは「なぜ、あなたはプログラミングを学ぶのか」である。ここがブレると、プログラミングスクール選びに失敗する可能性が非常に高まるので大事にしてほしい。今回は、プログラミングを学ぶ目的を5つのパターンに分けて、注意すべきポイントを説明しよう。
転職やキャリアアップがしたい
転職・キャリアアップを望むのであれば、最も重視したいのが実務経験をいかに早く積むことできるかという点だ。それだけでなく、自分がやりたいことにマッチする企業で仕事ができるというのも重要である。
アプリやシステム開発のスキルを身につけ、それを実践レベルで行い、ポートフォリア(制作実績)を残すこと、これが転職・キャリアアップにおいて非常に効果的だ。近年、アプリ開発以外でもITスキルのない企業の顧問になるなど、仕事は多様化している。加えて、仕事獲得の相談に親身に対応してくれるかという点も注目しておきたい。
フリーランスエンジニアになりたい
IT業界において、フリーランスエンジニアの仕事もますます多様化している。一般的的には、下請けの開発や受託というイメージを持つかもしれないが、最近ではCtoCでの業務委託案件等も増加している。特に、WEB業界でも、ある程度のプログラミングスキルがあれば、自分から必死に営業活動をせずとも、様々な企業から声がかかる。経済産業省によると、IT人材数は現在91.9万人に対し、17.1万人不足している。14年後の2030年には78.9万人も不足するというデータもある。
企業の中でも、信頼できる会社の保守・機能追加の案件を担当することで、安定的な収入と自由を獲得することもできる。とはいえフリーランスエンジニアにおいて、最も重要なのはこの人に任せれば大丈夫という信頼構築である。
もちろん、自分の技術力を証明できるポートフォリオ(制作実績)がしっかり作れるかという点も重要である。
アプリを作りたい
アプリを作りたいと思うならば、開発サイクルの回し方を学ぶのが重要である。基本的に、実際にプログラマーとして最前線でアプリ開発を行って活躍するには約1~2年の業務開発が必要とされる。ゆえに、一朝一夕でアプリを作る技術は養えない。ただ、自分の作りたいものを作りたいというのであれば、開発サイクルの回し方を学ぶことで、ほとんどの機能追加などの状況に対応できるようになる。
とはいえ、開発サイクルの回し方と言われてもピンとはこないだろう。開発サイクルの回し方を具体的にいうと、設計の仕方、アイディアの出し方、採用技術の選び方、コード管理の仕方、エラーの原因特定の仕方、リリースの仕方、リリース後の運用の仕方などが挙げられる。
ただし、これらは実際のオリジナルアプリ開発を通じてでしか身につけることはできない。よって、スクール選びにおいても、オリジナルアプリ開発までしっかりサポートしてくれるのかという点が大きなポイントとなる。
起業したい
起業したいというのであれば、技術習得だけではなく、その先となるプロダクトの管理や仕事を依頼する方法など経営者としての観点からも学習していくことになるだろう。実際、プレイヤーとしての技術習得であれば、短期間で達成することはできる。しかし、マネジメントなどの領域が加わってくると、一気にハードルは上がる。だからこそ、技術以外の相談も長期的にサポートしてくれるのか、というのが重要になってくる。他にも、何の技術習得ができるのかというのもおさえておきたい。
特に、起業したいのであれば、rubyを学ぶのがオススメだ。現在、多くのIT企業がこの言語を使用しており、最近、スタートアップ界隈で有名な上場企業の株式会社じげんでは、入社した社員、全員が職種関係なくrubyを学んでいる。さらに、シンプルでしっかりしたサービス構築が可能なので、早くプロトタイプを作り、投資家に見せて、改善を重ね、資金調達がしたい。そんな野心あふれる起業家志望にはぴったりの言語だろう。
webデザイナーになりたい
webデザイナーを志望するのであれば、どんなポートフォリオを残せるのか、というのが重要だ。就職にせよ、転職にせよ、ポートフォリオのクオリティーがあなたの目的達成に非常に関わってくる。
ゆえに、そのスクールでどんなポートフォリオを残せるのかという点を重視しておきたい。学習方法に関してはphotoshop→illustorator→html/css→Javascript→PHP→rubyという順に学んでいくと、理解しやすい。
2.「教室形式と、マンツーマン、どっちが自分に合うのか?」
次のポイントとなるのが、レッスン形式が1対複数の教室形式と1対1のマンツーマン形式、どちらが自分に合っているかということである。どっちが自分に合っているかを知るために両者のメリットとデメリット、それぞれみていくことにしよう。
教室形式(1対複数)
メリット
・授業で沢山の人に会えるから、モチベーションを維持しやすい。
・同じ志や目的を持つ人に会えるので、挫折しにくい。
デメリット
・進み方が一律なので、自分に合わないことがある。自分にとってレベルが低すぎたり、レベルが高すぎたり、時には非効率になることもある。
マンツーマン形式(1対1)
メリット
・実践的で自分にあった学習を行うことができる。
デメリット
・メンターとの相性が重要になる。
相性が合わないと、学習に支障をきたす場合がある。
→無料体験講座などを通じて、メンターとの相性をしっかり見極める必要がある。
3.「オンラインとオフライン、どちらが自分に合うのか?」
もう一つのレッスン形式として、対面(オフライン)とオンラインどっちが自分に合うのかも考えておきたい。先ほどと同様に、メリット・デメリットを挙げていこう。
対面(オフライン)
メリット
・コミュニケーションがとりやすい。
デメリット
・場所や時間などの制限がある。
オンライン
メリット
・場所や時間の制限がほとんどなく
どこでも気軽にレッスンを受けられる。
デメリット
・wifi環境や回線速度によって、スムーズにレッスンを受けられない場合がある。
以上が対面(オフライン)とオンラインのメリット、デメリットだ。
ここで、一つ参考となる記事をご紹介しよう。この記事を書いた人物は自分でプログラミングスクールを運営し、講師として働いた経験もあり、今は開発が忙しく受講生を募集していない。そのため、この記事は極めて客観的な内容となっている。
プログラムは対面でなければ基本的に無理
これは何度か書いたと思いますが、プログラミングの独学(ネット、オンライン、書籍のみ)は現実的ではないでしょう。
俺は独学でやったよ、と身の回りにいたら「独学」の定義を聞いてみてください。
- その方は学生時代にプログラミングを少しでもやっていませんでしたか?
- 友達や知り合いにプログラマがいたのではないですか?
- 直接プログラミングを教わっていなくても会話の中でプログラマとプログラムの話をする機会がありませんでしたか?
- プログラマではないとしてもITにかかわる仕事をしていませんでしたか?
- 短期間(たとえ数日)であっても対面で学ぶ場所がありませんでしたか?
私は不特定多数の未経験者にプログラミングの指導したので自信を持っていえますが、プログラムの独学は基本的に無理です。
(例外的な頭脳、能力の方もいるかもしれないので100%とはいいません。)
厳密な定義をすると私が考える独学とは下記のような状態を言います。
- 非IT系企業勤務、非情報系学部出身でプログラミングを人から教わる機会が今までになかった
- プログラミングを知っている人間が周りに1人もいない
- プログラミングの情報源は書籍、動画、ネットのみ
プログラミングを身につけるとは就職可能レベル(基本的なお問い合わせフォームや掲示板などのアプリが作れるレベル)とします。
上記の定義に当てはめると独学でプログラミングを身につけることは不可能でしょう。PHPは比較的簡単といわれていますが、それでも環境構築すらできない方が続出します。
プログラムを覚えるのは基本的に対面という選択肢しかありません。「現役講師が教えるプログラミングスクールの選び方」 https://donow.jp/gachinko/?p=550
4.「どんなカリキュラムなのか?」
次のポイントになってくるのが、どんなカリキュラムなのか。初心者を就職可能レベル・独立レベルにまでもっていくには、系統立てて教えていく必要がある。そこで、大事なのは、初心者でもついていけるぐらい基本的なところからカリキュラムを構築しているかだ。有名なところや大手なら、カリキュラムに問題は無いと思うが、もし個人レッスンなどのスクールを検討しているのであれば、この点に注意しておきたい。
加えて、もう一つ重要なポイントがある。それはアウトプットの場面が段階的に用意されているかだ。読者の中には大学受験を経験したことがある人が多数だろう。受験勉強では、どんなに授業を聞いても、単語や重要事項を覚えても、第一志望の過去問を解かなければ、合格することはできない。
それと同様に、プログラミング学習においても、インプット過多で終わるようなスクールでは、常に本当にこれで力が身についているのか?という不安を感じながら、卒業した時にはスクールに通いはしたけど、実際の力が身に付かなかったと後悔するのは非常に残念だ。
5.「教材の質は担保されているか」
そして、さらに注意しておきたいのが教材の質だ。今のプログラミングスクールの主流のスタイルは、教材を元に自己学習で進めていき、不明な点があれば随時質問するというものになっている。だとすると、教材の質が低いだけで、受講生はそのリカバリーに多くの時間と労力を割くことになる。
具体例を挙げると、あるスクールでは、誤植が多く、画面が見えにくく、全部動画再生で手間がかかり、教材の質に疑問を感じたということがあったそうだ。確かに、そんなスクールでは、どんなにやる気があったとしても、冷めてしまうだろう。だからこそ、スクールに通う前には必ず無料体験を受けておこう。
6.「受講生同士のコミュニティが存在するのか」
次にポイントとなるのは、受講生同士のつながり、コミュニティの有無だ。
というのも、プログラミングスクールの現状というのは、いわゆる社会人や学生を初心者から就職可能レベルにまで引き上げるスクールは少なく、さらに力をつけるまでに脱落していく者が多い。特に1ヶ月程度の短期間の講座だと3割ほど脱落する。私の友人が以前通っていた3ヶ月のプログラミングスクールでも、最初は30人いたのが、卒業する時には5~6人ほどの人数になり、8割が脱落していったことになる。その脱落する要因の一つが、受講生同士のコミュニティが存在しなかったことだと考える。
やはり、学習のモチベーションを維持するには、仲間の存在というのは大きい。新しいことを始める時はなんでもそうだ。
同じ時期に学習し始めた人間は、仲間であり、ライバルでもある。他の受講生と切磋琢磨し、学べる環境が構築されているか、これはモチベーションという観点で非常に重要である。
7.「講師はどんな人か?」
次にポイントとなるのは、どんな講師がレッスンをしてくれるのか。正直、ここは有名な大手でも、問題があるとこが多い。というのも、講師の多くは開発者であり、教えることのプロではないし、教えること自体にも熱意を持っているとは限らない。実際の例を挙げると、生徒が勉強している間、自分の仕事(開発)を平気で行う。このようなことは平然と行われている。
だからこそ、スクールに入る前に、講師が開発と兼業ではないかということは一度聞いてみるといい。もし、教育に真面目な講師なら、開発と講師の兼業はしないはずだ。
8.「講師の開発実績や実際のスキル、指導力は本物か?」
次にポイントなるのが、講師の実際のスキル、指導力だ。プログラミングスクールだけではなく、教育業界全体として、実際の講師のスキル、指導力が低いというのが挙げられる。では、なぜこの問題が改善しないのかというと、生徒側に知識が無いため、講師のスキルの無さをごまかせるからである。
一番の問題は、レッスン中に講師側が頻繁に分からない箇所が出てきたり、生徒とスキルレベルが変わらないプログラミングスクールが存在することだ。こういった悪質なプログラミングスクールに騙されないように、
講師の開発経験や実際のスキル聞いてみることをオススメする。
9.「授業時間外の質問は可能か?」
次にポイントとなるのは、対応力である。これは授業時間外の質問ができ、レスが返ってくるかということである。授業の限られた時間以外に質問ができれば、生徒にとっては非常にありがいだろう。この授業外の質問は講師側にとってはボランティアなので、それができるか否かはその講師の熱意を判断する一つの材料となる。比較的客観的な判断材料であり、スクールに入る前に一度聞いてみてはいかがだろうか。
10.「なぜ、その予算に魅力を感じるのか?」
次のポイントはスクールの費用だ。もちろん、金額が安いにこしたことはないが、金額の安いサービスは人件費が掛からないようにシステム化されていることが多い。パッケージ化してしまっていて、自分が達成したい目的目標を達成出来ないプログラムの構成になっている可能性もある。目的を再確認して、将来的に回収できる金額から考えて投資するほう効率的なことも多いので、費用対効果を考えることをオススメする。
11.「受講期間は、自分の目的を達成するのに適切か?」
次にポイントなるのが、受講期間の長さだ。これは意外に見落とされがちなので、注意しておきたい。
例え効率的な学習方法を行ったとしても、実践的に使えるようになるためには250~300時間は学習を行うという心構えでいたほうが良い。
受講期間が短いとそれだけタイトなスケジュールになるので、忙しい社会人には向かない場合もあるので注意が必要だ。
逆に比較的時間に余裕のある大学生などにはタイトなスケジュールでやってみるのもいいだろう。実際、短期集中で一気にやるほうが結果も成果もついてきやすい。
12.「最終的にどんなポートフォリオ(制作実績)を残せるのか?」
最後のポイントは、そのスクールに入り、卒業する際に「何が出来上がるのか?」という成果物の基準だ。
冒頭でも説明したが大事なことなのでもう一度伝える。自分の達成したいことがクリアできるのかどうかをしっかり見極める、つまり、「なぜあなたはプログラミングを学ぶのか」この問いを大切にしてほしい。
プログラミングを学ぶことが目的になるのではなく、自分の目的のためにプログラミングという手段を使うという考え方ができれば、無駄なく効率的にプログラミングスクールを選ぶことができるはずだ。
以上、プログラミングスクール選びで失敗しないための12の問いをご紹介した。
有名だからとか、値段が安いからとか、イメージが良いからとか、そんな表層的な理由で決めてしまっては、脱落し、かけてきた時間とお金が無駄になり、後悔することになるだろう。だからこそ、今回ご紹介した12の問いを参考に、悔いのないプログラミング学習を始められることを祈っている。