【もう無理】プログラミング初心者が挫折する4つの原因と乗り越え方

初心者が挫折する4つの原因のアイキャッチ画像

「エラーが解決できない…」
「環境構築で何日も止まってる…」
「もうプログラミング無理かも…」

こんなことを感じていませんか?

この記事では常に「プログラミングに向いてない」と感じ続けながらも乗り越えつづけた私が挫折を克服する学習方法4つと学習初心者が陥りがちな勘違いについて解説します。

✅この記事でわかること

  • 環境構築がうまくいかない時にやること
  • エラーが解決できない時にやること
  • 何も進まない日が続いた時にやること
  • デプロイできない時にやること
  • あなたに足りないのは経験だけ
  • 短時間でこなそうなんてそもそも無理
  • 諦めたら今と同じ場所にとどまるという結果が残るだけ
  • まとめ : 挫折しながら学ぼう
  • 独学に限界を感じたらスクールに頼ろう
目次

プログラミング初心者が挫折する4つの原因

挫折原因①:環境構築ができない

環境構築
筆者の最初の環境構築

お金をかけずに運用できる方法を探し、VirtualBoxというツールを使ってWindowsの中にLinux(CentOS7)を入れるという方法にたどり着くも一向に進まない。

どうやって乗り越えた?

分からないながらもひたすら調べ続けました。当時は公式ドキュメントに苦手意識があり、QiitaやZennなどの記事やYouTube・Udemyなどで情報を探していました。

あまりにも何も進展しない日が続くのでその日できた小さなことをノートに書いて無理やり進んでいる感を出していました。画像に環境構築できたと書いてありますが勘違いでした。(2021年・初めての環境構築の記録です)

Environment construction notes

徐々に理解できることが増えていき、自分なりの仮説を立てられるようになり一つづつ試すこと3か月。ようやくすべての仮説が当たり環境構築が完了しました。

環境構築で苦しんでいる方へ

今はchatGPTなどのAIもあるので疑問に思ったことはどんどん聞くといいと思います。

例 : 「あなたはプロのエンジニアです。以下のように実行したのですが〇〇となりうまくいきません。どこに原因があると思いますか?」など。そこから検証しながら深堀りを重ねていくことで答えにたどり着けます。
※ただAIの回答は間違っていることもあるので必ず裏取りをして自分の頭で理解するようにしましょう。

理解しないまま「できたからいいや」で済ませてしまうと力にならず再度同じ問題に躓きます。

私のほうでも環境構築のチュートリアル記事を作成しましたので環境構築に詰まった際は、参考にしてください。

挫折原因②:エラーが読めない・解決できない

エラーの画面
筆者の愚行

エラーをそのままコピペしてググり、記事で出てきたそれっぽいコードをコピペして試すも解決せず、どこに何をコピペしたかもわからなくなり収集がつかなくなりました。

どうやって乗り越えた?

アプリごとすべて削除し最初から作り直しました。その後エラーが出たらまずはエラーの意味を把握し原因と対処法の仮説を立てるようにしたところ徐々に仮説の精度が上がっていきエラー解決にかかる時間が短くなっていきました。

エラーで苦しんでいる方へ

つらいと思いますがまずはエラーを受け入れてください。エラーが表示された瞬間イラっとしますし、「エラーは原因を教えてくれている」とか言われてもやっぱり腹は立ちます。

でもエラーの意味を把握して原因と対処法の仮説精度を上げていく以外に方法はありません。仮説を立てて解決していくことを繰り返すうちに仮説を立てるスピード・精度ともに上がっていきます。エラーが出た瞬間にイライラするのは多分どこまで行っても逃れられないものだと私は思います。

過去に私が受講していたプログラミングスクールの講師の方もエラーが出るとイライラするとおっしゃっていたので多分どこまで行ってもイライラするものだと思います。

プログラミングスクールRUNTEQ

挫折原因③:何も進まない日が続く

筆者の体験

環境構築に3か月。そのうち2か月以上何も進まない日々が続きました。

仮説を立て実行すると動作しなくなり最初からやり直す日々

本当につらかったです。

どうやって乗り越えた?

動かないことに絶望した後、気持ちを整え再度仮説を立て実行することを繰り返していく中で「バージョンを変えたら動作するかも」という仮説が当たり乗り越えました。

VSCodeとmySQLのバージョンが原因でした。

何も進まず絶望している方へ

精神論で申し訳ないのですが諦めず続けること。これに尽きます。

絶望する ▸ 新しい仮説を立てる ▸ 実行する

のサイクルを繰り返してください。

誰かに聞ける環境にいるなら、「何をして今どうなっているのか」をしっかりまとめて助けを求めてください。

嫌な表現ですが、わかっていない人が一人でもんもんと悩むよりわかっている人が見た方がずっと解決が早いです。

精神的にも楽になりますのでぜひ質問できる環境にいるなら一人で抱え込まず相談してください。

「何も進まない」という重圧が半分になる感じがします。

挫折原因④:完成したアプリを公開できない

筆者の体験
  • アプリが完成しデプロイ(インターネット上に公開すること)し安堵。アプリにアクセスすると下記画像のように表示されておりただしく表示できない。(エラー画面)
  • データベースのURLはexternal URLを指定するものだと思い込んでおり何日も溶かしました。
デプロイ失敗
どうやって乗り越えた?
  • まず本番環境でもエラー文が表示されるように設定を変更しました。(デフォルトでは下記の画像が表示されエラー文が表示されないため)、その後エラー文に対し「仮説 ▸ 実行」を繰り返すことで解決しました。
  • 「もしかしてinternal URLを指定するのでは」と思い実行するとそれが正解。その後本当にそれが正解なのか調べました。
デプロイできずに苦しんでいる方へ

データベースのマイグレーションはしましたか?CSSやJavaScriptのコンパイルはうまくいっていますか?画像や音声ファイルは適切な場所に保存していますか?

意外にやらかすので確認してみてください。

次に本番環境でもエラー文が表示される設定に変更しましょう。

その後は「仮説 ▸ 実行」を繰り返し原因を見つけてください。

挫折を乗り越える考え方 | これだけは知っておこう

他人と比較することの無意味さ

「同時期に始めたのになんでこの人こんなにできるの?それに比べて私は…」と思うことが少なくないですが、その人たちは例外なく過去に経験を積んでいます。

あなたに足りないのは経験だけです。

よく言われていることですが過去の自分よりちょっとでもできるようになっていればそれでOK!

できるようになっていなくても続けていればそれでOK!

気楽にいきましょう😄

⌛「時間効率」は捨てる

短時間でこなそうなんて思っていたらそれは考えが甘いです。

いきなり短時間で効率よくやるなんてそもそも無理です。

プログラミングは、間違え、うまくいかないことを乗り越えながら学ぶものです。

大事なのは短時間でこなすことではなく、短時間でこなせるようになるための力をつけること。

ひとつひとつ丁寧に、仮説 ▸ 実行 ▸ 修正のサイクルを回すことで、少しずつ力がついていきます。その時出せる答えを自分なりに出すくせをつけましょう。

諦めたら未来は変わらない

ちょっときつい言い方ですが「諦めたら今と同じ場所にとどまる」という結果が残るだけ。

未来を変えたくてプログラミングを学んでいる方が大半だと思います。

まだ未来を追うのか。諦めて現状にとどまるのか。それとも違う未来を追うのか。

こことしっかり向き合ってください。

プログラミングだけが人生ではないし、他の道を追うのも全然あり。ただ現状に不満があって学習を始めたのなら現状にとどまるという選択はおすすめしません。一時的にとどまるのはありだけど、きっとまた割り切れなくなる日がやってきます。

まとめ | 挫折しながら学ぼう

「うまくいかない・自分には向いていない・もう無理」

という気持ちを一度も抱かずに学習をやり遂げた人はいないと思います。

大事なのは投げ出さないことであり、自分がどうなりたくて学習しているかをきちんと認識していること。

望む未来にプログラミングが必要なら続けるべきだし、そうじゃないならなりたい未来に必要な学習をするべきです。

なりたい未来を設定したら、後は投げ出さない。

これだけで未来は変えられます。頑張っていきましょう。

独学に限界を感じたらスクールに頼ろう

独学に限界を感じたらスクールに頼ることをおすすめします。お金はかかりますが学習の効率は格段に上がります。

以下の2社はどちらも私が実際に受講したスクールです。確実にエンジニアになりたい方にはRUNTEQを、まずは範囲を絞って学習したい方にはテックアカデミーをおすすめします。アプリケーションをゼロから作ったり、エンジニア転職を目指すのであれば網羅的に学ぶ必要があるのでRUNTEQをやり遂げるのが一番効率がいいです。

RUNTEQ[ランテック](もっともおすすめ)

カリキュラムの難易度は高めだがやり遂げれば企画~デプロイまで自力で出来るようになる。転職サポートが厚くエンジニア転職も目指せる。

TechAcademy [テックアカデミー]

カリキュラムの難易度はやさしめ。学習範囲と学習期間を自分で選択して(コース)受講するスタイル。

両者の違いを詳細に知りたい方は以下の記事をチェックするとスムーズです。

それでは、おたがい頑張りましょうね。

RUNTEQの無料相談はこちら

★友達紹介用★超実践型オンラインプログラミングスクール【RUNTEQ(ランテック)】 テックアカデミー無料相談
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

愛知出身。何もわからない状態から学習を重ね、パソコンの作成・修理、スマホのOSの入れ替え、プログラミングを経て、現在は自身の経験から得た知見を基にプログラミングに関する情報を発信しています。

目次