どもども~、あべしんです。
- プログラミング学習で心が折れそう…
- 挑戦と挫折の繰り返しでうんざり…
- なぜ挫折してしまうのか自分でもわからない…
プログラミング界隈の定番ともいえるテーマですね。
「プログラミング始めたけど挫折した…」は本当によくあるパターンです。
僕も10回ほど経験してます 笑
そこで今回は、僕のこれまでの経験を基に「プログラミング学習で挫折する原因と対策」についてまとめました。
同じ失敗をしないためにもこれを機に対策しましょう!
この記事で下記のことがわかります。
- プログラミング学習で挫折する原因
- 挫折を回避する方法
無駄の多い学習をしている
プログラミング学習は基本的に長期戦なので負担が大きいものです。
ですが、無駄な時間と労力を使って自ら負担を増やしている場合もあります。
- 同じ学習を何度も繰り返す
- 手当たり次第書籍を買って読む
- 内容を無視してとにかく量をこなすことに必死
一見学習しているように思えますが、はっきり言って無駄です。
こういうやり方を繰り返している人は、「学習が目的」になっているので今すぐやめましょう。
やらなくていいことをやって負担を増やしていては、しんどいのも当然…
手を動かすことは大事ですが、その場の思い付きはNGです。
時間がかかるものだからこそ、なるべく無駄を減らして先に進むことが重要です。
無駄を減らすためには「とりあえず先に進む」が大事
「何が無駄なのか分かったら誰も苦労せんよ…」と思う方もいると思います。
たしかに無駄を減らすのもある程度経験がないとできない場合があります。
初学者の方は特にそうですね。
そんな方は、「とりあえず先に進む」を意識してください。
これだけでもかなり無駄を減らせます。
手が止まる時間が増えて段々と気持ちも萎えてきます。
長時間手を止めるくらいなら、一旦後回しにしてさっさと先に進むべきです。
なるべく手を動かすことに時間を使った方が気持ち的にも楽しいですからね!
問題・課題部分も、先に進んで経験を積んだ後に再度取り組んだらサクッと解決するなんてこともざらにあります。
「今解決したい」という気持ちもわかりますが、必須なわけではありませんよね。
今できること、今進められることから取り組んでいきましょう。
詰まる度に長時間費やしていては時間がいくらあっても足りませんからね!
他にも無駄を減らす手段はあります。
参考までに、僕が普段実践している「無駄を減らすための行動」を紹介します。
- 躓くまではひたすらアウトプットに専念
- 見た目やクオリティを気にするのは動くところまで作ってから
- 15分試行錯誤して解決しなかったら一旦放置して翌日再チャレンジ
- 書籍は一字一句読まずにざっくり理解できたらどんどん読み飛ばす
- 頭でイメージ、整理ができなかったら紙に図で書いてみる
- ぱっと見で処理の概要がわかるようにコメント文を活用する
挫折しやすい学習にも要注意
「無駄が多い学習」に付随して、「挫折しやすい学習」があります。
これは特に初学者が陥りやすいものです。
やる気が空回りしないためにも、初学者の方は必ず押さえておいてください。
問題・課題を自力で解決できない
先述した問題・課題を後回しにする話とは別に、「そもそも自力で解決できない」場合があります。
おそらく挫折の理由で一番多いのがこれです。
プログラミング学習の経験者298名を対象にアンケートしたところ、挫折経験がある人は約9割、加えて挫折した原因の約8割が「不明点を聞ける環境になかった」「エラーが解決できなかった」という結果が出ています。
→ SAMURAI ENGINEERさんのアンケート結果
実際エラーや不明点の解決は経験を積まないと難しいですし、経験者でもなかなか解決できないこともあります。
原因や解決方法のパターンは山ほどありますからね!
何度トライしても上手くいかなければ挫折してしまうのも無理ありませんね。
この場合の解決方法は以下の通り。
- 有識者に直接教えてもらう
- 質問サービスやSNSで質問する
- 別のやり方を検討してみる
有識者に直接教えてもらう
言わずもがな、一番ベストな方法です。
相手が解決方法を知っていれば手っ取り早く解決できます。
しかし当然その人の人脈・交友関係によります。
周りに有識者がいない場合は他の方法をとるしかありません。
むしろ有識者の知り合いがいるという人の方が珍しいです。
知り合いがいない人は、今後に向けてエンジニア・プログラマーと繋がってみるのもおすすめです。
プログラミングやエンジニア業界の話を経験者から直接聞けるのは貴重な機会ですし、頼れる人が1人でもいるのは学習する上で大きなアドバンテージです。
質問サービスを利用する
無料かつ匿名で質問できるサービスも多いので、気軽に利用できます。
- teratail
- Qiita
- Yahoo!知恵袋
この辺が有名どころです。
ただし、いくつかデメリットもあります。
- 回答がもらえるまである程度時間がかかる
- 回答してもらっても解決できない場合がある
- 質問内容が分かりづらいとお説教回答が返ってくる
- マウントをとってくる回答者が結構多い
このように、質問したからといって必ず欲しい回答が得られるとは限りません。
乱暴な意見を述べてくる人もいるので、メンタルに自信が無い人は利用しない方がいいかもしれません…
逆に気にならない方は「とりあえず質問してみよ」くらいのスタンスで利用してみましょう!
質問する際は下記のことを意識しましょう。
- どういう処理を実現したいのか明記する
- 現状どうなっていて何が分かっていないのか明記する
- エラーメッセージやプログラムコードなど回答に必要な情報を載せる
別のやり方を検討してみる
やり方を変えるというのも1つの手です。
特に「とりあえず動くところまで作り上げたい」という場合はおすすめです。
なにも1つのやり方に固執する必要はありません。
同じ機能でも処理のパターンや組み合わせは複数あります。
プログラミングの正解は1つじゃありませんからね!
どうしてもうまくいかない場合は、別の処理手順で実現できないか検討してみましょう。
発想や視点を変えてみることもプログラミングにおいては重要です。
学んだことを活かせていない
「基礎は一通り学んだけど、それをどう応用すればいいのかわからない…」
という方も少なくないはず。
- 条件分岐処理
- 繰り返し処理
- 配列
- 関数
1つ1つやってることは理解できたけど、「だから何?」という状態。
学んだだけで使ってないから
理由は単純明快。
使ってないからです。
プログラミングは、学んだことを「技術」として使わないと意味がありません。
実際料理はしないのに、調理方法や調理手順だけひたすら勉強する人はいませんよね。
使ってみて初めて「学んだことの活かし方」がわかってきます
理解ばかりに必死だと、多くの時間を費やしてもプログラミングそのものは上達しません。
これまた挫折の大きな原因です。
→ 【プログラミングが上達しない…】そう思う原因と対策を徹底解説
結論、何か作る
実際にモノを作る以外解決策はありません。
でないと技術の活かしようがないですからね。
しかし、中には次のような悩みを持っている方もいると思います。
- 作りたいものがない
- 何を作ればいいのかわからない
【作りたいものが無い…】←プログラミング学習あるあるの悩みを解決します!
継続力がない
何かに躓く以前に、そもそも継続力がないという方も多いはず。
- わかりやすい教材
- 学習しやすい環境
- 質問できる人
これらが揃っていても、自分自身で継続できなければ意味がありません。
時間がかかるものだからこそ継続力が重要になってきます!
ただ漠然と学習に取り組んでも、なかなか継続力は身に付きません。
こちらの記事で詳しく解説しているので、継続力に自信がない方は必見です。
→ 【プログラミング学習継続できない病】そろそろ治しませんか?
コメント