記事を読むメリット
- プログラミングができない理由と対処法が分かる
プログラミングが全然できなくて心が折れそう…もしかして自分はプログラミングが向いてないんじゃないか?
このような方に向けて今回は、プログラミングができない原因や対処法を解説していきます。
この記事を書いている僕は、プログラミングを1年独学してフリーランスエンジニアになりました。
- できない理由は、向き不向きや頭の良い悪いではなく努力が足りないだけ
- プログラミングは「スキル」なので、勉強すれば一定水準までは誰でも身につく
僕も元々そこまでパソコンが得意っていうわけでもありませんでしたが、独学でコツコツ勉強して、なんやかんやエンジニアをやれています。
目次- プログラミングできない奴ちょっと来い※できない原因は努力不足
- プログラミングで心が折れる理由3つ
- プログラミングができない人がやりがちな勉強方法3つ
- プログラミングができない人が取るべき対処法3つ
- まとめ:正しく努力すれば誰でも身につく
プログラミングできない奴ちょっと来い※できない原因は努力不足
まず結論として、プログラミングができないのは向き不向きや頭の良い悪いではなく、努力が足りないだけです。
「努力不足」というと辛辣に聞こえますが、逆に言えば、正しく努力すれば誰でも身につくということです。
プログラミングはスキルなので、継続すれば誰でも必ず身につきます。
そりゃ、「全ての要素を記憶してブランドタッチで超高速で常人の数倍のスピードで作業ができて、しかも常人にはできないような発想のプログラムを作る」みたいなのは一部の天才しかできませんが、
「フリーランスエンジニアになる」
「完全未経験でIT業界に転職する」
「調べながらでもいいから自力でプログラムが構築できる」
「趣味でアプリやゲームが開発できる」
というような、一定水準までは誰でも身につきます。
スキルが身につく時間には個人差があるので、身につくまでに半年かかる人もいれば数年かかる人もいますが、継続すればプログラミングは誰でも身につきます。
諦めずに継続しましょう。
ちなみに、大体「できない!」ってなってる時は、なんでできてないのかも分かっていないです。
理由が分かってないから改善のしようがない→いくらやってもできない→ますます心が折れる
という感じです。
まずは落ち着いて、自分が何につまずいているのかという「できない理由」を明確にしましょう。
理由さえ明確になれば、あとはコツコツ勉強していくだけです。
プログラミングで心が折れる理由3つ
プログラミングをやっていて心が折れる理由を3つ解説します。
僕も経験があります。
専門用語が意味分からない
アセンブラ・コンパイル・フレームワーク・ライブラリ・変数・関数・真偽値・演算値・値を返す…など、
プログラミングに必要な専門用語は基本的に意味が分かりません。
分からないからと思って調べても、その先にまた専門用語が出てきたりします。
この専門用語の多さに出鼻をくじかれるプログラマーの卵は多いです。
僕もプログラミング学習を始めた当初、専門用語がマジで意味分かりませんでした。
というか、現役エンジニアになった今も分からない専門用語は沢山あります。
「何これ分かんねえ」と思ったらその都度調べています。
調べ方のコツとしては、図解か動画で調べるのがおすすめです。
図解や動画だと頭でイメージしやすいので、理解しやすいです。
本や教科書で文字だけ読んでもあんまり理解できません。
◆関連記事:
プログラミング学習に本がいらないワケ【独学1年で買ったのは1冊のみ】
エラーが一生解決できない
エラーやバグはしんどいです。
大体の場合、すぐには解決できないです。
エラーが長時間解決しないと、先行きが見えなくて不安になったり、作業が進まなくて焦ったりイライラしたりします。
僕もWordPressのエラーが1ヶ月解決しなかったことがありますが、まあまあしんどかったです。
プログラムを実行してエラーがあった場合、コンピューターは「ここがエラーになってるよ」というのは教えてくれますが、「じゃあどうすれば解決できるのか」は自分で考えないといけません。
特に初心者のうちはエラーが起きて当然ですが、エラーが続くと「できない」という気持ちに拍車がかかります。
やればやるほど分からないことが増える
初心者あるあるかもしれませんが、1つ解決できると2つ分からないところが出てきたりします。
専門用語が分からなくてググってみたら、その用語の解説文ににまた専門用語が出てきたりという感じです。
やってもやっても分からないとこが増え続けると、しんどくて心が折れそうになります。
初心者のうちはわからないことだらけなので、気負わずに
「分からないことがあって当然だ!ちょっとずつ覚えてこーっと!」
ぐらいのテンションで気楽にいきましょう。
プログラミングができない人がやりがちな勉強方法3つ
プログラミングができない人がやりがちな勉強方法は大体以下の3つです。
昔の僕もやってしまっていましたが、このやり方だとあまり上達しません。
コピペして終わり
分からなかった時に、お手本のソースコードをコピペして終わりでは上達しません。
プログラミングは動けば終わりではありません。
コピペすること自体は全然構わないのですが、コピペした場合は「なぜ自分のソースコードでは動かなかったのか」という原因を必ず解明しましょう。
分からないことを無理に悩み続ける必要はありませんが、テストで答えだけ写しても頭は良くならないのと同じく、答えを見たのであれば、答えを見た後が一番大切です。
コピペしたら必ず「自分のソースコードのどこが間違っていたのか」「なぜこのソースコードだと上手くいったのか」を明確にし、次に生かしましょう。
模写や写経ばかりしている
模写ばかりしていたり、参考書や本に載っているコードを写経ばかりしていても上達しません。
プログラミングは、実際に自分の頭で考えて作ってなんぼです。
模写や写経では、応用力や問題解決力などの、「自分で考える力」が養えません。
完全初心者の場合はむしろ模写や写経以外で学びようがないと思うので、初心者が学ぶ方法としてはOKですが、上達するために模写や写経してもあまり意味はありません。
逆に言えば、模写や写経をしている間はいつまでも初心者です。
初心者を脱するための方法は、実際の案件をこなすことです。
ある程度基礎が身についたと思ったら、実際に案件を受注してみましょう。
未経験でも普通に受注できますし、やってみるとなんとかなります。
◆関連記事:実績ゼロでも受注できたクラウドワークスの提案文の書き方【月10万円稼いだテンプレあり】
そもそも勉強してない
実はこれが一番の原因だったりします。
分からなくて心が折れかけていると、憂鬱になって勉強時間が減ったりしますが、
RaiseTechでは、未経験から現場レベルのエンジニアになるためには「400時間以上」の学習を推奨しています。
3ヶ月で身につける場合は1日4時間半、半年の場合は1日2時間半ぐらいです。
何かしらのスキルを身につけるためにはそれなりの勉強時間が必要です。
「プログラミングができない原因は単純に勉強時間が足りていなかった」というのはよくあるケースです。
向き不向きとか能力不足とかの前に、学習時間が足りているのか見直してみましょう。
プログラミングができない人が取るべき対処法3つ
プログラミングができない人が取るべき対処法は以下の3つです。
プログラミングができない人が取るべき対処法3つもっとエラーを出しまくる
エラーは起きてなんぼであり、エラーの数ほど成長します。
初心者のうちはなるべくエラーを出さないように慎重にプログラミングしますが、エラーが起こるのは全く悪いことではありません。
エラーを出すごとにその言語のルールや仕様を学んでいくことになるので、エラー=上達のチャンスです。
エラーを出さないように慎重に進めるより、エラーを出して1つ1つ解決しながら学習する方が上達が早いので
「初心者の内はエラーが起こって当たり前!むしろ成長のチャンスだからばっちこい!」
ぐらいのテンションで、エラーを出しまくっていきましょう。
とにかくググりまくる
プログラミングで一番重要なのは「問題解決能力」です。
「問題解決能力」を磨くために、分からないことがあったらとにかくググりましょう。
自分でググって解決できるようになると、分からないことがあっても苦じゃなくなります。
また、「プログラマー」と聞くと1日中パソコンをカタカタやっているイメージがあると思いますが、パソコンをカタカタやっているのは仕事時間の3割ぐらいです。
あとの7割は手を止めて頭の中でプログラムの構想を練ったり、エラーの原因を探したり、ド忘れしたコードをググったりしてます。
どんなに優秀なプログラマーでも「分からないところをググって調べて解決する」という行為は全員必ずやっているので、ググる力もエンジニアとしてのスキルの1つです。
ググりまくって検索力を磨いていきましょう。
作りたいものを決める
目的と手段がごっちゃになると、目標達成できません。
「プログラミングを学ぶぞ!」というのが目的になると、ふとした時や挫折しそうになった時に「一体なんの為にこんなに勉強してるんだろう…?」と感じます。
プログラミングはあくまで「こういうものが作りたい!」「転職したい!」といった”目的”を叶えるための”手段”です。
なので作りたいか作りたくないかは置いておいて、作るもの(目的)を決めましょう。
作るものを決めると、なんとなく続けていた勉強が、作りたいものを作るための楽しい勉強の時間に変わります。
勉強する目的が決まっていないと、ダラダラ勉強することになってモチベーションも続かないので、必ず目的を決めましょう。
- HTML・CSS・PHP…会員サイト / ECサイトなど
- JavaScript…簡単なブラウザゲーム / チャットbotなど
- Python…画像スクレイピングなど
- Ruby…ブログサイトなど
- C#・C++…ゲームなど
◆関連記事:プログラミング学習の目標の決め方【わりと適当で問題なし】
◆関連記事:【2024年】主要プログラミング言語12選【年収・将来性で分析】
まとめ:正しく努力すれば誰でも身につく
記事のまとめ- プログラミングができないのは、向き不向きや頭の良い悪いではなく、努力不足
- プログラミングで心が折れる理由は「専門用語が意味分からない」「エラーが一生解決できない」「やればやるほど分からないことが増える」の3つ
- できない人がやりがちな勉強方法は「コピペして終わり」「模写や写経ばかりしている」「そもそも勉強してない」の3つ
- できない人が取るべき対処法は「もっとエラーを出しまくる」「とにかくググりまくる」「作りたいものを決める」の3つ
プログラミングは正しく努力すれば誰でも身につきます。
スキルが身につくまでには個人差があるので、半年で身につく人もいれば数年かかる人もいますが、継続すれば一定水準までは誰でも身につきます。
実際のプログラミングは、どんなに勉強しても分からないことだらけです。
どんなにスキルが上達しても、分からないことは必ずあります。
「分からない」という悩みは全てのプログラマーが通ってきた道なので、気楽にやっていきましょう。
今回は以上です。
ここまでお読みいただきありがとうございました。
関連記事