JavaScriptは出来ることも多く、非常に人気のあるプログラミング言語です。
学習教材も豊富で独学の学習環境が整備されている点も魅力です。
独学の方が確かにお金もかかりませんし、自分のペースで学習を進めることが出来ます。
しかし、果たして独学でJavaScriptを習得することは可能なのでしょうか。
JavaScriptを独学で学び、また人から教わった経験のある筆者が徹底解説します。
記事のもくじ
JavaScriptは独学で習得可能か
結論から言うとJavaScriptが独学で習得できるかどうかは人によります。
(学習環境は整備されており、独学に必要な条件は揃っています)
そもそもJavaScriptを学ぶ目的やモチベーションが個々人で違うため、独学による習熟度が異なってくることは言うまでもありません。
そのためJavaScriptを独学で習得可能かどうかを知りたいと思っているあなたは、まず自分が独学タイプなのか、教わるタイプなのか判断する必要があります。
この判断において最適な方法は両方試すことです。
独学で学習したことが無いのに無理とは言えませんし、人に教わるより自分で学んだ方が伸びが速い人もいます。
時間に余裕のある人は、まず独学でチャレンジし、「もう無理だ」と感じたら素直に人に教わることをおすすめします。
ただ、もし転職などを視野に入れており、可能な限り短期間で習得したいという人は初めから人に教わることをおすすめします。
理由は次で解説します。
JavaScriptの独学をおすすめしない理由
JavaScriptの独学に挑戦し、3回挫折した経験のある筆者は非常に多くの時間を無駄にしました。
自分が独学に向いていないことを認めることができず、自分の力だけでなんとかしようと粘っていたのです。
しかしいつまで経ってもJavaScriptの理解度は深まることはありませんでした。
それもそのはず、当時は独学で成長しにくい学習効率としては最悪のインプット中心の学習を行っていました。
例えばProgateやドットインストール、paizaといった学習ツールを3周以上やっている人は要注意です。
これらのインプット教材は、真似して覚えることがベースになっており教材以上のものを開発しようとすると何をして良いか一切分からなくなるからです。
実際の開発現場で求められる能力は真似してコードを書く能力ではなく、様々なエラーなどに対処できる問題解決能力です。
またJavaScriptの習得にあたって独学をおすすめしない理由には以下のようなものもあります。
学習効率が悪い
JavaScriptだけに限らず、プログラミングの独学は学習効率が落ちます。
例えばJavaScriptでは動作確認にコンソール画面を用います。 正常に動作していれば何も表示されませんが、エラーがある場合エラーメッセージが表示されます。
このエラーメッセージへの対応一つをとっても独学では非常に時間がかかります。
初めて遭遇するエラーメッセージは基本的に検索し、解決することになりますが、時にはどれだけ解決策を施してもエラーが消えないことも。
こうなってしまってはもう学習は前に進まず、お手上げという状態になってしまいます。
学習効率の面では、このように問題解決の能力が学習初期の場合は備わっていないことが大きなポイントとなります。
何か問題が発生した際に、速やかに誰かに聞ける環境があることでスイスイと学習を進めていくことが出来るのです。
筆者の場合プログラミングスクールに通うことで解決していました。 何か躓いたらまず自分で検索してみる、それでも15分以上分からない場合は速やかに人に聞く。
このように学習にはテンポが大切です。 自分で5時間もかけてエラーを解決できても、それは人に聞いて1分で解決することとなんら変わりません。
プログラミングの学習ではいかに聞くときの恥ずかしさと向き合うかが重要になってくるのです。
即戦力になりにくい
JavaScriptの習得の目的が転職や就職の場合、即戦力となることを求められます。
そのため企業が掲げる求める人材の像には実務経験が1年以上あること、などが記載されています。
しかし完全に独学でプログラミングを学んできた場合、チーム開発や企業での開発の経験が乏しいため企業における即戦力とはなり得ないことがあります。
プログラミングはただコードが書ければよいという訳では無く、使用するコードのバージョンや開発環境をチームに合わせる必要が出てくるのです。
企業で働いた経験のある人に、上記のような話を聞いたり、教わったりすることで最低限必要な知識を補うことは出来るでしょう。
独学でこれらの情報を集めるのは困難です。
転職や就職を目標にプログラミングを学ぶ場合、チームで開発することとはどういう事なのかについてもある程度理解しておくことを忘れてはいけません。
モチベーションが続かない
JavaScriptの独学において、最大の敵は自分です。 先述のエラーの問題や、その他の分からない点が永遠に出続けるプログラミングの初期学習は想像を絶します。
このモチベーションが下がり続けてしまうような環境下で、一人で黙々と学習を継続できるひとはほんのひと握りです。
プログラミングは単純に向き合う時間が長ければ長いほど上達していきます。
理解力が優れているから成長が早いという訳では無く、多くの人は努力をしているからプログラミングを習得できるのです。
これを踏まえるといかにモチベーション維持が大切かということが分かります。
筆者は独学で3回挫折していますが、なぜならそれは周囲に助けを求めることが出来ない性格であり、環境だったからです。
プログラミングを通して出てくる不明点はいわば一つの壁ですが、この壁を乗り越え続けることは実はモチベーションをUPさせる一因となります。
エラー1つでも良いので、次は自分で解決できるという自信を着実に付けていくことが大切です。
そのためにはやはり不明な点を素早く人に聞ける環境というのは欠かせません。
JavaScriptを独学以外で学ぶ方法
独学をおすすめしない理由を解説したところで、次は独学以外でJavaScriptを学ぶおすすめの方法を紹介していきます。
基本的にはすぐに人に聞ける環境を作り、楽しみながら学ぶというこの2点に尽きます。
プログラミングをすることを日常生活に組み込み、毎日楽しくコードを書けるような環境作りに徹することが最速でJavaScriptを習得する方法となります。
プログラミングスクールで学ぶ
最もおすすめの方法はやはりプログラミングスクールです。
プログラミングスクールと言ってもオンラインではなく、通学タイプのプログラミングスクールがおすすめです。
理由は下記の通りです。
- 現役エンジニアと繋がる
- 仕事が貰える可能性もある
- モチベーションが続く
- 自分を追い込める
プログラミングスクールへ通うメリットは、実は人に聞けるという点だけではありません。
現役エンジニアとのコネクションがあるプログラミングスクールでは、転職や就職だけでなくフリーランスになる道も拓けてくることがあります。
筆者の経験ではプログラミングスクールの卒業生同士で仕事を発注したり受注したりする小さな経済圏が生まれるようなパターンも目にしています。
そのためプログラミングスクールを選ぶ際は、人に直にあって話す機会があるような場所を選ぶことがポイントです。
しかしどうしても仕事など都合で通うのが難しい場合は最低限オンラインのプログラミングスクールを活用するようにしましょう。
また、プログラミングスクールを活用することで自分を学習環境に追い込み、モチベーションアップさせる効果もあります。
周囲に自分と同じように学んでいる生徒さんとのライバルのような気分になれるかもしれません。
また、良きライバルであり共に分からない点は教え合えるような人間関係を構築することもできます。
このようにプログラミングスクールというコミュニティに属することは人間関係から得られるメリットを享受しながらプログラミングを上達させることが出来るのです。
プログラミングを学べる環境や、コミュニティに強制力を求めるという点で、Kredoオンラインキャンプは非常におすすめです。
イベントやコミュニティで学ぶ
スクール以外で人に会いプログラミングを学ぶならやはりイベントに参加する事がベストです。
イベントには様々な経歴をもった人が集まるため、スクールでは聞けないような貴重な情報を収集することが出来ます。
またイベントには企業で働く人も多く参加するため、もしかしたら転職や仕事を受注するチャンスになるかもしれません。
イベントではJavaScriptに限らず、様々な言語を学ぶと良いでしょう。
プログラミングの学習初期は、果たしてJavaScriptが自分に合っている言語なのか、学びたい言語なのか迷うことがあります。
そんなときは先ほどと同じように、まずは一通り興味のある言語に触れてみることをおすすめします。
よほどマイナーなプログラミング言語をチョイスしない限り転職や就職には支障はありません。
好きなプログラミング言語を学びましょう。 そのためにはイベントはやはりうってつけの学習機会となります。
参加費無料で色々なプログラミングの知識を身に付けることができ、さらに共通の趣味を持つ仲間が増えるのでイベントへたくさん参加することで楽しくJavaScriptやその他の言語を上達させることが出来るでしょう。
ちなみに、イベントを探すうえで必要なサービスは主にConnpassです。
このサイトではプログラミング初心者~上級者まで幅広い層のエンジニアが無料で参加出きる学習イベントをまとめたサイトです。
筆者は現在もこのサイトを利用し、週末などに参加出きるイベントが無いかチェックしています。
自分の関心のある分野だけで構いませんのでまずは参加してみましょう。
イベントによっては懇親会が設けられており、人脈を広げていくことも十分にできるのがイベントの魅力です。
質問サイトを利用して学ぶ
プログラミングスクールに通うほどの金銭的余裕がなく、また忙しくてイベントにも参加できない人はどうすれば良いのでしょうか。
こんな時に、オンラインのプログラミング質問サービスのteratailがおすすめです。
現役のエンジニアから不明点に関するアドバイスをもらうことができ、さらに質問への回答は一人でなく複数に人からもらうこともできます。
質問の内容によって、回答が得られるかどうかが分かれる点が難点ではありますが質問への回答率はなんと約9割です。
ほとんどの質問は回答してくれるということになります。 プログラミングの学習にあたって、重要なのは問題解決能力です。
しかしその問題解決能力は、必ずしも自分で解決する必要はありません。
周囲の力に頼り、そして解決することが出来るあなたの能力も、問題解決能力があると評価することが出来ます。
このようなサービスをいくつ、日常的に利用できるか、使うのに慣れることが出来るのかもプログラミングの上達において重要な要素となります。
まとめ:JavaScriptに限らずプログラミングは独学ではなく人に習おう
JavaScriptだけでなく、プログラミング全般において分からなければすぐに人に聞くようにしましょう。
基本的に検索しても分からないのは普通です。
その時にどうにかして自分の力だけで解決しようとせず、素直に周囲の力に頼ることがプログラミングスキルを最速で成長させるポイントです。
しかしプログラミングが上達してくると、必ず周囲に聞いても分からないという場面が訪れます。
これは遂に自分の能力で解決することが求められているという場面です。
この時は周囲に頼ることが出来ません。 この場面に至るまで、周囲の人を見習って問題解決能力を養っていきましょう。
そうすればほとんどの事は自分で調べて、作りたいものは好きなように作れるようになります。