- 自分はプログラミングに向いていない気がする
- プログラミング学習していても全然理解できない
- 果たしてこのまま続けるべきか…対処法が知りたい
こういった疑問にお答えします。
現在の僕は、フリーランスエンジニアで、業界歴は5年です。 もともとは製造業で働いていて、37歳未経験から独学で学習を始め、その後プログラミングスクールを利用してスキルを身につけました。
プログラミングとは全く無縁の製造業で働いていたので、当時はfor文すらも理解できない状態でしたが、学習を進めているうちに段々と理解できるようになりました。
こういった経験から、今学習中で、プログラミングに向いていないと感じている人のほとんどは勘違いだと思うようになりました。
この記事では、プログラミングが向いていないと思い込んでいる人に向けて、「プログラミングが向いていないと感じるのは勘違いである理由と対処方法」について解説します。
プログラミングが向いていないと感じるのは勘違いである理由
プログラミング学習が急に理解できなくなる停滞期は誰にでも起こることで、大抵の場合は学習時間不足によるもの。プログラミングは、学習を続けていけば必ず身につくものです。その理由について解説していきます。
プログラミングの成長曲線

上記のように、プログラミング学習には必ず停滞期があり、それを乗り越えると成長できます。
大抵の場合、基本的な文法を習ってから、少し応用的に実際の実装にあてはめていくときに起こります。この時、「自分はプログラミングに向いていないのかな…?」と心配になってきます。ただ、学習の途中で理解できなくなるのは当たり前なので、これは能力不足ではなく、単純に学習時間の不足が原因である場合がほとんどです。
これは実際の業務でも同じで、最初は簡単な実装でサクサク進んでいても、途中でややこしい実装や、今までやったことのない実装をしないといけなくなったとき、途端に詰まります。
こういった壁を乗り越えることで、新しい実装方法のバリエーションが増えて、エンジニアとして成長できます。
プログラミングはやりさえすれば身につくもの
プログラミングは、やりさえすれば必ず身についてきます。これは料理と同じで、レシピどおりに作れば、誰でもある程度のものは作れますよね。
もちろん、一流シェフになれるかどうかは別ですが、「カレーを作れるようになる」こと自体は、何度も作れば誰でもできることです。
プログラミングも、トップ10%の天才エンジニアになれるかどうかは別ですが、実務で通用する平均的なエンジニアとして働けるレベルになること自体は、再現性がかなり高いです。
しかも、現場で求められるのはトップ層だけじゃありません。安定して仕事をこなせるエンジニアの需要は常にあり、このスキルレベルがあればフリーランスエンジニアとしても活動できます。
なので、学習段階で壁にぶつかったと感じることがあっても、「向いていない」と決めつける必要はありません。それは成長のための苦痛だと捉えて、愚直に続けていれば必ず乗り越えられます。
Progate(プロゲート)の道場レッスンが全然できなかった
Progateの道場レッスンというのは、基本文法を学び終えたあとに、デザイン例を見てそのとおりにコーディングするという内容です。僕がやったのは、プログラミング言語ではありませんが、HTML・CSSのコースでした。
基本文法のときは「こうすればこうなる」というのを見ながら学習する形式だったので、画面の通りに打っていけば何とかなりました。ただ、まったく何もない状態から自分で作り上げるというのが、こんなに大変なんだということは、このとき実感しました。
これも一つの要因となり、独学に限界を感じてプログラミングスクールに通うことにしました。
スクールでもゼロから自分で作り上げる形式の講座もありましたが、「最初は簡単なものを作る → 徐々に難しいものを作っていく」という流れだったので、質問用チャットも活用しつつ、自然と自分で作れるようになっていきました。
PHPの繰り返し(for文)が理解できなかった
スクールでPHPの繰り返し文を初めて学んだとき、for文の使い方がいまいち理解できませんでした。
それでも、愚直に教材どおりに書いてあるコードを自分の手で書き写しながら学習を進めていくことで、次第に「これって前にも同じようなパターンのコードを見たな」と気づくようになりました。そして以前の講座を振り返り、「あのときやっていたのはこういうことだったんだな」という気づきがあり、徐々に理解が深まっていきました。
そもそも当時は、繰り返し文にはfor文以外に、while文などの種類があるということすら、きちんと区別できていない状態でした。今思えば、「向いていない」と感じていたのも無理はなかったなという感じです。
こんな僕でも、今ではフリーランスエンジニアとして普通に活動しているので、学習段階で向いていないと決めつけることの無意味さが分かります。
プログラミングが向いていないと感じた時の対処法
結論、そのまま学習を続けましょう。
前述のとおり、「向いていないかも」と悩む原因の多くは、学習時間が不足している可能性が高いからです。
とはいえ、学習のやり方にコツもあるので、そのあたりについてお話していきます。
コードは必ず自分で書く
分からないからといって、教材のコードをコピペして進めていくのだけはやめましょう。
実際に自分でコードを打つことによって、規則性を無意識に把握できたり、「どういった場面でどういう記述が使われているのか」といったことにも気づきやすくなります。
僕自身、プログラムの意味が理解できてなくても、とにかく自分の手で書き続けることで、規則性に気づき、そこからひも解くようにプログラミング自体を理解できるようになりました。これは前述した、for文で強く実感した経験です。
こういった感覚は、実際に自分の手で打たないと気づけません。だからこそ、必ず自分の手で書くことが大切です。
100%理解できなくてもそのまま進める
100%理解できていないというのは、「なぜこの書き方をするのか分からないけど、ひとまずエラーは出ず動いている」というような状態です。
この場合は、気にせずそのまま学習を進めていってください。プログラミングの文法の基礎学習においては、算数でいう「掛け算ができないと割り算ができない」というようなことは基本ありません。
今は分からなくても、とりあえず先に進んで学習することは普通です。むしろ、先に進んだあとで振り返ると「ああ、こういうことだったのか」と理解できる場合がほとんどです。
ただし、エラーが出ている場合は必ず解消してから進まないといけません。エラーが出ているということは、何かが間違っているということですので。
初心者で多いのは、単純な単語の打ち間違いや、教材が古くてフレームワークのバージョンが違うため、教材通りにしているのにうまく動かないといったケースです。
こういったエラーへの対処は、実務では必ず行うことになります。エラーを調べて解決すること自体、立派な学習の一部なので、ここだけは意識してください。
独学だとつまづきやすい
プログラミングは突き詰めると学習に終わりがないので、「どれだけやればゴールなのか」が分かりにくいです。特に初心者の場合、このゴールが見えないこと自体が大きな不安になります。
プログラミングスクールの場合は、カリキュラムのボリュームがあらかじめ決まっており、「これだけできればエンジニアとして問題ない」という一つの目安があります。
ゴールがあると、「あとどれぐらい頑張ればいいか」が明確になるので、学習しやすくなります。 ゴールのないマラソンほど大変なものはありませんので。
他にも、スクール生が同じ課題に取り組んでいるので、今の自分のスキルがどの程度なのか把握しやすいです。
例えば、課題を進めていく中で、最初の方の課題でつまずいている人を見ると、「自分もこういう時期があったな。成長できたんだな」と実感できます。逆に、同じレベルの課題に取り組んでいる人を見て、「自分より理解が進んでいるな」と感じたら、「自分ももっと頑張らないと」という気持ちにもなれます。
こういった「ゴールが定まっていること」や「他人と比較する基準があること」は、学習においてとても大切なことだと、独学とプログラミングスクールの両方を経験した身として感じています。
なお、僕が実際に利用したスクールの他、目的別におすすめのプログラミングスクールは、下記の記事でまとめていますので、気になる方は参考にしてください。
➤ (作成中)S4-17おすすめプログラミングスクール
プログラミングが向いていないと感じたらとにかく書くべし
プログラミングを習得するには1,000時間かかるとも言われています。おそらく、「自分は向いていないのでは」と感じている人の多くは、まだそこまでの時間には到達していないはず。
向いていないと判断する前に、まずは停滞期を疑い、ひたすらコードを書き続けてみてください。
コードを書き続けることで、必ず見えてくることがあります。それが理解のきっかけになり、次の成長につながります。おそらく多くのエンジニアが、同じような経験をしてきているはず。
分からない状態を続けるのは大変だと思いますが、自分を信じて、もう少しだけ踏ん張ってみてください。