スライドショースライドショースライドショー

87.5%が挫折!?プログラミングの独学は無理なの?成功させる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

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

アンケートを実施したところ、挫折や行き詰まりを感じてしまう理由としては、以下であることがわかりました。

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

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

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

プログラミング独学で失敗してしまう5つの課題とは?

上記TOP3に付け加え、独学では5つの挫折ポイントがあります

それぞれ見ていきましょう。

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

独学者が挫折してしまう原因のほとんどが、不明点を質問できる環境がなかったことが挙げられます。

参考書を読みながら学習を進めても、専門用語が多かったり、プログラムの仕組みがなかなか理解できずに学習がなかなか進まない……。なんてことも。

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

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

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

記述したプログラムは最初から意図したとおりに動くことは稀で、常にエラーの連続です。

そのエラーを1つずつ原因を特定して修正していかなければシステムを組み上げることができません。

メジャーな言語であれば、インターネット上で対処法がわかることもありますが、ほとんどが同じエラーではなく、似たような内容を解決方法を参考にして原因を特定していく必要があります。

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

教材選びが難しい

書店に並ぶ関連書籍を手に取り、「開いた瞬間呪文のような文字の羅列が目に飛び込んできて絶望した...。」

そして、開いた入門書を、そのまま閉じてそのままプログラミングを諦めてしまった。

プログラミングを独学しようと考えたことの有る方であれば、このような経験を一度はしたことがあるのではないでしょうか?プログラミングの入門時点では難解な単語が陳列されているように見えます。

そして、先に進むためには、その単語1つ1つをしっかりと理解していかなければなりません。

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

時間が確保できない

読者の大半は普段仕事をしている社会人に当たるのではないでしょうか。

もちろん、大学生だから、高校生だから時間があるとは言いませんが、生計を保ちながら、何か新しいスキルを身につけるというのはどんなことでも時間という壁で阻まれるものです。

独学のみでプログラミングスキルを身につけようとした場合、約1000時間の学習時間を確保しなければならないと言われています。いかに、その時間を生み出していくかが命題になります。

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

プログラミング学習はそのほとんどがエラーとの戦いと言っても良いものです。事実、プログラミング学習に費やす時間の約8割はエラーの処理時間、つまり、つまづいている時間であると言われています。

プログラミングを少しでも経験された方ならきっと共感していただけるのではないでしょうか。プログラミングの習得には何度エラーとぶつかろうとも諦めない根気強さが必要になります。そのためには高いモチベーションを維持しつづける必要があります。

このモチベーションの壁が一番の挫折の原因と言っても良いでしょう。

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

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

プログラミングを独学で習得する方法は?

独学の課題1:不明点の壁

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

こちらの「teratail」というQ&Aサイトは回答率90%以上を誇る大手エンジニア向けQAサイトです。まだ活用していない方は絶対に登録しておきましょう。

また、「StackOverflow」も非常に情報量の多いQ&Aサイトです。teratailと併用することで、回答速度を早めることができるでしょう。

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

エンジニア向け勉強会についてはこちらの記事を参考にしてください。

初心者必見!失敗しないプログラミング勉強会・セミナーの活用術
更新日 : 2019年6月19日

独学の課題2:エラーの壁

質問サイトを使い倒す

一人で悩んでいてもなかなか解決ができないエラーに遭遇することはよくあります。

不明点を聞ける環境がないと同様、エラーが解決できない場合はQ&Aサイトなどを活用することをおすすめします。

ただし、エラーの内容を質問するときは、どんな操作をしてどんなエラーが発生したかを明確に伝えるよう心がけましょう。

エンジニアに相談する

身近にエンジニアがいるなら、その人に相談してみましょう。

どうしても解決できない場合は、エンジニアに相談したほうが解決できる可能性が高いと言えます。


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

このように悩んでいる方は、弊社「無料体験レッスン」へぜひ参加してみてください。

あなたの抱えている悩みや不安相談することで、業界屈指のコンサルタントが、今のあなたにぴったりの学習プランをご提案させていただきます。

どうぞお気軽にご利用ください。

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

完全オンライン対応で、自宅のパソコンで受講いただけます!

独学の課題3:教材の壁

0321-400_700修

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

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

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

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


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


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

専門用語の多いプログラミングにおいて、分かりやすい動画はとても効率のよい学習方法になります。動画学習のコツは2回以上繰り返し勉強することです。そうすることによって、頭だけではなく、体に染み込ませることによって、プログラミング基礎を叩き込むことが出来ます。

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

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

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

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

そのため、動画学習は雰囲気を掴むために使い、実践型学習サイトで基礎固めを本格的に行うことをオススメします。実践型学習サイトを使うと、項目ごとに分けられており学習しやすい状態で提供されているものがほとんどです。

非常に学習効率もよく、どこから学習したらいいか分からないといったような超入門者の方でも安心して学習に取り組むことができる点も強みですね。

【無料あり】プログラミング学習サイト14選|独学でスキルを手に入れる方法
更新日 : 2019年11月1日

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

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

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

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

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

その使った書籍は学習後も辞書的に使ったっていいんです。どうです?1冊くらい持ってみたくなったでしょう?

【初心者向け】プログラミング入門書としておすすめの本9冊
更新日 : 2019年10月8日

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

でもやっぱり独学に自信がない……
とりあえず自分が何を勉強すればいいのかサクッと知りたい!

という方は、弊社独自に開発した『プログラミング学習診断アプリ』をおすすめします。

たった3つの設問に答えるだけで、どんなプログラミング言語をどのようなステップで学習すればいいかわかる優れものです。

独学の課題4:時間の壁

Basic RGB

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

時間の壁の話を聞いて時間を無駄にできないことは分かったいただけましたか?そう、時間を無駄にできないのです。時間を無駄にしないためには、時間をどのように使っているか知る必要がありますね。

自分の現在の時間の使い方を把握していますか?意外と把握できていないことが多いですよね。実は無駄に時間を過ごしていることが多いんです。

まずは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・ゲーム・漫画・テレビなど、隙間時間も誘惑が多く存在しています。

本当にその計画通り学習を進めようと考えるのであれば時間を確保しつつ、学習するやる気、つまりモチベーションをしっかりと保つ必要があります。

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

【完全保存版】プログラミング学習のやり方を超効率化させる9つの方法
更新日 : 2019年5月28日

時間の壁まとめ

先ほどお伝えしたように、通常独学のみでプログラミングスキルを身につけようとすると、学習時間は1000時間必要だと言われています。時間があってもあっても足りないと感じてしまうぐらい長い道のりなのかもしれません。

また、隙間時間を有効利用することも大切です。サラリーマンの平均隙間時間は「2.6時間/日」あります。、仮に1000時間の学習時間が必要なら1年間の隙間時間でおおよそ確保できる計算になります。それだけ隙間時間は重いということですね!

やっぱり時間の使い方を把握するのが難しい
スキマ時間がなかなか確保できない……

という方は受講料0円からスタートできる『転職コース』をおすすめします。

転職コースとは、業界初の初期費用無料で受講を開始することができ、転職成功でそのまま受講料が無料のまま卒業となるコースです。

他社の転職コースとの違いとして、弊社は転職成功で受講料無料ですが、他社では転職失敗で返金・無料となります。

  • 侍エンジニア塾:初期費用0円で受講開始→弊社指定企業へ転職いただくことで一切費用は掛かりません。
  • 他社:入塾金60万、転職決まらなかったら返金される

興味のある方はぜひ詳細を確認してみてください。

転職コースの詳細はこちら

独学の課題5:モチベーションの壁

Basic RGB

重要なのは目的・目標を決めること

モチベーションを保つ上で非常に重要なこと、それは目的と目標を決めることです。何事もそうですが、ゴールがイメージできなければモチベーションを保つことはできません。

まず目的を決めること

あなたは目的と目標の違いを理解しているでしょうか?目的はプログラミングを学習することで最終的にどうなりたいのか、どんな状態を実現したいのかということです。

特に学習を始める時点で目的を見直すことが有効ですが、目的の認識として気をつけたい点が一つあります。それは、プログラミングができるようになることを目的としてしまわないようにすることです。

なんとなくプログラミングやりたいというのでは、楽しさを感じることもできず、殆どの人がすぐに投げ出してしまいます。目的とは様々な新しいモノを見るのが好きなので、時間に縛られない働き方を実現するといったようなことです。

自分を欲求で動かす事が出来れば、むしろ学習はやりたいことに変えていくこともできます。目標設定というのは弊社でかなり重要視していることで無料体験レッスンにも組み込んでいるものです。無料ですので、目標設定がうまくできないと悩んでいる方は一度弊社にお越しください!

侍エンジニア塾
マンツーマンレッスンの様子はこちら

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

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

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

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

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

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

北村さんは、元銀行員で退職後にブロガーとして活動していましたが、不安定さを感じプログラミングスキルを身につけています。

kanettさんは元営業マンでしたが、33歳で独学でプログラミングを学んだものの挫折……。その後スクールで学びプログラミングスキルを身につけています。

市川さんは元ホテルマンでしたが、ふとしたきっかけでプログラミングに興味を持ち始めたのがきっかけでした。自分が求めるライフスタイルがエンジニアなら実現できるのではないかと思い立ってWebデザインを学びました。

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

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

目標を意識をしなければ、どんどんモチベーションは薄れていきます。そこで大切なのが習慣化です。やる気というモチベーションに左右される状態では、日々の学習にムラが出てきます。

そのために、学習の習慣化が大切になってくるんですね。それはそうと、その習慣化をどうすればいいのでしょうか?実は簡単な方法が1つあるので、ご紹介しますね!

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

モチベーションの課題まとめ

まず一番の挫折の原因がココ、モチベーションの維持にあることを再度認識しましょう。そのモチベーション維持にクリティカルにヒットする解決法として、目的と目標を決めることというのがありました。

目的というのは、自分が成し遂げたいこと、プログラミング学習を終えた先に得たい成果のことを言います。目標は設定した目的に対して前進できる通過点のことを言います。

まず目的を設定し、目的に沿った目標立て、行動を起こしていくわけですが、その行動を習慣化することが大事なポイントです。行動の例で言うと、プログラミング学習をするという行動例が挙げられます。

プログラミング学習をすることの習慣化のコツとしては、徐々に勉強時間を増やしていくといった徐々に行動量を増やすことが行動心理学的にも習慣化しやすいとされています。

モチベーション維持のためには以下の内容をしっかりと把握しておきましょう。

  • 目的を設定すること
  • 目的に沿った目標を設定すること
  • 目標に沿った必要な行動を習慣化していくこと
  • 習慣化のコツは行動量を徐々に増やしていくこと

最大の壁は自分である

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

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

プログラミング初心者のときは、理解できず辛いですが継続できるようにしましょう。まずは1年学習を継続すべきです。

最大の壁を打ち破るコツ

継続が大事と伝えましたが、継続するためにはコツが必要なんです。コツとは、

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

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

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

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

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

ここまでで紹介した、初心者が挫折しやすい

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

この5つを改善するためには、学習方法を根本的に変えて効率よく学習を進める必要があります。

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


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

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

それでも不安な方は……

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

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

その場合は、弊社で行っている「無料体験レッスン」に参加してみてください。

この無料体験レッスンでは、あなたがプログラミングを学ぶ目的を明確にして、その明確になったキャリアに向かって最短でスキルを習得するための学習プランを提案させて頂きます。学習プランがあれば、独学でも無駄のない学習で最速でエンジニアになれるイメージが湧くと思います。

オンラインでも無料体験レッスンは受講できるので、気軽にお申し込みください。

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

LINEで送る
Pocket

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

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

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

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

cta_under_bnr

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

cta_under_btn

書いた人

侍ブログ編集部

侍ブログ編集部

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

おすすめコンテンツ

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

プログラミング学習の効率を劇的に上げる学習メソッドを解説