Life Geeker

ワクワク働きたいアラサーリーマン。本業も副業も楽しく面白く稼ぐ」

プログラミング学習なら独学かスクールか?メリットを比較!

f:id:hacchan320:20190530190952j:plain

これからプログラミング学習を始める際に、
「独学で本から始める?」
「プログラミングスクールからはじめる?」
のどちらがいいかを検討している人にむけてそれぞれメリットデメリットをまとめました。

こんな人に

  • 本を買って独学で勉強するか、プログラミングスクールに行った方がいいか悩んでいる
  • 独学とプログラミングスクールのメリットデメリットを知りたい

プログラミングは本で独学かスクールに通うべきか?

結論ですが、特に転職を検討している社会人はマンツーマンのスクールをおススメします

時間の制約や余裕がある学生、つまづいても投げ出さない自信がある人、目的意識を意識できる自信がある人は独学からがおススメです。

「転職を検討している社会人はマンツーマンスクールをおススメ」する理由

転職を検討している社会人や挫折に不安がある人なら、マンツーマンスクールをおススメします。
理由は4つ思っていることを書きました。

理由①:プログラミングをする過程で対処するスキルが身につくからつまづかない

この理由①が最大のメリットで、理由ですが、
マンツーマンスクールでは、
プログラミングをする過程を理解するスキルを学べるからです。


具体的にどういうことか、はじめて子どもが自転車を乗るときに例えましょう。

はじめてこどものころに自転車に乗る時、自転車にどう乗るかを教わるんじゃなくて、

  • 自転車は早く漕いだ方が安定するよ(対処方法を知っている
  • 補助輪はここに着けるといいよ(エラーの原因の見つけ方
  • ペダルをこぐと前に進むよ(動かす仕組み
  • 補助輪はここで買うんだよ(プログラミングを行う準備

ということって教わらないけど知ってましたよね。
多分これ、大人が教えてくれたから簡単に乗れたのです。

マンツーマンでは、この「大人」の役割となるメンターがいて、独学ではこれらを教わらないからつまづくのです。

つまりプログラムを作って、目的に沿って動かす、という最大の目的をゴールとしたとき、プログラミングをする過程とは以下のようなものです。

  • プログラムを動かす仕組み
  • プログラムを実装する手順、方法、考え方
  • 必要な準備
  • うまく動かないときの対処方法

プログラミングでつまづくとき、ほとんどがif文とかの実際のプログラミングの書き方ではなく、
例えば変なエラーがでたり、手順通りに環境のインストールできなかったりというところでつまづきます。
だいたいの本には、この過程にでてくる対処法が書いていないことが最大の障壁であり、
このスキルこそものを作るエンジニアが自立するために一番初めに必要なスキルなのです。

プログラミングの書き方を覚えて、実践するだけであれば、独学とスクールはほとんど差がないでしょう。

理由②:スキルが上がるとモチベーションが上がる

これはよく言われることですが、スキルが向上しできることが増えると、モチベーションがあがるという事です。 理由①のスキルが学習序盤で最も重要で、スクールではそれが早く身につくことは断言しました。

これはスキルとモチベーションの関係の図です。

f:id:hacchan320:20190530184553p:plain

図を見ていただきたいのですが、初学者には途中、大きな壁があります。 progateをやったりして、オンラインの学習サービスである程度できるようになった後です。

わたしの肌感ですが、だいたいは、言語を覚える→サンプルを動かす、までは簡単にできるのですが、 途中、自立をする間には、エラーが発生したり、やったことがない実装を行うなど、 多くの場合はこの理由①のスキルが鍛えられてないから、そびえたつ壁を越えられなかったりします
この壁の大半が、理由①に関する、プログラミングの過程に関しているのが肌感です。

理由③:目的意識をはっきり理解できる

こちらの記事に書いていますが、目的や作るものがはっきりしないことが最大の挫折につながります。

www.geek-work.tokyo

要は、何を作ればいいのか自分で決められないことが序盤は多いのです。

その点、マンツーマンスクールはアウトプットを重視しているプログラムが多いと思っているので、つくるものは強制的に決まってくるので目的意識がはっきりして
継続するモチベーションやスキルの向上につながります。

理由④:強制力

これは自明ですが、お金払ってますし、強制力がありますよね。

スクールのデメリット①:金銭コスト

デメリットはもちろん、お金がかかることです。
こればかりは人より早く学ぶための時間と効率をお金で買っているので仕方がないと思います。

スクールのデメリット②:エンジニアとしての自信の裏付け・作業の見積もりに実務経験が必要

独学でやってきた人と比較してスキルがないというわけではないです。
ですが、独学でやってきた人は、独学で問題解決する人たちは非常に効率が悪い中でもなんとか作れるかどうか、どれくらいかかるかというような、
現場で活きるスキルが同じスキルの初学者よりも少しだけ鋭い気がします。
加えて、そういった開発のための胆力があることは間違いないです。

ただこの差は初学者のうちだけで、現場の経験があれば徐々に補うことができます。
なので、スクールを出た人にとってはいち早く現場での実務経験を得ることがスキルとして重要です。
英語とプログラミングの最も違う点はずっと一人でプログラミングや開発をしているだけではあまりスキルの増加の幅は望めない、ということです。

こんな人は独学でいい

私はもちろん、書籍で独学で勉強することは賛成しています。 どんな人が独学に向いているかといえば、上に述べた理由が気にならない人なら問題はないので、
まとめると以下の方は独学でもいいと思っています。

  • 時間に余裕がある
  • 目的意識が強くある

理由①、②は時間をかければ解決できるので、時間がある人。
理由③が一番大事で、プログラミングで何を実現できるか、目的を理解することが、本だけでは難しい場合が多いです。

もちろんお金、安いですしね。

まとめ

  • 社会人で未経験ならマンツーマンが圧倒的におすすめ
  • プログラミングの過程で対処するスキルは本では学べない
  • 時間に余裕がある人は独学もいい