こんにちは。
この記事を読んでいるあなたは、

「プログラミングを始めたけど、なかなか理解できないし、先に進まない」
「プログラミングが向いてないのかな?つらい・・・」
このように悩んでいるのではないでしょうか?
僕も過去、「プログラミングの学習、つらすぎる!」と思っていた側の人間なので、その気持ちがよく分かります。
頑張って勉强しているのになかなか分からなかったり、理解できなかったりすると、つらいですよね。
そこでこの記事では、以下の内容をまとめます。

・「プログラミングがつらい」となる、最大の理由
・プログラミングがつらいときの対策
・効率的なプログラミング学習のポイント
この記事を読むことで、プログラミングがつらい!という悩みから脱出するためのヒントを得ることができます。
最後までしっかり読み、楽しいプログラミングライフを送れるようになってくださいね!
[僕の体験談]僕はプログラミングでとことん苦労した (この記事の信頼性)
![[僕の体験談]僕はプログラミングでとことん苦労した (この記事の信頼性)](https://www.mame-blog.site/wp-content/uploads/2022/03/measures-for-tough-programming02-1024x590.jpg)
僕は大学のときに独学でプログラミングを勉强したものの、プログラミングが全く理解できずつらかった
僕は、大学3年生のときに独学でプログラミングの勉强をはじめました。
プログラミングの勉强を始めたきっかけは、「このまま大学生活を送ってていいのかな?」という漠然とした不安からでした。
そんな不安に背中を押され、プログラミングの勉强を始めたのがきっかけです。
勉强を始めた当初は、完全に素人の状態でした。
そのときは今のようにウェブ上にいい教材もなかったですし、プログラミングスクールのように体系立てて教えてくれるところもありません。
さらに、プログラミングを使ったアート作品を作っていたので、OpenGLという、グラフィック系のライブラリを使っていたのも難易度をあげていた理由の1つです。
毎日山のように吐き出されるエラーと、なかなか思うような表示にならない毎日で、かなり大変だった記憶があります。
どうしても分からないポイントは、僕の周りに数人いた、プログラミングが得意な先輩や同級生がにコメントやアドバイスをもらいながら決めた記憶があります。
そんな彼らのアドバイスのおかげで、プログラミングは少しずつ進みました。
ただ、それと同時に、

「周りの人と比べて、何故自分はこんなに何も分かっていないんだろう」
「彼らがプログラミングをするときと比べて、効率は1/100くらいでしか進んでいないんじゃないだろうか。この時間は無駄なのでは?」
なんて風に、勝手に考えてつらくなったりもしていました。
社会人でプログラマーになった後は、周りの人についていけずつらい
そんな僕も、社会人ではプログラマーとして就職をすることができました。
プログラマーとして採用されたのは、決してプログラミングが得意だからではなく、完全なポテンシャル採用だったと思います (そのときは世の中全体が比較的好景気だったので、売り手市場でした)
なので、実力的にはそれほどなかった僕も、メーカーのプログラマーとして入り込むことができました。
メーカーでプログラマーとして働き始めた後も、僕はプログラミングで結構つらい時期が続きました。
まず、プログラミングのスキル自体が足りていないので、周りから期待される成果を出すことができません。
その上、社会人1年目ということもあり、社会人としての基礎スキルがなかったのも問題でした。
毎日がこんな状態でした。

「自分が仕事ができなさすぎてつらい」
「先輩に迷惑をかけてしまってつらい」
「チームの戦力になっていなくてつらい」
毎日が本当につらくて、いつ会社を辞めようか、なんてことを常に考えていました。
僕は社会人になって初めて、「プログラミングがつらいのって、一人で勉强している間だけじゃなくて、プログラマーになった後も同じなんだな」ということを理解しました。
てっきり、プログラマーになった後は、特に問題を感じることもなく仕事ができると思っていたのです。
でも、実際は違いました。
プログラマーになっても、つらいものはつらい。
そこで考えたのが、

「おそらくプログラミングに関わり続ける以上、今後もずっとつらい状況は続くだろう。何か自分の考え方を変えないとな・・・」
ということでした。
この記事は、そんな僕のたくさんの「つらい」の経験を踏まえたアドバイスの集大成
僕は、プログラミングの勉强やプログラマーとしての実務を通して、人一倍つらい思いをしてきた自負があります。
この記事は、そんな僕のたくさんの「つらい!」をまとめた記事です。
・そしてそんな「つらい」を防いだり、乗り越えたりするにはどのように考え、行動すればよかったのか?
このような点をギュッと凝縮しています。
僕の試行錯誤をした結果が詰まっているので、「プログラミングがつらい!」と悩んでいるあなたには、必ず参考になる内容だと思います。
そもそも「プログラミングがつらい」ってなるのは、実はあなた自身がストレスをかけているから!?

まずはじめに、「プログラミングがつらい」となっている∂あなたが、知っておくべき最も重要なことをお伝えします。
それは、
・プログラミングができないことにより、理想と現実が違ったり、思い通りに進まないことでストレスになる方がつらい。
ということです。
プログラミング自体はもちろん難しいスキルですし、習得に時間がかかるのも事実です。
ただ、それ以上に、「プログラミングができないことによって、あなたが自分自身に強いストレスを与えているケースが大多数です。
例えば、あなたが独学でプログラミングの勉强をしていて、「プログラミングがつらい」と思っているとしましょう。
その理由をもう少し深堀り・分解すると、以下のような原因に心当たりがあるのではないでしょうか?

・これだけ勉强しているのに、全然上達している気がせず、不安になる
・同時に始めた人はすでにかなりのスピードで上達しており、焦る
・プログラミングの基礎ばかり勉强していると、段々と飽きてくる
・今やっている仕事が嫌だからプログラマーに転職をしたくてプログラミングの勉强をしている。ただ、このままのやり方で本当にプログラマーになれるのか分からず焦る。
こういった理由って、あなたの心の持ちようでいくらでも変わると思いませんか?
例えば、「上達している気がしない」と不安になっている場合、本当に上達していないのでしょうか?
プログラミングの学習スピードを、周りの人と比べる必要って、本当にありますか?
あなたのペースで学習を続けていけばよいですよね?
このように「プログラミングがつらい」という理由を1つずつ丁寧に解きほぐしていけば、それぞれは解決可能な問題だったりします。
それを、漠然と「プログラミングがつらい!」と思ってしまうと、途方も無い不安感に襲われてしまうのです。
また、「プログラミングがつらい」という気持ちは、プログラミングを独学で学習している間だけではなく、プログラマーになった後も発生します。
以下の内容は実際に僕がプログラマーになった後につらいと思ったポイントです。

・チームの戦力になれなくて申し訳ない
・いろいろ教えてくれる先輩の時間をとってしまい、申し訳ない
・周りの人から「こんなこともできないの?」と言われて悲しい
・自分はプログラミングができると思っていたのに、実際は全然できないことが分かってショック

「プログラミングがつらいな。大変だな」
こう思ったら、何に対して大変だと思っているのかを、細かく分解してみるのが大事です。
つらいと思ってしまう原因と、僕が「つらい」を脱出した体験談

続いて、よくある「プログラミングがつらい」の原因と、僕が解決したときの方法と体験談を紹介します。
僕も過去、「プログラミングってつらいなぁ」と思っていた人間です。
そんあ僕の体験は、現在、つらいと思っているあなた参考になるかと思います。
大量のエラーにハマる
プログラミングでつらいことの代表格がエラーが解決できない点でしょう。
特にプログラミング初心者の心が最初に折れるポイントとも言えます。
文法が間違っていてエラーが出ることもあれば、実行時に想定と違う動きをしてしまうエラーもあります。
特に、プログラミング初心者の人がハマるのは前者の「文法が間違っていてエラーが出る」という方だと思います。
僕もプログラミングを始めた後は、

「うーん、、、何故か動かない。。。」
ということで、エラーメッセージを見ることもなく、悶々としていた記憶があります。

・これは割と知っている人も多いかもしれませんが、文法エラーは、コンソールなどに何かしらのエラーメッセージが表示されます。
そのメッセージをそのままググることによって、ある程度解決方法が見つかったりします。
・実行時のエラーは、ログを埋め込んで、どの部分で想定しない値が出ているか?を見ることで比較的エラーを見つけやすくなります。
プログラミングの学習目的がない
プログラミングの勉强をしている人の中には、

「何となくプログラミングってカッコいいから」
「オシャレなオフィスで仕事したいから」
「友達に流されて何となく」
という人もいるかと思います。
もちろん、これらのモチベーションが悪いわけではありませんが、プログラミング自体の学習目的はない状態でしょう。
この状態で仮に題に直面した場合、
「うーん、、難しくてつらい・・・」というように、モチベーションが下がってしまうリスクがあります。
プログラミングは正直難しいスキルなので、勉强する以上、何かしら学習する目的を持っておくことをオススメします。

僕は大学の授業で初めてプログラミングに触れました。
そのときは面白くも何ともないC言語の教材を買わされて勉强したのですが、全く身につきませんでした。
一方、大学3年生からは、「プログラミングでアート作品を作りたい!」という明確な目的を持って勉强をしていました。
結果的に、様々なエラーに直面したにも関わらず、勉强を続けることができました。
今プログラミングを勉强しているあなたも、何か作りたいものや達成したい姿を目指して勉强することをオススメします。
プログラミングの学習をしていて楽しくない
これもよくある、つらいポイントです。
プログラミングの学習や作業は、基本的に地味です。
覚えることがたくさんありますし、毎日、エラーに悩まされます。
そんな勉强を続けていると、「プログラミングの学習って楽しくないな・・・」と思ってしまうことがあります。
学習がうまく進んでいて、成長を感じられていればあまり楽しくないと感じることはありません。
ただ、停滞している状態で、ひたすら写経などの基礎的な勉强をしていると、楽しくないと思うこともあるでしょう。

一番オススメするのは、「何か作りたいものを作る」ことです。
僕の場合、テキストで文法ばかりを学習するよりは、「作りたいアートやWebサービスを仕上げたい!」というモチベーションの方が、プログラミングの勉强が100倍楽しくなりました。
人間は、目的もなく勉强をするのが非常に苦痛です。
ある程度基礎的な文法を勉强した後は、実際に、あなたの作りたいWebサービスを作ってみることをオススメします。
作りたいものが思いつかないよ!という場合は、以下の記事を読んでみてください。
「プログラミングがつらい」と思ったときの対処法

すでに説明したとおり、つらいと思ったら、一度そのつらさの内容を分解して考えてほしいと思います。
その上で、「どうしてもつらい!分解できない!」と思ったときは、以下の内容を試してみてください。
あまり深刻に考えすぎない
おそらくプログラミングをやっていてつらいと思っている人は、非常に真面目な人なんだと思います。
そんな真面目な人ほど、

「先輩に迷惑をかけてしまって申し訳ない」
「チームの戦力になれずにつらい」
という、プログラミングとは本来関係ないところでつらい思いをしてしまいます。
「チームの戦力になれない」
といったつらさは、あなたがどう考えるか?という部分もあります。
あまり深刻に考えずに、「新人なんだし、先輩やチームに迷惑をかけてしまっても仕方ないよね」くらい、ドンと構えるくらいでちょうどよいでしょう。
あなたの周りにも、

「え、あれだけ周りの人に迷惑かけてるのに、そんなに何も気にせずに過ごしてるの!?」
なんて人もいませんか?
たまにはそんな破廉恥(?)な人の真似をしてみるのもよいでしょう。
問題が解決できないときは、視野を広げてみる・基礎に立ち返ってみる
プログラミングの勉强が長くなってきても割と起こるのですが、エラーの箇所に集中しすぎるあまり、視野が狭くなってしまうこともあります。
特定の箇所のプログラムばかり確認しすぎるあまり、その周りにある、本当の問題に気づけないことがあります。
例えば何かエラーにハマっている場合、
・環境の設定は間違っていませんか?
・確認すべきエラーメッセージはあってますか?(プログラミングでは複数のエラーメッセージが表示されることがあります。本当に確認すべきエラーメッセージを確認していますか?)
このように、ちょっと視野を広げるだけで簡単に問題が解決したりします。
数時間エラーが解決できないようでしたら、ちょっと視野を広げて解決手段を探るのもよいでしょう。

僕がプログラミング初心者だった頃、Web上にあるチュートリアルで勉强していました。
ある時、「そのチュートリアル通りにプログラムを書いているのに、想定と違う動きをする・・・」という問題にぶつかりました。
数時間その問題に悩んだのですが、原因は、「チュートリアルをやっている途中から違うページを見ていた」こと。
そりゃあ、想定どおりの動きをするはずがありません。
そんなアホな・・・と思われるかもしれませんが、1つの部分に集中しすぎると、こんな初歩的なエラーが起きることもあります。
完璧を目指しすぎない
プログラミングの学習は非常に奥が深いので、一度にすべてを理解するのは無理です。
ここを勘違いすると、「プログラミングを勉强したのに、期待するほどスキルが身につかない」と思い、つらくなってしまいます。
プログラミングを勉强するときはどうしても完璧な理解をしたくなりますが、それは一旦諦めましょう。
「まずはざっくり理解できればいいや」というくらいの、緩い気持ちでいることをオススメします。

僕の先輩に、プログラミング歴が20年を超える、とても優秀なプログラマーがいました。
その人が新しいプログラミング言語(そのときはRuby on Railsを覚えていました)を勉强するとき、何と「チュートリアルを3周する」という勉强をしていました。
プログラミング歴が20年を超えている人であっても、
・チュートリアル1週目: ざっくりと理解
・チュートリアル2週目: 少し深堀りして理解
・チュートリアル3週目: ようやく作りたいものが作れるレベルまで理解
このように「ざっくり理解する」ところから学習を始めます。
分からない場所を突き詰め過ぎない

もしかするとあなたは、エラーなどの問題を解決するために、突き詰めて考えすぎているかもしれません。
チュートリアルで勉强している間は難しいかもしれませんが、あなたの作りたいものを作るフェーズになったら、今やっている方法以外も考えてみるとよいでしょう。
プログラミングの書き方は、1通りだけではありません。
最終的に作りたいものを実現するためには、複数のプログラミングの方法があります。
もし「うまくいかないなぁ・・・」と思ったら、今やっている方法以外も探してみるとよいでしょう。
疲れていると思ったら休んで、心と身体をリフレッシュする
これも真面目な人に多いのですが、

「プログラミングがつらい・・・でももっと頑張らないとダメだ」
と思ってしまう人がいます。
そんな風に考えてしまう人は、意図的に休む時間を設けるようにしましょう。
特に「つらい」と思うのは、すでに心がネガティブな状態に入り込んでしまっています。
その状態を早く脱出しないと、つらい面に目を向けすぎてしまい、さらにつらくなってしまいます。

効率的なプログラミング学習のポイント

それでは最後に、プログラミングがつらくならない、効果的な学習のポイントを紹介したいと思います。
独学でプログラミングを勉强する
まずはプログラミングがどのようなものかを知るために、独学でプログラミングをやってみましょう。
実際にプログラミングの学習をやってみることで、いろいろなことが分かってきます。
もしかすると、あなたは「プログラミングがつらい!」ってならないかもしれません。
そうなれば、ラッキーですね。
自信を持って独学でプログラミングを続けましょう。
ちなみに、プログラミング言語を、最速200時間で習得するための方法は、以下の記事にまとめました。
「出来る限り早くプログラミング言語を使えるようになりたい!」という場合は、この記事も読んでみてください。
もしプログラミングを独学で勉强してみて、

「これは分からない・・・。エラーでハマってつらい!」
と思ったら、次のステップに進んでみましょう。
つらいと思っているのに一人で勉强を続けるのはあまり効率的ではありません。
何より、つらい状態で頑張り続けることにより、プログラミングが嫌いになってしまう可能性さえあります。
どうしても分からない部分は、プログラミングが得意な人に相談してみる
「プログラミングが難しい!」と思ったら、次にやるべきはあなたの周りにいる、プログラミングが得意な人に教えてもらう方法です。
プログラミングが出来る人は、今のあなたと同じように過去、プログラミングの学習でいろいろと悩んできているはずです。
そんな人にプログラミングを教えてもらうことで効率的に勉强できますし、つらいときの乗り越え方のアドバイスをもらえるかもしれません。
近くにプログラミングができる人がいる場合は、その人を使い倒すことをオススメします。
プログラミングスクールに通って、プログラミングを勉强する

もし近くにプログラミングが得意な人がいない場合は、プログラミングスクールに通ってみるのも手です。
プログラミングスクールでは、プログラミングの経験がある講師に、プログラミングの内容や勉强方法、さらにはプログラマーやエンジニアになる方法まで教えてもらうことができます。
ある程度独学で勉强するのも大事ですが、やはり効率よく勉強をするには、人に教わるのが一番です。
僕が過去、人に教わってプログラミングの本質的な部分を理解できた体験
僕は職場にいるプログラミングが得意な人に、プログラミングを教わったことがあります。
それまでは独学で頑張っていたのですが、どうしても、自分で勉强できる範囲には限界がありました。
一方、プログラミングが得意な人に教えてもらうことで、変数の確保の方法など、自分ひとりではなかなか理解できなかった部分を知ることができました。
優秀な人に教えてもらうことで、学習スピードが10倍以上にも加速するんだなぁ・・・ということを理解した瞬間でした。

僕が今からプログラミングを勉强するなら、まずはじめにプログラミングスクールに通って教わり、最速でのマスターを目指します。
あなたの目的に合わせたオススメのプログラミングスクール
とはいえ、プログラミングスクールってたくさんあってどれがいいか分かりづらいですよね。
そこで、僕の過去のプログラミング学習やプログラマーとして働いた経験を踏まえて、オススメのプログラミングスクールを選びました。
・プログラミングの基礎を勉强したい
・教養を身につけたい
など、いろいろな目的に合わせたプログラミングスクールとコースを厳選しています。
いくつかのプログラミングスクールでは今、キャンペーンをやっており安い金額で通うことができます。
プログラミングスクールに興味がある場合は、早めに申し込んでみてくださいね。
[最後に]プログラミングがつらいポイントを避けつつ、実際に勉强してみよう
![[最後に]プログラミングがつらいポイントを避けつつ、実際に勉强してみよう](https://www.mame-blog.site/wp-content/uploads/2022/03/measures-for-tough-programming09-1024x576.jpg)
この記事では、プログラミングがつらいときの特徴や対処方法などを説明してきました。
ここまで読んでくださったあなたは、どうするとプログラミングがつらいと思わずに勉强できるかが理解できたのではないでしょうか?
とはいえ、重要なのはこれからです。
この記事の内容も踏まえつつ勉强をしない限り、プログラミングのスキルはつきません。
次は、実際にプログラミングの学習をやって一歩前に進んでみましょう。
あなたのプログラミング学習が、これまでよりも楽しくなることを心よりお祈りしております。
この記事は以上です。
ここまで読んでくださり、ありがとうございました!
コメント