プログラミングの独学は無理?挫折する3つのポイントと対処法を伝授

こんにちは!侍ブログ編集部(@samuraijuku)です。

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

多くの方にこのような質問を投げかけられます。

実際、プログラミングを独学で習得することは可能です。ただ、挫折してしまう人の方が多いのが事実でしょう。弊社で無料体験に来る方の約半数以上が独学を経験していて、挫折している方が多いのが現状です。

それだけプログラミングの独学はハードルが高いのです。特に初心者の方はなおさらですね。しかし実は、挫折者には共通するポイントがあるので、そのポイントと対処法さえ知っておけば独学を成功させる可能性をグッと高めてくれます。

という事で今回は、プログラミング初学者が挫折してしまう3つのポイントを紹介し、それぞれの対処法を紹介していきたいと思います。挫折せずに独学でプログラミングを習得したいと思っている方は必読ですよ。

最後には独学から就職や転職など、仕事獲得に繋げる方法も紹介するので、ぜひ参考にしてみてください。

まずは結論!プログラミングの独学って無理なの?

独学は無理じゃない!でも…

冒頭でも触れましたが、初心者の方でもプログラミングの独学は可能です。

実際に無料サイトや動画などを駆使して、未経験でも独学からプログラミングを習得し、転職や就職を成功させた例も数多くあります。


Progateの活用で初心者が2ヶ月でエンジニア転職!初級編は無料!
更新日 : 2019年4月17日

ですが、挫折率が高いのもまた事実。言語などにもよりますが、実はプログラミング独学の挫折率は90%ほどとも言われています。そしてその挫折ポイントはかなり共通しているのです。

だからこそ共通している挫折ポイントとその対処法を学べば、挫折してしまう可能性をグッと減らせますね。

独学で習得できるまでの期間は?

学ぶ言語や確保できる時間によって期間は大きく変わってくるので、一概には言えませんが、一般的にプログラミングを独学で習得するには1000時間ほどの時間が必要と言われています。

例えば一週間に20時間確保できるすると、約1年間で習得が可能という事ですね。あくまで目安の数字にすぎませんが、参考程度に覚えておきましょう。

初心者の独学に向いている言語は?

まだ具体的な目標や理想が決まっていない人は、PHPJavaScryptあたりがおすすめです。この二つの言語はそこまで難易度が高くない上に、できる事が幅広いため需要も大きいです。

例えばPHPはWEBサービス開発をする際に日本で最も使われている言語であり、WEBサービス全般を作る事ができます。ぐるなびやワードプレスなどのサービスもPHPで作れられていますね。

PHPでできること、できないことって?!簡単にまとめてみた
更新日 : 2019年6月25日

JavaScryptはとにかくなんでもできる言語です。フロントサイドはもちろん、サーバーサイドの開発もできるので、とにかく守備範囲の広い言語と言えるでしょう。

初心者必見!JavaScriptでできることと作れるものってどんなもの?
更新日 : 2019年6月25日

逆に有名なC言語やJavaなどは、確かにできる事は幅広いのですが、初心者にはかなり難易度が高く、独学では挫折してしまう可能性が非常に高いと言えます。

もちろん具体的に目的や目標が決まっている人はそれに合った言語を学ぶべきですが、まだ曖昧な人はとっつきやすい言語や守備範囲の広い言語を選ぶことをおすすめします。

【2019年最新】おすすめプログラミング言語を徹底比較ランキングTOP10
更新日 : 2019年6月26日

また、弊社が作成した「プログラミング言語診断アプリ」を利用すれば、いくつかの質問に答えるだけであなたにぴったりのプログラミング言語や学習プランを診断してくれます。ぜひ活用してみてください。

まずは無料診断してみる

プログラミングの独学で挫折しやすい3つのポイントと対処法

では、本題であるプログラミングの独学で挫折しやすいポイントと、その際の対処法を解説していきます。大きな挫折ポイントは主に以下三つです。

  • 教材選択を間違える
  • 時間の確保ができない
  • モチベーションを維持できない

反面教師にしていただき、効率的にプログラミング学習を進めて頂ければと思います。では、一つずつ具体的にみていきましょう。

挫折ポイント1:教材選択を間違える

0321-400_700修

書店に並ぶ関連書籍を手に取り、開いた瞬間呪文のような文字の羅列が目に飛び込んできて絶望した…。そして、開いた入門書を、そのまま閉じてそのままプログラミングを諦めてしまった。

このように、自分のレベルに合っていない書籍などを使おうとしてしまうことが、まず一つ目の挫折ポイントです。プログラミングの入門時点では難解な単語が陳列されているように見えます。

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

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

対処法

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

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

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

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

引用元:デジタル・ナレッジ https://www.digital-knowledge.co.jp/archives/1672/

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

引用元:デジタル・ナレッジ https://www.digital-knowledge.co.jp/archives/1672/

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

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

おすすめの動画サイトはドットインストールです。これで間違いありません。以下の記事でドットインストールの効率的な利用方法を解説していますので合わせてご覧ください。

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

2.実践型学習サイトを利用

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

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

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

以下の記事でおすすめの実践型学習サイトを紹介していますが、おすすめはプロゲートです。ゲーム感覚でプログラミングを学んでいけるので、初心者の方にはぴったりですよ。

【全て無料】独学でもスキルが身につくプログラミング学習サイトTOP5
更新日 : 2019年5月29日

3.さらなるスキルは書籍で

ここからようやく書籍の出番になります。

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

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

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

そんな時に書籍が活躍してくれるんですね。書籍は1から隅々まで全てを見て学習するわけではなく「必要なことができたら辞書的に使う」といった使い方がおすすめです。

動画学習や実践型学習サイトでカバーできなかった部分を書籍で補足するというイメージですね。以下の記事でおすすめ書籍を紹介しているのでぜひチェックしてみてください。きっと役立つシーンがあるはずです。

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

挫折ポイント2:時間の確保ができない

Basic RGB

思ったように時間を確保できないことが第2の挫折ポイントです。

読者の大半は普段仕事を社会人に当たるのではないでしょうか。もちろん、大学生だから、高校生だから時間があるとは言いませんが、生計を保ちながら、何か新しいスキルを身につけるというのはどんなことでも時間という壁で阻まれるものです。

序盤でも軽く触れましたが、独学のみでプログラミングスキルを身につけようとした場合、約1000時間の学習時間を確保しなければならないと言われています。

そもそもその時間を確保できない方や、当初は確保できるできるつもりだったが、勉強は初めてみたら思った以上に時間確保が難しかった、といったような方は非常に多いです。

対処法

1.現状の時間の使い方を把握しよう

まずは、「現時点での自分の時間の使い方を把握する事」が時間を無駄にしないための第一歩です。

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

まずは1日のタイムスケジュールを把握してみましょう。そのときに使ってほしいツールがあります。それが時間管理ツールのtoggl(トグル)です。

Toggl_-_Time_Tracker___Employee_Timesheet_Software

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

行動別に時間を測定して、それをグラフ化して視覚化する事ができます。1日だけでもいいですが、できれば1週間続けて、何に時間を費やして、どのくらい行動できているのかを調べる機会を作ることをオススメします。

何にどれだけ時間を割いているかを知ることによって、無駄な時間を発見する事ができますし、より生産性を意識して生活する事ができます。そして結果として、時間を捻出する事ができるんですね。

2.隙間時間を利用しよう

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

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

しかしながら、なんだかんだと時間は過ぎ去ってしまうものです。SNS・ゲーム・漫画・テレビなど、隙間時間も誘惑が多く存在しています。

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

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

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

挫折ポイント3:モチベーションを維持できない

Basic RGB

モチベーションの維持、これが独学にあたっての最大の挫折ポイントでしょう。

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

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

このモチベーションの壁を乗り越えられるかどうか?が独学を成功させる一番のポイントと言えます。

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

対処法

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

1.まずは目的を明確にしよう

shutterstock_134150393

画像:Shutterstock

あなたは目的と目標の違いを理解しているでしょうか?目的はプログラミングを学習することで最終的にどうなりたいのか、どんな状態を実現したいのかということです。心から自分が望む目的を設定出来ればそれだけで挫折する可能性はぐっと減らすことができます。

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

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

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

【月500名以上が受講】1時間で人生が変わる無料体験レッスン
更新日 : 2019年6月25日

無料体験レッスンの詳細はこちら

2.目的に沿った目標を決めよう

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

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

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

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

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

3.習慣化しよう

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

モチベーションというものは日々薄れていきやすく日々の学習にムラが出てくるのです。

そこで大切なのが習慣化です。学習を習慣化する事で日々の学習にムラが生じにくくなります。ではどうすれば習慣化できるのでしょうか?実は簡単な方法が1つあるので、ご紹介しますね!

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

ぜひ一度試してみてくださいね!

最大の壁は自分である


画像:shutterstock

これまで独学における挫折ポイントを3つ紹介してきましたが、最大の壁は自分です。これまで紹介した挫折ポイントにぶつかり、プログラミングが理解できず難しいと感じたり、自分には向いていないと思い込む人が多く、学習を継続できない人が多いです。

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

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

最大の壁を打ち破るコツ

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

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

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

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

独学から就職や転職に繋げるには?

プログラミング習得の目的が就職や転職、はたまたフリーランスとして仕事を獲得していく事だという人も多いでしょう。プログラミングスクールなどに通った場合は、転職や就職支援などをしてくれる事も多いですよね。

では、独学でプログラミングを学び、そこから仕事を獲得するにはどうしたらいいのでしょうか?効率的な方法をいくつか紹介します。

GitHubに書いたコードを公開しよう


引用元:github https://github.co.jp/

GitHubとは世界中の人々が自分の作品(プログラムコードやデザインデータなど)を保存、公開ことができるようにしたウェブサービスの事です。

【5分でわかる】GitHubとは?概要やメリットを簡単解説!
更新日 : 2019年6月24日

GitHubはIT業界の採用担当者も活用しています。なのでここに自分のコードなどを公開する事で、仕事の依頼が来たり採用担当からスカウトが来る事などもあるのです。

途中の作品で合ったとしても、どんどん公開していきましょう。

ネット上のオリジナル作品を公開しよう

オリジナルサービスを開発できた際には、ネット上にそのサービスを公開しましょう。

そのサービス自体がほとんど人に使われていなかったとしても、ゼロからサービスを開発する一定の力はあると判断してもらえますし、見る人によってはそのサービス自体に可能性を見出してくれる人もいるかもしれません。

せっかく作ったオリジナル作品も、誰かにみてもらわなければ、使ってもらわなければ評価してもらえません。

どんなに今とても有名になっているアプリでも、最初は荒削りなものです。どんどん公開していきましょう。

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

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

  • 教材の壁
  • 時間の壁
  • モチベーションの壁

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

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


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

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

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

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

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

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

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

最後に

すでに学習を始めている方は思い当たる節もあったのではないかと思います。この3つの壁を乗り越えることこそがプログラミングスキルを習得する必須条件になりますので、プログラミング学習をする際はぜひ意識してみてください!

自分にプログラミングなんて・・・と思っていませんか?

今後10年間で今ある職業の『77%』はなくなると言われています。

人工知能や機械学習を筆頭にVR、AR、ドローンなどの最先端技術の発達はこれからのあなたの働き方に間違いなく影響を与えるでしょう。

将来を見据えてプログラミングができるようになってエンジニアになりたい、自分だけにしかできないクリエイティブな仕事がしたい、、、とお考えの方も少なくないでしょう。

と、同時に「難しそう、、自分にはできないだろう、、、」と諦めている方も多いのではないでしょうか。

弊社マンツーマンレッスンは、お一人お一人に専属のインストラクターがつくので、通常のスクールでは難しい、オリジナルアプリ開発や、フリーランスとしての仕事獲得まで支援しています。

まずは『無料体験レッスン』で弊社コンサルタントと一緒にあなた専用の学習カリキュラムを考えてみてはいかがでしょうか?

詳しくは下の画像をクリックしてください。

cta_mtm2

LINEで送る
Pocket

書いた人

侍ブログ編集部

侍ブログ編集部

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

おすすめコンテンツ

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

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