どうも、フリーランスエンジニアのシンです。
プログラミングの独学で挫折する方は非常に多いです。僕自身も過去に挫折した経験があります。
では、一体なぜプログラミングは独学だと挫折しやすいのでしょうか?
本記事では「プログラミングの独学で挫折する理由」「プログラミング学習で挫折しないための解決策」についてご紹介していきます。
独学でプログラミングをやっていて挫折しそうな方や、これからプログラミングを学習してエンジニアになりたい方は、ぜひ参考にしてみてください。
プログラミングの独学で挫折するのは当前【前提】
プログラミングは独学だと挫折しやすいです。
ここでは「プログラミングの独学で挫折するのは当然」ということをお伝えしていきます。
僕も独学で一度挫折した
僕自身は2019年にプログラミングの独学を始めました。
しかし1ヶ月もたたないうちにプログラミングの学習に挫折。
理由は
- 「シンプルに難しかったから」
- 「何か楽しくなかった」
- 「継続するモチベションが続かなかった」
上記の通りです。
他にも当初は何となく「エンジニアって稼げそう」という軽い気持ちで始めたので、プログラミングの難しさにうちのめされましたね。
でもエンジニアになれた
僕はプログラミングの独学で一度挫折してはいるものの、現在はエンジニアとして働いています。
僕がエンジニアになれた理由は、
- 「挫折しても諦めなかった」
- 「やり切る環境に身を置いた」
上記の通りです。
何事もそうですが、一度挫折したくらいで「ゲームオーバー」という考えは捨てるべきです。
挫折したことで「次はどうすれば挫折しないか?」対策を練ることがポイントです。
たとえば僕は昔から興味のあることはとことん追求するタイプで、昔ハマっていたオンラインゲームとかでもわりと上位レベルにまで上達したことがあります。
プログラミングもきっと「諦めずにやり続けたら、いつかできるようになるだろう」と思い、挫折しても何度も立ち上がりました。
プログラミングの独学で挫折する理由【失敗原因】
プログラミングの独学で挫折しないためにも、挫折する原因を把握しておきましょう。
原因を知ることで具体的な対策を打つことが可能です。
ここではプログラミングの独学で挫折する理由を「7つ」挙げていきます。
挫折理由①:コードの書き方がわからない
コードの書き方がそもそもわからないので、挫折してしまうケースです。
たとえば
- 「条件分岐の書き方がわからない」
- 「HTMLの書き方がわからない」
- 「CSSのdisplay:flexがわからない」
などなど。
プログラミングは言語によって書き方が異なります。
そもそも最初は基本的なことがわからないのは当然です。
初心者のうちは特に、「調べてもわからない」ことも多く、コードが書けないのは大きな挫折原因だと思います。
挫折理由②:プログラミング学習の仕方が不明
プログラミングを何からどうやって学んでいけばいいのかがわからず、挫折するパターンです。
学習方法を調べて無料のプログラミング学習サイトにたどり着きはするものの、結局無料サイトの問題が解けず、挫折してしまうケースもあります。
挫折理由③:エラーの解決方法がわからない
プログラミングの際にエラーが発生することは日常茶飯事です。
プログラマーは「エラーを解決する仕事」と言っても過言ではありません。
しかしエラーはプログラミング初心者にとって非常に困難な問題です。
1つのエラーを解決するのに5時間も6時間もかかったり、あるいは1日経っても解決できないことはよくあります。
これが原因で挫折する方は非常に多いです。
挫折理由④:環境構築でつまづいている
プログラミングをする前の段階である「環境構築」で詰まってしまい、挫折する方も多いです。
作りたいものによっては準備しなければならないことも多く、うまく環境構築ができずに挫折してしまうのです。
環境構築のやり方を調べて出てきた記事が古い情報で「思うようにインストールができない...」なんてことはよくあります。
前提知識があれば応用が効くかもしれませんが、エンジニア未経験の方は前提知識がないので、難しいところです。
挫折理由⑤:質問できる人がいない
周りに質問できる人がいないと挫折しやすいです。
プログラミングで不明点があったとしても、全て自力で解決しなければならないからですね。
たとえば、プロのエンジニアでもわからないようなエラーも、全て自己解決しなければいけません。
質問できる人がいないと、この「プロでもわからない問題」ということにすら気がつけず、延々とその問題を解こうとして時間が過ぎていくことがあります。
挫折理由⑥:学習が継続できない
学習を継続するためのモチベーションが続かず、挫折してしまう方もいます。
そもそもなぜプログラミングをするのか?の目的がわからないままだと、わざわざ難易度の高いプログラミングをやる意味がわからなくなってしまうのです。
挫折理由⑦:難しい参考書やサイトで学習している
参考書や学習サイトに書いてある問題の難易度が高く、挫折してしまうケースです。
特に初心者がいきなり難しい参考書で学習すると挫折しやすいです。
いまはプログラミングの学習は無料のサイトでできます。
ただサイトによっては難しいものもあるので、まずは初心者に優しいプログラミング学習サイトのprogateからやってみると良いと思います。
プログラミングで挫折しない方法【解決策】
プログラミングで挫折しない方法をご紹介していきます。
解決策①:プログラミングをやる目的を決める
まず「なぜプログラミングをやるのか?」の目的を決めましょう。
たとえば
- 「こんなアプリを作りたい」
- 「スキルを身につけて市場価値を高めたい」
- 「稼ぎたい」
- 「エンジニアになりたい」
など。
あとは目的を達成するために必要な学習方法を組み立てていけばOKです。
目的が定まっていないと簡単に諦めてしまいます。
なのでゴールを決めておきましょう。
解決策②:習得難易度の低い言語を選ぶ
プログラミング言語によっては習得難易度が難しいものがあります。
たとえば「C言語」「Java」などは初心者がいきなり学習をするのは難しいです。
なぜならこれらの言語は文法の記述が長い傾向にあるからです。
たとえば「Ruby」は文法の記述もシンプルでわかりやすいので、初心者におすすめです。
プログラミング言語は何か1つを一度習得すれば他にも応用が効きます。
なので初めの入り口は習得難易度が低いものを選ぶと良いです。
解決策③:学習ステップを明確にする
学習ステップを明確にしましょう。
「プログラミングをやる目的」を決めてから、その目的を達成するためのステップを組み立てていきます。
たとえばエンジニアに転職したいなら
「無料サイトでプログラミングの基礎を学ぶ→サイトを模写する→ポートフォリオを作る→転職活動をする→エンジニアになる」
という工程が組み立てられます。
ゴールを決めて、そこから逆算していくイメージです。
解決策④:質問できる環境に身を置く
プログラミングで挫折する大きな要因は、「質問する人がいない」からです。
なので質問できる環境に身を置きましょう。
たとえば友人や知人にエンジニアがいるなら、その方とコンタクトを取ってみるとか。
もちろん友達であっても、さすがにタダで教えてもらうのは相手にとってメリットがありませんから、有料でお金を払って交渉してみるのもいいと思います。
他にもプログラミングスクールに行くとかですね。
今は無料のスクールもあるので、特に大金を払うリスクもなく学べる環境は整っています。
解決策⑤:エンジニアになって実務で学ぶ
いっそのことエンジニアになってしまえば、会社から給料をもらいながらプログラミングを学ぶことができます。
会社員になれば簡単には挫折しにくいです。
なにより現場には現役のエンジニアたちがいるので質問が可能です。
とはいえ未経験からエンジニアになるのはハードルが高いので、就職活動を根気よく行う必要があります。
できるなら「プログラミングをある程度できるようになってから」の方がエンジニアにはなりやすいです。
なのでプログラミングの基礎をある程度勉強したら、ささっと就職活動をしてしまうのもありですね。
解決策⑥:先入観を捨てる
先入観があると挫折しやすいので、思い込みをなくすことが重要です。
たとえば
- 「自分は英語ができないからプログラミングがわからないんだ」
- 「数学ができないからきっとプログラミングができないのかな」
- 「自分はそもそも文系だからプログラミングに向いていない」
などです。
結局のところ全ての物事は「自分次第」なので、できないと思えばできないしできると思えばできます。
ですので、先入観は全て捨て去りましょう。
プログラミングは継続がポイント:まとめ
プログラミングで挫折しないためには、まずは「継続できる環境」を自ら作り上げる必要があります。
プログラミングスクールに行って挫折しにくい環境に身を置くなども有効的です。
はじめは誰でもプログラミングはできないのは当たり前です。
しかし続けていけばいつか「点と点が線」になってわかる日がやってきます。
ポイントは「その日がくるまでやめないこと」です。
もし独学で挫折するくらいなら、質問できる環境に身を置きましょう。
あなたはきっと、「独学でプログラミングを習得すること」が目的ではなく、プログラミングを学習し、「その先にあるもの」を手に入れたいのではないでしょうか。
たとえば「プログラミングを習得して副業で稼ぎたい」「エンジニアに転職して稼げる将来フリーランスになりたい」など。
その目的を達成するためなら、別に独学じゃなくてもOKです。
目的達成のための最短ルートは何なのか?を論理的に考えましょう。
今回は以上です。