プログラミング学習は10人中8人が挫折して学習をやめてしまうと言われています。
挫折する要因となるのは人によって様々ですが、1番の要因は「プログラミングの問題点を上手く解決できない」というのが理由です。
そこで、当記事では
- プログラミング学習の挫折理由
- 挫折を回避して学習を行う方法
- 挫折しそうになった時の対処法
- プログラマーの需要は? など
「プログラミング学習は、なぜ挫折するのか」、「挫折を回避する方法はないのか」など、プログラミング学習では常に隣り合わせにある「挫折」にフォーカスして紹介します。
プログラミング学習で挫折する要因になっているもの
プログラミング学習は、様々なことが挫折要因となりえるので一概には言えませんが、筆者自身が「これまで勉強して挫折しそうになった部分」や「プログラミングに挑戦したけど挫折してしまった人」の話などから要因として考えられるものを紹介します。
エラーの解決方法がわからない
エラーの解決方法がわからず時間を掛けすぎてモチベーションが低下して、そのまま挫折する人が多いです。
筆者も感じたことですが、プログラミングのコードは全て英語やローマ字で書きます。また、エラーとなっている部分の説明も英語で記載されています。
始めのうちは翻訳機能を使用したとしても専門用語が多すぎて理解できないことが多く、専門用語を調べながらエラーを解決しないといけないため、時間が掛かりすぎてしまいます。
時間が掛かりすぎてしまい「自分には才能がない」と志半ばで挫折してしまう方が多いです。
種類が多すぎて適切な言語やツールがわからない
プログラミング言語や関連するツールが多すぎて、挫折する方も多いです。
プログラミング言語を学ぶと必ず「Javaはコンパイル言語であり~」、「PHPはサーバーサイド言語であり~」などプログラミング言語の解説から始まります。
コンパイルやサーバサイドなどの専門的な解説から始まるので、「結局どれから始めるのが良いのか」というのが分からなくなってしまい、学習前に諦めてしまう方もいます。
また、プログラミングを行う際の「エディター」や「エクリプス」などの開発ツールも種類が多く、設定が複雑に感じるものもあるので、上手く選べずに「自分には無理」「才能がない」と諦めてしまう方もいます。
イメージが付きにくい
「エラーの解決策がわからない」と同じかそれ以上に多い、挫折理由が「イメージするのが難しく」モチベーションが上がらず、挫折してしまうという方が多いです。
どういうことかと言うと、プログラミング言語には「繰り返し同じ処理を行う方法」や「一定の文字や数字だけが入力する機能実装」など様々なことができます。
例えば
- 「for文は指定された回数同じ処理ができます」
- 「while文も繰り返し処理ですが、繰り返す回数がわからない場合などに仕様すると良いです。」
といった内容の解説と書き方を聞いても、実際にどのような場所で使われているかイメージするのが難しいのではないでしょうか。
こういう風に書けば同じ処理を100回でも1000回でも行ってくれるというのは理解できますが、実際のサービスではどの部分で使われているのかわからないため、何かを作る前の基礎学習中では、動きは理解できても仕組みが理解できずに挫折する人が多くなります。
余談ですが、当ページ内で繰り返し処理が使われている部分は、2箇所あります。
- 1つはこの記事内容を読み込むためにwhile文を使用して当記事を読み込んでいます。
- 2つ目は、当ページの下部にある、他の記事へのリンクです。こちらもwhile文を使用してデーターベースから記事情報を繰り返し取得して表示させています。
孤独感を強く感じる
特に独学で学習する人に多いのですが「わからない所を誰にも相談できない」という孤独感が辛くなり挫折する人もいます。
また、意外かもしれませんがプログラミングスクールで学んでいる方でも、オンライン完結型のスクールで学習している場合は挫折する人がいます。
これは、週に1回~2回指定された日にビデオ通話を使用してオンラインレッスンを行いますが、レッスン時以外はスクールから提供されているカリキュラムを自主学習として取り組まないといけません。
つまり、独学とあまり変わらない時間が発生するため、挫折する人が少なからずいます。
しかし、プログラミングスクールでの学習だとレッスン時以外は、チャットやメールで質問を行える環境が整っていることが多いので挫折率は1割~2割程度と独学に比べると低いです。
プログラミング学習に向いている人・向いていない人
プログラミング学習を頑張っているけど「やる気が起きず覚えられない」、「何度やっても理解することができない」など、モチベーションの維持が難しい方も多いと思います。
プログラミング学習は、独学の場合10人中8人は挫折すると言われており、プログラミングスクールを受講してでも独学での挫折率よりは低いですが、一定数の挫折者がいます。
これは、プログラミング学習自体が難しいということもありますが、プログラミング学習にも「向いている人・向いていない人」など適正が関係していることが多いと思います。
プログラミング学習が向いていない人
学習態度が受け身の方
プログラミング学習を行う際に、自分で調べないで教えてもらうのを待っている人はプログラミング学習に向いていません。
実際の実務で問題が発生した場合、チームメンバーで相談して決めることもありますが、細かい部分は自分で調べて解決する必要があります。そのため、学習中も実務でも自己解決能力がないと続けることが難しいです。
積極的に自分から聞いたり調べたりせずに、常に受け身姿勢でプログラミング学習をしている方は、自己解決能力が鍛えることができず、大きな問題に直面したとき「自分から諦めて」しまい結果的に挫折するというパターンが多くなります。
自己解決能力というと非常に難しく聞こえてしまいますが、要は「わからない部分はGoogleで検索したり、参考書を見るなど、自分で調べて解決する力」が必要ということです。
プログラミングは高収入という部分だけを意識している
最近はテレビや広告の影響で「プログラマー=高収入」というイメージがある方が多いと思います。
もちろん、プログラマーは高収入になることは多いですが、全てのプログラマーが高収入というわけではありません。
また、「プログラマーは儲かる」という理由だけでプログラミング学習を行うと90%以上の確率で挫折します。
これは、プログラミングを学ぶ目的が明確に決まっていないためです。プログラミングという技術は、目的を達成する(サービスを開発する)ための道具に過ぎません。
「プロ野球選手は給与が良いからとりあえず目指そう」と、野球を始めても辛い練習を乗り切れる精神力を維持することは難しいのと同じで、明確な目標が決まっていない人が、専門道具の使い方を覚えようとしても少し行き詰れば挫折する確立は高いでしょう。
何事にも言えることですが、目標や目的がないと諦める理由を簡単に当てはめやすくなります。
プログラミング学習に向いている人
わからない部分は積極的に調べようとする
「わからないこと」や「疑問点」がある場合、すぐに調べることができる人(そういった思考や意識が自然とある人)は、プログラミング学習に向いています。
プログラミング学習に限ったことではありませんが、モチベーションが高い方は積極的に行動する方が多いです。
知りたいことに関して、詳しく解説してある参考書を探してみたり、Googleで検索をおこなってみたり常に自分から行動しているので、自然と自己解決能力も高まります。
挫折を恐れずに興味があることに挑戦できる人
上記と少し重なりますが、挫折を恐れずに関連知識を積極的に学ぼうとする方も、プログラミング学習に向いています。
挫折することを恐れてしまうと、挫折しにくい無難な部分しか学ぼうとしません。しかし、初心者が挫折しにくい無難な部分は、基本的なことなので、高度な技術を身につけるこができずにスキルアップが望めません。
また、プログラミングを始めIT技術は常に進化しており、新しい技術が休むまもなく入ってきます。そのため、新しい技術や知識について常に勉強をする必要があります。
学習段階から自身が学んでいる言語に関連する、周辺知識や新しい技術に恐れずに挑戦できる人は、プログラミング学習者として理想的な人であり、高いスキルが身に付きやすい人です。
学習目的を明確にしている人
プログラミング学習をおこなう場合に1番需要な部分でもあります。
「なぜプログラミングを勉強しているのか」この部分を口頭や文として説明できるくらい明確にしている人は、学習目的がしっかりとしているため挫折する確立がかなり低くなります。
その上、目的が定まっているので辛いことや挫けそうな時でも「目的のため、目標のためと」モチベーションを維持しやすいので、挫折せずに目的を達成できる方が多いです。
IT業界は人材不足に悩んでいる
出典:経済産業省
上記の画像をご覧下さい。上記画像は経済産業省が行った「人材の不況状況・今後の見通し」のアンケート調査を元に推計したデーターです。
濃い青色の部分が人材不足の数を表しており、2015年から2030年まで人手不足が増加の一途を辿るという結果になっています。
便利なものができれば、必然と更に便利なもの求めてしまうのが人間です。そのためこれから更にITニーズが高まり、2030年までには約59万人のIT人材不足が予想されており、日本は拡大する市場規模に追いつくことが難しくなるという懸念を持っています。
IT業界が高齢化になる可能性
出典:経済産業省
上記画像をご覧下さい。上記画像データも経済産業省が行った「人材の不況状況・今後の見通し」のアンケート調査を元に推計したデーターになります。
上記の推計データを見ると2019年をピークに入職率が退職率を下回るという推計が出ています。つまり、2019年以降、IT業界にも高齢化の波が押し寄せてくる可能性が高いということになります。
プログラマーの平均年収
プログラマーの需要が高いことはわかりましたが、平均年収が気になるという方も多いのではないでしょうか。
少し以外かもしれませんが、プログラマー全体の平均年収は約416万円となっています。「テレビで言われるほど高収入ではない」と感じた方も多いと思います。
プログラマー全体の平均なので低くなっていますが、人気が高いプログラミング言語別に平均年収を見てみると以下のようになります。
言語名 | 平均年収と年収の (中央値/最大) |
Python | 651万円 |
Ruby | 606万円 |
Perl | 633万円 |
C | 597万円 |
JavaScript | 555万円 |
挫折を回避して学習を続ける4つの方法
挫折する理由は、学習環境であったりモチベーション維持の難しさが原因など様々なことが重なり結果的に挫折してしまいます。
当記事で紹介することが挫折を回避する全ての方法ではありませんが「気分が乗らない」、「勉強しても頭に入らない」という方はぜひ参考にしてみて下さい。
1.挫折率が高いことを前向きに捉える
いきなりですが「モチベーション」を一言で説明して下さい。と言われると「やる気」と答えないでしょうか。
何を言いたい方というと、やる気の維持や、やる気を取り戻すような考え方をすると意外と頑張れるものです。
つまり、挫折率が高いことを逆手にとり
- 「自分はこんな挫折率が高いことを夢のために頑張って勉強している」
- 「挫折率が高いから他の人はリタイアしているけど自分は残れている」
上記のように自分を評価してみて下さい。決して悪い気分にはなりません。
少しでも「もう少し頑張ってみようかな」という気持ちが出てきたらやる気が回復しつつあります。
当記事でプログラミング学習は難しく挫折率が高いと紹介しました。決して鼻歌を歌いながら学習できるほど甘くはありません。
当記事や当サイトの関連記事を読むと「プログラミングは自分には難しそう」と感じる方も多いかもしれません。
2.学習方法の再検討
プログラミングの学習方法は人によって様々ですが
- 現在、参考書だけで学習している
- 動画サイトやインターネットの情報だけで学習している
- 誰にも教えて貰えない状況で1人で勉強している など
上記のように人によって好みが分かれると思いますが、思ったより学習が進まない方は一度学習方法を検討してみて下さい。
参考書のみだと、体系的に学べるので魅力的ですが人によっては窮屈に感じて学習が捗らないことがあります。
そのため「学習サイトの利用と参考書を併用して学習を進める」、「思い切ってプログラミングスクールを受講してみる」など学習方法を検討してみて下さい。
適切な学習方法がわからない場合は、プログラミングスクールの「無料体験」だけでも受けてみると良いでしょう。
3.参考書が自分に合っているか確認する
参考書が自分に合っているか否かというのも重要です。
どういうことかというと、同じプログラミング言語を解説してある参考書であっても、Aさんは理解できたのにBさんは理解できなかったという場合があります。
これは、プログラミングが向いていないのではなく、参考書があなたに合っていない可能性が高いです。人によって読みやすいと感じる参考書は違うので、プログラミング入門書であっても2~3冊は用意して見比べてみるのがおすすめです。
可能であれば本屋さんで、少し中身を見て読みやすいものを選んだ方が良いですが、通販サイトで購入する場合は口コミを参考にしつつ、本のタイトルをインターネットで検索してみてください。
実際に購入した人が詳しく解説してくれているサイトが結構あるので、判断材料になるはずです。
4.目的のサービスを見てみる
※この方法は筆者がプログラミング学習が嫌になりそうになった時によくおこなっていた方法です。
あなたが、プログラミングを学ぶ目的は何でしょうか。
「Webアプリケーションを開発したい」、「RPGゲームを作りたい」など目的は様々だと思います。やる気がなくなりプログラミング学習が嫌になった時は、自分が作りたいサービスの完成版を触ってみてください。
例えば「RPGゲームを作りたいという方」自分が好きなRPGゲームで少し遊んでみてください。プログラミング学習の最中だと不思議と
- これどんな処理なんだろう?
- 必要なアイテムがないとストーリーが進まないというのは、if文で処理しているのかな?
上記のようなことを少なからず思ってしまうものです。しばらく遊んでいると「いつか自分もこんなゲームを作りたい」という気持ちが蘇ってくる可能性が高いです。
まとめ:一番大切なのは「楽しむ」こと
いかがでしたでしょうか。
今回の要点をまとめると
- プログラミング学習を受け身姿勢で学習している人は挫折する確立が高い
- プログラミング学習の挫折理由の大きな要因はモチベーションの維持
- プログラマーは深刻な人手不足状態なので求人は多い
上記3つになります。
プログラミング学習に限ったことではありませんが、プログラミングを学ぶ場合「仕事が終わった夜に」、「学校の授業が終わった後に家で」など、本業や学業と並行して学習していることが多いです。
そのため、1日の全てをプログラミングのためだけに使えるという方は少ないでしょう。ですので1番重要なのは自分が楽しめているかという部分です。
もちろん頭で思うことは簡単ですが、そういった状況を自分自身としっかり向き合って作っていくことです。
趣味にできるくらい楽しめているのであれば、学習を続けていくことでプログラミングをマスターし、この業界で活躍してことは決してハードルの高いことではないと思います。