「プログラミングスクール」というサービスがある。
プログラミングを身に着けたい人が、チャットでわからないところを聞いたり、メンターに対面で相談したりできるサービスだ。
現役でプログラミングができるエンジニアを講師にしているので、そのぶん料金は安くない。
「プログラミングスクールってめっちゃ高いし、入って元がとれるのだろうか? 高い金払ったけど失敗だったってことにならない?」というのは、当然の疑問だ。
結論から言うと、「使わなくて済むなら使わなくていい」と、個人的には考えている。だって高いからね!
でも、「プログラミングスクールを使ったほうが効率的」という側面もたしかにある。
結論だけを言ってもピンとこない人が多いと思うので、詳しく説明していきたい。
「プログラミングスクール」が、どういう人には必要なくて、逆にどういう人には必要なのか、エンジニアの視点から解説していく。
目次
プログラミングで大事なのは自力での「問題解決能力」
プログラミングは、基本的に独学が推奨される。
手取り足取り教えてもらうのではなく、自分で能動的に調べながら、エラーを直し、やりたいことを実現させる「問題解決力」が、プログラミングをやる上で求められることなのだ。
わからないことがあれば、自分で調べて、自分で解決できればそれでいい。
どんな人でも、プログラミングをやっていれば、「わからないところ」に直面して、頭を抱えるものだ。
これに対して、検索したり考えたり、何とかして解決しようとする過程で、プログラミングにおける重要な能力が身につく。
結局のところ、自分で調べて問題を解決する能力がなければ職業プログラマのレベルには到達できないのだから、「プログラミングスクールなどはあてにせず、最初から最後まで独学でやれ!」というのは一つの考え方ではある。
プログラミングには「理屈ではない」部分がけっこうある
一方で、「プログラミングスクール」が有用であるという考え方もある。
なぜそうかと言うと、プログラミングには「理屈ではない」部分がけっこうたくさんあるからだ。
それは、俗に「仕様」と呼ばれる。
良く知らない人は、プログラミングをロジカルで高度なものと思い描きがちだが、実際のプログラミングは、ときに非論理的で、かなり泥臭いものである。
「論理的にこうなってる」というのではなく、慣習とか様々な事情とかで、あまり合理的ではないような仕様になっている部分も、プログラミングにはたくさんある。
そのような「仕様」は、(少なくとも業務上は、)そのまま受け入れるしかない場合がほとんどだ。
よりざっくり言うと、プログラミングには、苦労したほうがいいところと、苦労してもあまり意味がないところが存在する。
しかし素人ほど、どこが本質的な問題で、どこが些末な問題なのかわからない。
「プログラミングスクール」では、チャットなどで簡単に質問できるので、些末な問題をすぐに解決することができる。
「苦労しても意味のないことはすぐに質問して解決して、苦労するべきところにリソースを割く」というのは合理的な考え方と言えるだろう。
優秀な人はひとりでも問題解決できる、というのは幻想?
一人で問題を解決しようとする姿勢は大事だが、「問題は一人でも解決できるもの」と考えるのはちょっと違う。
聞いた話だが、Googleで勤務するプログラマーでさえ、15分ひとりで考えてわからなかったら、同僚に質問するというルールがあるのだそうだ。自分で考えるのは大事だが、15分以上も悩み続けるのは時間の無駄、というわけだ。
プログラミングに強い人は、映画などの世界では戯画化されていて、孤独に強く一人でパソコンをカタカタ打ち続けているイメージがある。
しかし実際のところ、「ギーク」や「ナード」というプログラミングに強い人たちだって、高校や大学の「パソコンクラブ」的なコミュニティの中で、互いに教え合いながら成長してきた人が大半だ。その点は、スポーツなどとそう変わらない。
基本的には、人は誰かに教わったほうが成長が早い。
フィクションでのプログラマーは、「独学の孤独な天才が最強の能力を持ってる」的な形に戯画化されやすいけど、大多数の人は「教え合う」という人間にとって当たり前の過程を通って成長している。
純粋な「独学」は効率が悪い
プログラミングにおいて、「独学」で身につけようとする姿勢は非常に大事だ。
ただ、「独学」というのは言葉が悪いかもしれない。言い換えるなら、「自主的に」プログラミングを身につける姿勢が大事、ということになる。
黒板の文字を書き写したり、配られたテストに受かるような勉強法では、いつまでたってもプログラミングができるようにならない。
与えられたものをこなそうとするだけでは、プログラミングは身につかないからだ。
「自主的に」作りたいものを決めて、それを何とか完成させる努力が必要になる。
しかし、そのための方法として、「人に聞く」というのは全然悪いことではない。むしろ効率的な方法の一つだ。
「プログラミングスクール」というのは、いわば、縁の無い人でも「人に聞く」ことをできるようにしてくれるサービスだ。
「プログラミングスクール」の機能は自力調達が可能
コミュ力が高ければ、「プログラミングスクール」の機能を自力で調達することもできなくはない。
変な話かもしれないが、若い女性のプログラマー志望であれば、「プログラミング勉強中です!教えてください!」みたいなツイッターのアカウントを作れば、無料で質問に答えてくれるエンジニアが見つかる可能性は高い。
男性でも、あまり詳しくない時点でプログラミングの勉強会に顔を出せるようなコミュニケーション能力と度胸があるなら、「わからないことについて人に聞く」というのはできなくもないだろう。
SNSアカウントが人気とか、プログラマーの友達を作るとか、そういうやり方も色々と考えられるだろう。
ただ、ちゃんとしたプロによってサービス化されている「プログラミングスクール」のほうが、気楽かつ堅実であることは確かだ。当然ながら素人に教えるためのノウハウは積み重なっているし、人間関係の面倒な問題も起こらない。
ここらへんに関しては、使えるお金や、コミュニケーションにかけれる労力、自身の人柄などによって決まってくるだろう。
「プログラミングスクール」は、
- ちゃんとしたメンターに気軽に質問できる環境
- お金を支払うことによるモチベーション&継続率の向上
が主なメリットだ。
料金はかなり高いのだが、プロのエンジニアを講師として採用する人件費を考えるなら、決して法外な値段では無い。むしろ人気サービスほどスケールメリットを持っているので、個人で契約するみたいな方法よりはずっとお得。
ぼったくりのようなスクールもあるらしいが、基本的に名の知れているスクールはちゃんとしたサービスだ。信頼できるプログラミングスクールを探してる人は、以下の記事を参考にして欲しい。
「プログラミングスクール」は、それ自体でプログラミングを身につけられると考えるのではなく、「自主的なプログラミング学習を補助&ブーストさせるもの」と考えるのが良いと思う。そういう考え方で選べば、「プログラミングスクールに入って失敗だった!」とはならない。
独学でプログラミングを勉強しようと考えている人は、当ブログの以下の記事をおすすめする。
コメントを残す