ロゴ Sazanamiエフェクト

挫折しないプログラミング学習法【学歴も根性もない僕でもできた】

プログラミング
挫折しないプログラミング学習法【学歴も、根性もない僕でもできた】

最近プログラミング学習を始める方は非常に多いですね。

いろんな媒体で気軽にプログラミング学習を始められるようになり、それ自体すごく良いことなんですが、挫折する方もやはり多いようです。

挫折しない方法を発信している人は山ほどいますし、僕もプログラミング学習を始めた時はそういう情報を読んだりしていました。

しかしプロフィールをよく読んでみると、有名大学出身で学歴のある方が非常に多く、
「学歴もあるし、もともと頭が良いんでしょ?」
受験を経験してるから、勉強することがそこまで苦じゃないんでしょ?」
と、ひねくれている僕はこんな風に思っていましたね。

しかし、ペースはゆっくりですが、プログラミングの「プ」の字も知らない僕が挫折せずに、なんとか副業で月10万円の案件を獲得できるようになりました。

学歴も根性もない僕でも、挫折せずに学習を続けられた方法をこれからプログラミング学習を始める方や、今悩んでいる方に向けて解説していきたいと思います。

プログラミング学習で挫折しない大切なポイントはこちら

  • 完璧主義を捨てる
  • 短期目標と超短期目標を設定する
  • ルーティーン化
  • 他人と比べない

それでは一つずつ見ていきましょう。

完璧主義を捨てる

プログラミング学習において、何回やっても理解できないところがありますよね。

僕もCSSのrelativeやabsolute、擬似要素などはなかなか理解できませんでした(^^;

でもやっていく内に必ず理解できる時が来ますし、焦る必要はなく、「何となくそういうものなんだな」という程度で先に進んでください。

完全に理解しないと先に進めない方もいらっしゃいますが、どんどんプログラミング学習が億劫になって、挫折してしまいます。

つまり完璧主義は挫折しやすい原因の一つでもあります。

プログラミング学習においてもっとも大切なことはコードを完璧に理解して暗記することよりも自走力を身に付けるということです。

自走力を身に付ける方法

分からないところを人に聞いて答えを教えてもらうのも時には必要ですが、その前に自分でググって解決しましょう。

僕はprogateを1周した後、すぐにサイトの模写に移り、当然分からない箇所も出てきますが、その都度ググりながら進めていきました。

そうすると、progateで学習していた時や人に答えを教えてもらうよりも、自分で調べて解決するので、頭に残りやすく、成長スピードもアップします。

それと同時に「ググり力」も鍛えられるので、今後プログラミングのエラーや構築で悩んだ時にググって解決するという自走力も身に付けることができます。

短期目標と超短期目標を設定する

プログラミングを始めようと思う方は何かしら目標があるかと思います。
例えば「転職したい」「副業で稼ぎたい」など。

また、100万稼げるエンジニアになる!といったように大きな夢を掲げる人もいるでしょう。

それは素晴らしいことですが、先の長いゴールだけを目指しているとモチベーションが続かず、挫折してしまうリスクを増やしてしまいます。

長期・中期・短期で目標を設定するのは聞いたことがあるかもしれませんが、より細かい目標の超短期目標を設定することをオススメします。

短期目標は1ヶ月の期間を設定し、さらにそこから1週間ごとの目標を超短期目標とします。

なぜ超短期目標が必要なのか?

超短期目標を設定する理由は、

プログラミング学習のモチベーションを維持に非常に重要

だからです。

挫折する原因の一つとして、ただ闇雲に学習していると自分がどれだけ成長しているのか可視化しづらく、「本当に成長しているのか?」「無駄なことをしてるんじゃないか?」と思い、嫌になってくることがあります。

しかし、超短期目標の積み重ねで短期目標を達成するようにすると、目標をスピーディーに達成できるので、「成長している感」を得られます。

そして、オススメなのが、この短期目標や超短期目標をスマホのメモ帳やタスク管理アプリなどに登録してください。

そうすることで、「自分がどの程度成長できたのか?」「目標に近づいているのか?」が可視化できます。

超短期目標の設定方法

実際に僕がどんな風に目標を立てていたかというと、

長期目標:プログラミングで副業したい

中期目標(2ヶ月):大まかにサイトを模写できるようになる

短期目標(1ヶ月):Webサイト作成の流れを理解する

超短期目標:HTML&CSSを7割理解する(1週間)、bootstrapの概要を理解する(1週間)、Flexboxで何ができるかを理解する(1週間)、Jqueryを触ってみる(1週間)

このように、長期目標から逆算していくような形で、短期目標に落とし込むのですが、超短期目標においては「7割理解」や「何ができるかを理解する」など緩めに設定します。

コードを初回で全部暗記したとしても、絶対に忘れます。

なので、暗記はしようとせず、「こういうものなんだな」と思って次に進みましょう。

そして超短期目標を設定していくにはどういう順番で学習していけばいいのか?というのをまず理解する必要があります。

それは「プログラミング学習 順番」とか「プログラミング学習 ロードマップ」などで検索していただくと記事が出てくるかと思うので、そちらを参考にしながら超短期目標を設定していきましょう。

ルーティーン化

自分の普段の生活で1日どれくらいプログラミング学習に時間を割けるのか?

また、それは何時〜何時までなのか?

を決めましょう。

「できる時にまとめてやれば良いか。」という考えでは自分に甘い人(僕自身もそうですが)だと挫折してしまいます。

1日のうち、この時間はプログラミング学習のとして確保する

と決めてまず1週間頑張ってみましょう。

別に最初から1日2時間じゃなくて、30分から始めてみて、慣れてきてから1時間、1時間半と伸ばしてみてください。

なぜなら学習時間を多く確保するよりも、学習をルーティーン化させることの方が重要だからです。

なので無理な設定はやめましょう。

他人と比べない

最近では学習の進捗状況などをTwitterで報告している人がいますが、「同じ時期に始めたのに、自分より先に進んでいる」「自分は成長が遅いのかな」と他人と比べてしまい、モチベーションが落ちてしまうことがあります。

「仲間がいた方が頑張れる!」という人がいますが、僕はあまりそう思えませんでしたし、実際にプログラミング学習中に周りの人が自分よりどんどん次のステップに進んでいることに焦りを感じて、「やっぱり自分には向いていないのかな?」と感じるようなりました。

刺激をもらうのは良いことだと思いますが、一旦ネガティブに捉えてしまうと、そのまま挫折してしまう危険があります。

そもそも他人のスピードを比べる必要はまったくありません。

なぜなら一人一人、生活スタイルは違いますし、伸びるポイントも違います。

そして最初のうちはプログラミング学習をガンガン進めていたのに、いつの間にか姿を消してしまう人がすごく多いです。

結局は継続した人だけが残るということですね。

なので上記で解説したように、自分で設定した超短期目標を淡々とクリアしていくことに集中しましょう。

まとめ

今回の内容は「当たり前のこと」だと思う人もいるかもしれませんが、その当たり前を見失ってしまうから、挫折してしまう人が出てきてしまいます。

ただこれらのことを実践してプログラミング学習をやってみて、「それでも自分には向いていない」と感じれば辞めても全然良いと思います。

しっくり来ないままプログラミング学習を続けていても時間の無駄ですからね。

「自分にはプログラミングは向いていない」とすぐに切り替えて違う道に挑戦できるのであれば、それは素晴らしいことです。

危険なのは「自分はプログラミングに挫折した、、、」とネガティブに捉えてしまい、自己肯定感が低くなり、今後何かに挑戦することを恐れてしまうという状態です。

そうならないために、プログラミング学習で不安のある方は、この記事の内容を実践してみてください。