文系プログラミング初心者は独学で学ぶべきか?スクールに通うべきか?
まず最初に言っておくと、文系であろうがプログラミングの学習は可能である。
強いて言えば、土台となる考え方が理系よりも劣っているだけだ。(もちろん劣っていない場合もあるだろう)
では、文系の初心者でプログラミングを学習しようと考えている人は、どう”プログラミング”を学ぶべきだろうか?
「独学か?」「教室に通うか?」の判断基準を考えてみよう。
先に結論を言うと、私は教室に通うべきだと考える。
なぜ文系プログラミング初心者はスクールに通うべきか?
私は以前、独学で参考書を買ってSwiftとRubyを学んでいた。
しかし、どちらも形にすることができなかった。
だいたい両方とも200時間くらいやったところで脱落した。
なぜかと言うと、つくりたいサービスが決まっていなかったからだ。
学習のモチベーションを継続できなかった。
毎日やっていても、少しずつしか前進していないように思えて、ゴールが見えて来なかったのも大きかった。
さらに文系であったため、数学の勉強をほとんどしていなかっため
理系的な思考が欠如していたのも原因だ。
例えば、重要な考え方である「オブジェクト指向」の理解ができない。
そして、プログラミングは、論理的に言語化すること、構造を理解して仮説を立てることが必須になってくる。
文系だと、この考え方に慣れていないため、理解するまでに時間がかかるのだ。
そこで、プログラミングスクールに通うことを決意した。
特にプログラミングスクールの大きなメリットは、
・すぐにわからないことを質問できる
・他人の書くコードを見ることができる
・勉強コストが低くなる
ことが非常に大きい。
どんな学習でもそうだろうが、やはり上手い人・できる人の真似をすることが上達の近道である。
さらに、自分で手探りに進めていくには、あまりにも時間がかかりすぎてしまうのだ。
プログラミング独学の場合の進め方は初心者にはキツイ
幸い、今プログラミングを無料で勉強することができるサービスが増えている。
例えば、Progate(プロゲート)というサービス。
初心者向けに、かなり丁寧にそしてわかりやすくプログラミングを学習できるサービスだ。
さらにスマホのアプリでもリリースされている。
しかし、ただプログラミングを触るだけならばいいだろうが、実際にサービスを開発するところまでは行けないだろう。
ではどうすればいいのか?
1.目的を決める
プログラミング初心者は、まず「プログラミングを使って、何を実現したいか?(どんなサービスをつくりたいか)」を明確にする必要がある。それも詳細に。
明確な目的がなければ、「ほぼ確実に続かない」と言い切れる。
なぜかというと、独学はとても孤独な作業だからだ。初学の場合は、わからないことも多く、モチベーションが続きにくい。
さらに知るべき範囲が多すぎるため、どこから手をつければいいのかわからなくなる。
2.言語を決める
目的が決まれば自ずと言語が決まってくる。
「なんの言語を学ぼうかな・・・?」からスタートし、そこに迷う人は、独学が難しいと言える。
WebサービスならRuby?機械学習ならPython?PHP・・・?
つくりたい成果物に類似した機能を持ったサービスは溢れている。
そのサービスの言語からヒントを得ることはできそうだ。
3.プログラムをとにかく書く!!!
初学者がまずスタート地点に立つためには1000時間は必要と言われている。
スタート地点とは、自力でオリジナルサービスを作ることができるレベルだ。
1日2時間でも500日はかかる。
4.質問や参考書
わからないことがあったら質問する。プログラミングにおいて、質問するということは最大の学びになる。
独学者にとっての1番のハードルはここだろう。
ネットで質問はしやすくなったが、すぐに答えが帰って来ない可能性もある。
特に有名なサービスは、Qiitaだ。
参考書は、たくさんあるが、ネットで調べればオススメのものはたくさん出てくる。
1冊とにかく通してやってみよう。自分で手を動かすことができる、サービスを作るところまでできる参考書がオススメだ。
オススメの学習の流れ
- プロゲートで学ぶ言語を1周
↓
- 参考書を買って1週
↓
- 他サイトなどを参考にイメージを決める
↓
- オリジナルサービスに着手!
※なるべく早くオリジナルサービスの開発に着手
独学のメリット・デメリットまとめ
メリット
◆つくりたいサービスがあれば一心不乱にできる
◆向いていないと思えば辞められる
◆自分のペースで学習を進めることができる
◆お金がかからない
デメリット
◆質問を気軽にすることができない
◆モチベーションを保つのが難しい
以上、まとめると、初学者は1000時間、ほぼ一人で向き合って行く必要がある。
勉強会など積極的に行ける人はいいが、なかなか難しいだろう。
プログラミング教室に通った場合、時間効率がめっちゃいい
プログラミング教室もたくさん出てきている。
実体験を元にプログラミングスクールについて記事でも書いた。
プログラミングスクールは、高額だが、やはり体系的に教材が組まれている。
ただし、個人的な意見では、参考書の内容とそこまで完成度に差がないようにも感じている。
多くのスクールでは、
講義でプログラミング言語を学ぶ → 自宅で学習する → オリジナルサービスをつくる
を3〜6ヶ月間で行う。
そう、スクールでも結局は自宅での自習が前提になってくる。
ちなみにプログラミング教室に通った場合は、独学の半分の500時間でオリジナルサービス開発までいけると言われている。
プログラミング教室のメリット・デメリットまとめ
メリット
◆つまづいたら気軽に質問ができる
◆強制的に勉強することができる
◆オリジナルサービスをつくりきるまでサポートしてくれる
デメリット
◆料金が高い(だいたい20万円〜50万円)
◆自分に合っていなかった場合、辞めてもコストがかかる
プログラミング学習にはどちらにせよ自学が必要
独学、教室と比べて見たが、どちらにせよ自学の時間を確保することが必須である。
学習時間がかけられない人やモチベーションの継続に不安がある人は、教室に通うことをオススメする。
コメント