87.5%が挫折!?プログラミング独学のステップと成功のコツを解説

プログラミングを独学で勉強することは可能なのでしょうか?

これからプログラミングを学ぼうと思っても、独学で勉強してスキルを習得できるのか?多くの方にこのような質問を投げかけられます。

当たり前ですが、独学で習得する人も挫折してしまう人も、どちらも数多くいます。

ただ、圧倒的に挫折してしまう人の方が多いのではないでしょうか?弊社で無料体験に来る方の約半数以上が独学を経験していて、挫折している方が多いのが現状です。

一昔前であれば数十万円の価値がついていたような学習コンテンツが、今や無料でネット上から拾えます。学習の効率は上がり、多種多様な創意工夫されているコンテンツが存在している現在で、未だに挫折者が絶えないのはなぜでしょうか。

今回はプログラミング初学者が挫折してしまう原因を5つまとめてみました。

  • 課題1:不明点の壁
  • 課題2:エラーの壁
  • 課題3:教材の壁
  • 課題4:時間の壁
  • 課題5:モチベーションの壁

最後では、その壁を乗り越える方法としてプログラミングコミュニティをご紹介させていただいているので、ぜひ参考にしてください

プログラミングの独学は挫折しやすいって本当!?

当社が実施したアンケートによると、なんと9割近くの人がプログラミングに挫折したという事実があります。

questionnaire, 80% frustrated with programming

調査概要

調査期間 :2019 年 8月 13 日 〜 8月20 日
調査方法 :インターネット調査
サンプル数:298名
対象    :10代〜80代の男女(10代:59名、20代:114名、30代:44名、40代:33名、50代:27名、60代以上:16名、回答なし:5名)

データからわかるように、ほとんどの人がプログラミングの学習において、一度は挫折を感じてしまうことがわかりますね。

なぜプログラミングの独学で挫折してしまうのか?

questionnaire reason for frustration

なぜプログラミングの学習で挫折してしまうか? アンケートを実施したところ、挫折や行き詰まりを感じてしまう理由としては、大きく分けて3つの要因があることがわかりました。

  • 不明点を聞ける環境になかった
  • エラーが解決できなかった
  • モチベーションが続かなかった

プログラミングの学習において挫折を感じてしまうことは、誰でも一度は経験してしまうものです。しかし、学習の方法さえ間違えなければ挫折を乗り越え、スキルを身につけることも十分可能です。

次項からはプログラミングの独学における初学者が挫折してしまう原因と、解決策について解説していきます。

なぜプログラミングの独学で挫折してしまうのか?

上記TOP3に付け加え、独学では5つの挫折ポイントがあります。それぞれ見ていきましょう。

不明点を聞ける環境になかった

独学者が挫折してしまう原因のほとんどが、不明点を質問できる環境がなかったことが挙げられます。参考書を読みながら学習を進めても、専門用語が多かったり、プログラムの仕組みがなかなか理解できずに学習がなかなか進まない……。なんてことも。

そのため、多くの人が質問できる環境がないという理由で挫折してしまうのです。

エラーが解決できなかった

質問できる環境になかったの次に多かったのが、エラーがなかなか解決できずに挫折してしまったということです。

記述したプログラムは最初から意図したとおりに動くことは稀で、常にエラーの連続です。そのエラーを1つずつ原因を特定して修正していかなければ、システムを組み上げることはできません。メジャーな言語であれば、インターネット上で対処法がわかることもありますが、ほとんどが同じエラーではなく、似たような内容を解決方法を参考にして原因を特定していく必要があります。

しかし、エラーの内容がなかなか解決できなかったり、エラーが連続してつまずいて、そのまま学習を諦めてしまうケースも多いです。

教材選びが難しい

書店に並ぶ関連書籍を手に取り、「開いた瞬間呪文のような文字の羅列が目に飛び込んできて絶望した...。」そして、開いた入門書を、そのまま閉じてそのままプログラミングを諦めてしまった。プログラミングを独学しようと考えたことのある方であれば、このような経験が一度はあるのではないでしょうか?

確かにプログラミングの入門時点では、難解な単語が陳列されているように見えます。そして、先に進むためには、その単語1つ1つをしっかりと理解していかなければなりません。

プログラミング学習において書籍を利用するのは最も普及している方法ではありますが、このような初心者にはとっつきづらいというデメリットがあるため、本を利用する際もどういう意図で使うのかを明確に工夫する必要があるんです。

モチベーション維持できない

プログラミング学習は、そのほとんどがエラーとの戦いと言っても良いものです。事実、プログラミング学習に費やす時間の約8割はエラーの処理時間、つまりつまづいている時間であると言われています。プログラミングを少しでも経験された方なら、きっと共感していただけるのではないでしょうか?

プログラミングの習得には、何度エラーとぶつかろうとも諦めない根気強さが必要になります。そのためには、高いモチベーションを維持しつづける必要があります。このモチベーションの壁が一番の挫折の原因と言っても良いでしょう。

※エラー解決について詳しく知りたい方はこちらの記事で詳しく紹介しているので、見てみてください!

プログラミング学習でエラーを解決できない方へ
更新日 : 2020年4月15日

プログラミングを独学で学習するためのステップとは?

「独学でプログラミング学習をしよう」と決めたものの、どのようなステップで学習を進めていけば良いか悩んでいる方もいるのではないでしょうか?そのような方のために、独学を成功させるためのステップを解説します。

学習目的・作りたいものを明確にする

プログラミングの独学を始める前に、まず学習の目的を考えましょう。何も考えずに手を付けているという方は、行動力は素晴らしいですが、いつまでにどこまで学習すれば良いか分からず歩みが止まってしまうかもしれません。

なぜプログラミングを学習するのかは、人によって様々です。例えば、

  • 趣味でアプリを作りたい
  • 転職のためのポートフォリオを作りたい
  • 副業のためにフロントエンドの技術を身に着けたい

など様々な理由がありますが、目的によってプログラミング言語や学習期間も変わってきます。そこでまずは、学習する目的と作りたいものを決めると良いでしょう。

具体的な成果物をイメージすることで、学習効率がかなり変わってきます。

目的に沿った目標を決めること

目標は目的を達成するまでのプロット、つまり道標です。一般的な目標の例としては、自分の作りたいサービスを作ることが効果的です。プログラミングスキルを用いて起業した堀江貴文さんも、

何でもいいから自分があったらいいなーみたいなウェブサービスを作ると実践的で早いですよ。カネかからないし。作り方はネットに書いてあるし。

引用元:堀江貴文のQ&A「プログラミングは誰でも出来る!?」〜vol.620〜https://www.youtube.com/watch?v=nhJaRJzotTk" target="_blank" rel="noopener noreferrer

というアドバイスをされています。作れるようになりたければ作ろうとしてみるというのは、自然な考え方です。なかなか堀江さんのようにはいかないかもしれませんが「目標を決めるのは重要」ということは、この発言からも感じていただけるでしょう。

弊社、侍エンジニア塾でもオリジナルサービス制作に力を入れており、実際に7ヶ月間で2つのオリジナルサービスを作り、起業した方もいらっしゃいます。その方のインタビューを記事にまとめましたので、ご覧ください!

32歳ベンチャー企業元役員が起業してプログラミングを学んだ話
更新日 : 2019年5月22日

学習するプログラミング言語を決める

独学をするといっても、自分の目的に合わないプログラミング言語を学習すると、無駄になってしまうかもしれません。まずは、目的に合ったプログラミング言語を決めましょう。

プログラミング言語は数百種類以上も存在しますが、それぞれ得意とするものが異なっています。例えば以下のように、目的によって選ぶ言語は変わります。

  • Webサイトを作りたい→HTML&CSS、JavaScript、
  • アプリを作りたい→Swift、Java、Kotlin
  • 年収を上げたい→Go、Scala、Python

特に作りたいものがないのであれば、求人の多さや近年の人気の高さからプログラミング言語を学ぶのも良いでしょう。もし自分が作りたいものに似ているサービス等があれば、そのサービスが何のプログラミング言語で作られているかを調べてみるのもおすすめです。

学習環境を整える

プログラミング学習は基本的にパソコンが必要になるので、持っていない方はパソコンを購入しましょう。

Windows・Macどちらが良いか悩む方もいるかもしれませんが、Web系の言語を学習するという方はMacを使用するのがおすすめです。Web系言語の開発ではMacのPCを使って開発されていることが多く、ネット上の解説記事もMacでの操作を前提に書かれていることが多かったりします。

PCを揃えると、次に開発環境を整えることが必要になります。プログラミング言語によって揃えるものは異なりますが、代表的なものは以下の3つ。

  • ブラウザ
  • IDE(統合開発環境)
  • テキストエディタ

プログラミング初心者の中には、この開発環境の構築で諦めてしまう人も少なくありません。まずは開発ができる最低限の環境を整えて、プログラミング学習に早めに入ってしまうことをおすすめします。

学習するプログラミング言語の選び方は?

診断アプリで学習プランを明確にしよう

なかなか自分が学びたいプログラミング言語が決まらない
プログラミング言語は決まったけど、学習プランが決められない

という方は、弊社独自に開発した『プログラミング学習診断アプリ』をおすすめします。たった3つの設問に答えるだけで、どんなプログラミング言語をどのようなステップで学習すればいいかわかる優れものです。

プログラミングの独学を成功させるコツとは?

独学の課題1:不明点を解消できる環境を作ろう

不明点を取り除き学習をスムーズに進めるためには、まず「質問できる環境」を作りましょう。エンジニア向けのQ&Aサイトなどを活用すると、独学でも困ったときに質問できますよ。

こちらの「teratail」というQ&Aサイトは、回答率90%以上を誇る大手エンジニア向けQAサイトです。まだ活用していない方は絶対に登録しておきましょう。また、「StackOverflow」も非常に情報量の多いQ&Aサイトです。teratailと併用することで、回答速度を早められるでしょう。

もし、いち早く質問できる環境がほしいのであれば、エンジニアの知人を増やしてみましょう。最近ではエンジニア向けの交流会や勉強会が豊富に開催されています。こういった場に参加することでコミュニティを増やすことができます。

質問サイトを使い倒す

一人で悩んでいても、なかなか解決ができないエラーに遭遇することはよくあります。エラーが解決できない場合は、Q&Aサイトなどを活用しましょう。ただしエラーの内容を質問するときは、どんな操作をしてどんなエラーが発生したかを明確に伝えるよう心がけましょう。

エンジニアに相談する

身近にエンジニアがいるなら、その人に相談してみましょう。どうしても解決できない場合は、エンジニアに相談した方が解決できる可能性が高いです。


でも身近にエンジニアがいない……。
やっぱり独学でやっていけるのか不安になってきた。

このように悩んでいる方は、弊社「無料体験レッスン」へぜひ参加してみてください。あなたの抱えている悩みや不安相談することで、業界屈指のコンサルタントが、今のあなたにぴったりの学習プランをご提案させていただきます。完全オンライン対応で、自宅のパソコンで受講いただけるので、どうぞお気軽にご利用ください。

侍エンジニア塾
無料体験レッスンの詳細はこちら

独学の課題2:初心者向けのわかりやすい教材を使う

0321-400_700修

画像:shutterstock

まずは動画学習で雰囲気を掴む

今日では、プログラミングに関する質の高い無料教材がどんどんリリースされています。ひと昔前であったら、数十万するような情報が、今では無料で手に入るようにもなりました。

そんな情報のなかでも、特に初心者にとって有効な教材が動画です。実際に動画学習はとても有効的な学習方法であるということも研究で認知されています。

例えばデジタルナレッジ社の調査によれば、過去に動画学習を行ったことのある100人の男女にアンケートをした結果「満足・おおむね満足」と回答した人は全体の86%というデータが出ています。

回答者が感じたメリットとしては、「音声や映像つきでわかりやすい」と回答した人が81%、「場所・時間にとらわれず専門的な学習ができる」と回答した人が53%とのことです。

動画でプログラミングを学べば、情報量が限られてる分、要点を抑えて学べます。また、わからない言葉が出てきても動画は視覚的にも分かりやすいため、真似をすることによってスムーズに学習を進められます。

次の記事でも動画学習サービスの効率的な利用方法を解説していますので、併せてご覧ください。

ドットインストールで挫折せず2ヶ月で未経験からエンジニアになった話
更新日 : 2020年5月11日

実践型学習サイトが自主学習を加速させる

動画学習では、インプットが主になってしまいがちです。もちろん動画を見ながら手を動かすことでアウトプットを同時に行う方もいるかと思いますが、動画を巻き戻したり、やり方が最適化されていないので大変ですよね。

そのため、動画学習は雰囲気を掴むために使い、実践型学習サイトで基礎固めを本格的に行うのがおすすめです。実践型学習サイトは項目ごとに分けられており、学習しやすい状態で提供されているものがほとんど。非常に学習効率もよく、どこから学習したらいいか分からないといったような超入門者の方でも安心して学習に取り組むことができる点も強みですね。

【2020年最新】プログラミングを独学で学習できる無料サービス19選
更新日 : 2020年8月12日

独学でさらにスキルの幅を持たせるなら書籍を探せ

学習サイトでは効率よく、よく使う文法や知識をインプットできたでしょう。基礎的なことや少しの応用レベルはマスターできているかもしれません。

しかしいざ開発現場に入ると、動画学習で効率的に学んだとはいえ、予想もしない指示を受けることもあります。

ネットでググってもなかなか出てこない…
そもそもなんて調べていいか分からない…

こんなことを考えることが何回あることか。おそらく誰でもあるでしょう。そんなことにならないようにある程度書籍でさらっておく必要があるんです。そして、その使った書籍は何も完璧にマスターする必要はありません

独学の課題3:時間を効率的に使う

Basic RGB

画像:shutterstock

現状の時間の使い方を把握する

特に働きながらプログラミングを学習しようとしている方は、時間の壁を感じるでしょう。プログラミングに限らず、新しいスキルを身につけるためには1000時間必要だと言われており、その時間を捻出するのが大きな課題となります。

そこで時間を無駄にしないために、時間をどのように使っているか把握しておきましょう。自分の現在の時間の使い方は、意外と把握できていないことが多いです。まずは1日のタイムスケジュールを把握してみましょう。

そのときにおすすめのツールが、toggl(トグル)です。

Toggl_-_Time_Tracker___Employee_Timesheet_Software

引用元:toggl https://toggl.com/

このツールは、時間管理できるツールです。行動別に時間を測定して、それをグラフにして視覚化できるツールなんです。1日だけでもいいですが、できれば1週間続けて、何に時間を費やして、どのくらい行動できているのかを調べる機会を作るのがおすすめです。

隙間時間を確保する

CITIZENの調査によるとサラリーマンの平均可処分時間、つまり隙間時間は「平均2.6時間 / 日」と言われています。週5日働くサラリーマンであれば平日で13時間、土日に3時間ずつ学習時間を取れば1週間で約20時間、つまり1ヶ月で80時間です。

仮に1000時間で習得できるとすると、約1年で習得できる計算になります。つまり、通勤時間に動画を見たり、通勤前か後にカフェで学習時間を作ったりなど、いかにして平日の隙間時間を有効に使えるかが肝になってきます。

しかしながら、なんだかんだと時間は過ぎ去ってしまうものです。SNS・ゲーム・漫画・テレビなど、隙間時間も誘惑が多く存在しています。本当にその計画通り学習を進めようと考えるのであれば、時間を確保しつつ、学習するやる気、つまりモチベーションをしっかりと保つ必要があります。

時間効率を上げる方法は工夫次第でも出来るので、次の記事なども参考にしっかりコミットできる仕組みを作りましょう。

【学習時間を確保したい!】私が行った効果的な方法とは?
更新日 : 2020年3月3日

独学の課題4:目標の実行を習慣化する

Basic RGB

画像:shutterstock

目標設定後の習慣化がとても大切

目標を設定することの大切さは上述しましたが、目標を設定したらこれで完璧とはなりません。これからが大切です。目標設定をすれば、モチベーションは確かに保たれます。しかし、それもつかの間。目標を意識をしなければ、どんどんモチベーションは薄れていきます。

そこで大切なのが習慣化です。やる気というモチベーションに左右される状態では、日々の学習にムラが出てきます。そのために、学習の習慣化が大切になってくるんです。

それはそうと、その習慣化をどうすればいいのでしょうか? 実は簡単な方法が1つあるので、ご紹介しますね!

勉強をすると決めてから、張り切って勉強時間をたくさん取って勢いよくロケットスタートする方もいるでしょう。しかし習慣化する時には、最初の勉強始めをなるべく軽めにして、徐々に勉強時間を増やしていく方法が行動心理学的に習慣化しやすいと言われています。一度試してみてくださいね!

目標を細かく設定する

「10月までHTMLをマスターする」と言ったようなざっくりした大きな目標では、なかなかモチベーションが続きづらいです。まずは、数日~1週間程度で達成できる小さな目標を設定し、確実にクリアしていきましょう。小さな目標であればクリアしやすく、ゲーム感覚で学習を進めていきやすくなります。

目標は、何らかの機能の理解や学習教材のページ数・レッスン数など、達成したことが分かりやすいものにするといいでしょう。闇雲に学習する場合と比べると遥かに学習が続きやすいので、試してみてくださいね。

最大の壁は自分である

これまで5つの壁を紹介してきましたが、最大の壁は自分です。これまで紹介した壁を感じてプログラミングが理解できず難しいや向いていないと思い込む人は多く、学習を継続できない人が多いです。

プログラミング初心者にとっては理解できないのは当たり前ですので、安心してください。「1000時間の法則」と言われており、新しい事を始めて得意となるまで1000時間ほど掛かると言われています。

継続するためのコツとは

  • 横の繋がりを作る
  • 相談できる人を見つける

横の繋がりを作ることは大切です。イベントに参加したりして学習仲間を見つけましょう。一緒に学習する仲間がいると心強く継続しやすくなります。

また、相談できる人を見つけることも大切です。どうしても、自分では1人では理解できないことがでてきたときに気軽に相談できる人がいると、自分に合った学習方法や学習手順、その人の経験を知ることができます。

それでもプログラミング学習で挫折しそうな人は?

学習方法を根本的に変えよう

ここまでで紹介した、初心者が挫折しやすい以下の5つを改善するためには、学習方法を根本的に変えて効率よく学習を進める必要があります。

  • 不明点の壁
  • エラーの壁
  • 教材の壁
  • 時間の壁
  • モチベーションの壁

以下の内容をもう一度見直してみましょう。

  • 教材の選定は間違っていないか、選んだ教材で進めて大丈夫なのか
  • 学習プランはしっかり組まれているか、そのプランで自分の目的を達成できそうか
  • 学習期間はどのくらいかかりそうか、1日どのくらい学習すればスキルを取得できそうか

すべて完璧に設定できているなら、あとはプログラミング学習を進めるだけです。逆に、少しでも不安がある場合は、挫折してしまう可能性があります。

それでも不安な方は……

学習プランとかないしこのままだと挫折しそう・・・

このように感じた人もいるでしょう。そのまま不安を抱えて学習を進めるのは危険です。

その場合は、弊社で行っている「無料体験レッスン」に参加してみてください。この無料体験レッスンでは、あなたがプログラミングを学ぶ目的を明確にして、その明確になったキャリアに向かって最短でスキルを習得するための学習プランをご提案いたします。

学習プランがあれば、独学でも無駄のない学習で、最速でエンジニアになれるイメージが湧くでしょう。オンラインでも無料体験レッスンは受講できるので、気軽にお申し込みください。

侍エンジニア塾
無料体験レッスンの詳細はこちら

LINEで送る
Pocket

「プログラミング、右も左もわからない…」という方にオススメ

当プログラミングスクール「侍エンジニア塾」では、これまで6000人以上のエンジニアを輩出してきました。

その経験を通してプログラミング学習に成功する人は、「目的目標が明確でそれに合わせた学習プランがあること」「常に相談できる人がそばにいること」「自己解決能力が身につくこと」この3つが根付いている傾向を発見しました。

侍エンジニア塾は上記3つの成功ポイントを満たすようなサービス設計に磨きをかけております。

cta_under_bnr

「自分のスタイルや目的に合わせて学習を進めたいな」とお考えの方は、ぜひチェックしてみてください。

書いた人

侍ブログ編集部

侍ブログ編集部

侍エンジニア塾は「人生を変えるプログラミング学習」をコンセンプトに、過去多くのフリーランスエンジニアを輩出したプログラミングスクールです。プログラミングに役立つ情報や有用な情報を発信していきます。
サービスページはこちら
ツイッターはこちら
フェイスブックはこちら

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習やキャリアのお悩み、お気軽にご相談ください。