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

・プログラミングを独学しているものの、モチベーションが保てない
・プログラミングを一人で勉強してるけど、難しすぎて挫折しそう
・もっと高いモチベーションで勉強できるようになれるといいな
このように悩んでいるのではないでしょうか?
プログラミングの学習って、難しいですよね。
覚えることがたくさんありますし、発生したエラーをなかなか解決できなかったりします。
およそ9割の人が挫折を経験しているとも言われるプログラミングを、いかにモチベーション高く進められるか?は非常に重要です。
そこでこの記事では、以下の内容をまとめます。

・プログラミングのモチベーションを高めるための一番有効な方法
・僕が過去にどのように考えてモチベーションを高めていたか?
・プログラミング独学時にモチベーションが下がる理由とその対策
この記事を最後まで読むことによって、プログラミングを独学するときにモチベーションが下がりづらくなり、これまで以上にスムーズに学習できるようになります。
もしあなたがプログラミングを学習して成果を残したい!と思っているのであれば、最後までしっかり読んで、モチベーション高く学習できる方法を理解してくださいね!
[結論]プログラミングができるようになって、どうなりたいか?が重要。例えばモテたいとか。
![[結論]プログラミングができるようになって、どうなりたいか?が重要。例えばモテたいとか。](https://www.mame-blog.site/wp-content/uploads/2021/12/keep-motivation-for-programming-self-study2-1024x683.jpg)
早速結論です。
プログラミング独学時にモチベーションを保てるようにするには、「あなたがプログラミングを勉強してどうなりたいか?」を強烈に意識するのが重要です。
プログラミングはあくまで手段です。
プログラミングを勉強して成し遂げたいことがあるから、プログラミングの勉強をしているんですよね?
なので、その目的をもっと強烈に意識するようにしましょう。
目的は、例えば「プログラマーになって年収500万円稼ぎたい」だと弱いです。
おそらく未経験からプログラミングを学習している人はこういった目標を持っていると思いますが、これだとほぼ間違いなく、挫折します。
・何故年収500万円ほしいのでしょうか?
・そもそもプログラマーを選んだ理由って何ですか?
こういったものに回答できるようになってくれば、自然とモチベーションは高まっていきます。
ちょっと抽象的で分かりづらいと思うので、僕の事例で説明します。
僕がプログラミング独学のモチベーションを維持できた理由 (この記事の信頼性)

僕はこれまでずっとプログラミングを独学で勉強してきました
僕が完全にゼロからプログラミングを初めてエンジニアになるまで、基本的には独学で勉強をしてきました。
勉強している中ではもちらんモチベーションが低い時期も、エラーにハマったりして辛いこともありました。
いえ、正確に言うと、最初は「プログラミングなんて、誰がやるんだ。自分には関係のない世界だ」とさえ、思っていました。
プログラミングと出会ったときの印象は最悪でした。
人間で例えるのであれば、清潔感がなく、クシャクシャの髪の毛にヨレヨレの服を着ているような人でした。
ただ、とあるタイミングをきっかけに、そんな印象最悪なプログラミングが「楽しい!」と思えるようになります。
よく恋愛系の記事に「見た目はタイプじゃなかったけど、話してみたら・・・」と書いてある、まさにアレです。
そうなった後は、ほぼずっとプログラミングを独学する際のモチベーションは高く保つことができるようになりました。
モチベーションが低い時: プログラミングにネガティブなイメージしかない
大学2年の授業で、初めてプログラミングを習いました。
そのときはC言語で、簡単なサンプルプログラムを書くという授業でした。
分厚い本を買わされ、黒い画面に向かってプログラミングをするわけです。
日本語であれば多少の文法ミスがあっても許されるものが、プログラミングでは1文字も許されません。
ちょっとでも記載をミスすると画面には赤い文字で大量のエラーが表示されます。
しかもそのエラーの文章が非常に分かりづらい。
これまで接したことがないプログラミングというものに、僕は大いに悩まされました。
その授業では毎週課題が出て、プログラミングしたソースコードを先生宛にメールで送る必要があります。
ただ、その課題も「関数(メソッド)を使ったプログラムを書きなさい」とか、そういうものです。
その時の僕には、「プログラミングができて何になるんだ・・・?」と思っていた記憶しかありません。
まさに「やらされている状態」の典型です。
「なんて楽しくない授業なんだ!この授業で単位がとれた後はプログラミングなんてやるもんか!」
と思っていました。
その時の僕は、「エンジニア」と呼ばれる人が、黒い画面に向かってプログラミングという呪文を唱えることができることは分かっていました。
ただ、そのときは何となくオタクっぽいし、どこか自分とは違う世界の話だと思っていました。
毎回出される課題も、他の人の書いたプログラムをコピーさせてもらい、ちょっと改行の数を増やしたり減らしたりするくらいでごまかしつつ、乗り切りました。
話は変わりますが、ちなみにその時の僕は、大学で「ファッションショーをやる」という、一風変わったサークルに加入していました。
その頃はサークル活動がとにかく楽しくて、ファッションショーの準備ばかりに没頭していた。
・夜中までサークル活動。
大勢の人たちと一緒に「ファッションショー」という舞台をイチから作り上げる作業が心から楽しかった記憶があります。
まさに、ファッションショーのために生きている、と言っても過言ではありませんでした。
ですので、プログラミングには全く興味がありませんでした。
変数とかクラスとか、自分と違う世界のものでこの先、自分の人生とは交わらない世界線なんだと思っていました。
それらを勉強したところで、自分の生活は1ミリも良くならないと心から信じてたのです。
その時の僕にとって、プログラミングは大学の単位をとるために仕方なくやっている、というものでした。
自分自身が「勉強したい!」というモチベーションがなかったので、全くやる気が出なかったのです。
モチベーションが高い時: プログラミングを勉強して成し遂げられることや世界に向かって努力した
ところが、人生は何があるか分からないものです。
大学3年生に、「プログラミングをやってアート作品を作り、テレビ番組に出演した」という先輩を知りました。
ファッションショーのサークルも似たようなもので、子供の頃からブロックなどで「ゼロから何かを作る」という作業は大好きでした。
ですので、「プログラミングで自分一人でアートを作り上げて、しかもテレビ番組に出演できる」と聞いたとき、「何て楽しい世界なんだ」と思ったのです。
その当時はスマホが普及し始めた頃だったのもあり、今ほどまでインターネットが使われているわけではありませんでした。
今以上にテレビの勢いがあり、娯楽の中心はあくまでテレビです。
そんな時代だったのもあり、テレビに出演できるというのは、まさに僕が目指したい世界だったのです。
テレビに出たい!というミーハーな心があったのはもちろんですし、スケベ心で、「周りの人からすごいって思われたい」「モテたい」なんて思っていました。

「プログラミングを勉強するだけで、そんな状態を目指すことができる・・・」
その時で、僕の中でプログラミングを見る目が180度変わったのです。
正直、それまではエンジニアやプログラマーは大変なだけの仕事だと思っていました。
そんなイメージしかありませんでした。
それまで僕はプログラミングのネガティブな側面してか見ていませんでした。
ところが、その瞬間からプログラミングは「自由に好きなものを作ることができる道具だ」という認識に変わったのです。

「その道具を使えば、どんなことでも実現できる・・・」
そう思った途端、プログラミングに対するモチベーションが湧いてきました。
大学の授業がないときは常にパソコンの前に座り、プログラミングの勉強をしていました。
最初は、あれほど嫌いだった、大学で習ったサンプルプログラムを動かしていたのを覚えています。
そこから少しずつ手を広げていき、次第に自分の作りたいものを作るようになっていきました。
もちろんプログラミングはほぼド素人なので、プログラミングの作業がそんなにスムーズに進むわけもありません。
ごく基本的なエラーに丸一日ハマり続けるなんてことも日常茶飯事でした。
でも、「自分の作りたいものを完成させたい!」という強い想いがあったので、そんなエラーが出ることもそれほど苦痛ではありませんでした。
むしろ、丸一日ハマった後動いたときの達成感がたまらなく好きで、ますますプログラミングにハマっていった記憶があります。
そして何よりの原動力は、「テレビに出たい!そして周りの人にスゴいって思われたい!モテたい!」という強い気持ちです。
最終的に、大学生の僕はがむしゃらに頑張った結果、プログラミングでアート作品を完成させ、テレビに出演することができました。
その結果、多少は周りの人からすごい!と言ってもらうことができました。
僕は無事に目標を達成することができたわけです。
(ちなみに、モテにはほぼ繋がりませんでした。まあ、そんなものですよね笑)
もちろん、褒めてもらったところでお金にはなりませんし、今思えば周りの人から「スゴい」って思われてどうするの?という気もします。
でも、それでもいいのです。
その時の自分の心が「楽しい!幸せ!」と思える目標であれば、他の人や、未来の自分がとやかく言う筋合いはありません。
ちなみに、そういったアウトプットが出せたおかげで就職活動では、それをポートフォリオとして説明し、いくつかの企業から内定をとることができました。
そういう意味でも、大学生のときにプログラミングを一生懸命頑張ったのはよかったな・・・と思います。
もちろん、これを読んでいるあなたに「プログラミングでアート作品を作りましょう」なんて言うつもりはありません。
あくまでこれは僕の例です。
ただ、こうやって「プログラミングを学習することで自分がどのような状態になりたいか?」を考えることで、プログラミング学習のモチベーションを高く保つことができます。
プログラミングで挫折しないための方法: Be-Do-Haveを意識する

それでは改めて、プログラミングで挫折しないための方法をまとめます。
簡単に言うと、「Be-Do-Have」を意識するとよいかと思います。
Be-Do-Haveはそれぞれ以下のような内容です。
・Do: やりたいこと
・Have: 所有したいもの
「Be: なりたい姿」は、どのような姿になりたいのか?何をするとあなたが幸せなのか?という、割と本質的な部分です。
おそらく多くの人が、「安全に暮らしたい」「家族を楽させたい」「モテたい」という、根源的な欲求になるかと思います。
「Do: やりたいこと」は、プログラミングをやりたい理由が該当します。
何故、あなたが数多あるスキルの中からプログラミングを選んだのか?が明確になるとよいでしょう。
「Have: 所有したいもの」は、持ちたいものが該当します。
今回の例だとおそらく「プログラミングの知識」になると思います。
この中で、「Be: なりたい姿」を強く意識できれば、プログラミング独学時のモチベーションを高く保つことができます。
僕の例で言えば、
・Do: プログラミングでアートを作りたい、テレビに出演したい
・Have: プログラミングの知識を習得したい
こんな感じです。
一方、プログラミング独学で挫折する人の典型例は、
・Do: 年収500万円稼ぎたい
・Have: プログラミングの知識を習得したい
このような感じではないでしょうか?
・年収500万円を稼いで何がしたいか?
というあたりが明確になっていないため、例えば、プログラミング中に発生したエラーをなかなか解決できないときに

「何故こんなに辛いことをやってるんだろう・・・」
と思ってしまい、モチベーションが下がる傾向にあります。
プログラミング独学のモチベーションが下がってしまって辛い・・・と思っているのであれば、一度学習の手をとめて、Be-Do-Haveを考えてみるのをオススメします。
ここまでで、プログラミングのモチベーションを上げて挫折しないための方法をお伝えしてきました。
続いてあなたが知っておくべきは、「プログラミング学習のモチベーションが下がる理由」です。
この理由を知っておくことにより、モチベーションが下がるのを事前に防ぐことができます。
(全て僕が体験)プログラミング独学のモチベーションが下がる理由

この章では、プログラミング独学のモチベーションが下がる理由を、上から致命的な順に説明します。
このどれもが、僕が経験したもので、どれもがやっかいな理由です。
プログラミングを学習する理由が不明確な場合
これはすでに説明した通りです。
プログラミングを勉強しているのに、
・楽しそうだから
のような理由で勉強をしている場合は要・注意です。
実際にはおしゃれなオフィスで働ける保証はないですし、実際エラーが発生したりなど、楽しくないことも沢山あります。
ここまででお伝えしてきた内容を実践してみましょう。
思うように結果が出ないとき
プログラミングの独学は、なかなか上達を実感しづらい特徴があります。
勉強してもなかなか上達している実感を得られないですよね?
プログラミングが一人前にできるようになるためには1000時間という膨大な時間がかかるという話もあります。
さらに、プログラマーになるためには、チーム開発や、高いレベルのコミュニケーション能力など、プログラミング以外のスキルもにつける必要もあります。
こんなにやることが多いとなると、思うように結果が出ないのも仕方ないことかもしれません。
他のできる人と比べて、自分が「プログラミングができない」と感じてしまう
特に日本人には多い傾向かもしれませんが、他の優秀な人と比べてしまい、

「自分はこんなに勉強しているのに、全然成果が出ていない・・・」
というように落ち込んでしまうことがあります。
本来プログラミングの学習は他の人との競争ではないので、あなたのペースで学習を進めれば問題ありません。
ただ、SNSなどで「プログラミング学習を始めて3ヶ月で自社開発企業から内定をもらいました」なんていうサクセスストーリーを見てしまうと、どうしても焦ってしまいますよね。
その結果、「自分にはプログラミングの才能がないかもしれない・・・」と、落ち込んでしまうこともあります。
勉強の仕方が間違っている
プログラミングを習得する際、基本的な文法をある程度学んだ後は、自分の作りたいものを作って、実践的な力を身につけるのがよいです。
逆にいうと、いつまでも写経で勉強しているのであれば、いつまで経ってもプログラミングの本当のスキルを身につけられません。
その状態で何十時間・何百時間勉強したところで結果が出ないのは当然です。
プログラミングのスキルを適切に伸ばしていくには、適切なタイミングで適切な学習をする必要があります。

「そんなこと言っても何をやったらいいかわからないよ!」
という場合は、「プログラマーになるためのスキル」をまとめた以下の記事を読んでみてください。
「やらされ」で勉強をしている
この記事の僕の事例でも取り上げたように、やらされてプログラミングをやっている場合、スキルは身につきません。
僕の場合は、週に1回の授業を半年勉強したのに、関数を理解することもできませんでした。
実際、あなたが関数を勉強したことがあれば分かるかと思いますが、関数くらいであれば、やる気があれば1週間くらい、どんなに遅くとも1ヶ月あれば習得することができます。
あなたがすでに大人でプログラミングを学んでいるのであれば、自主的に学んでいると思うので、この問題点には当てはまらないかと思います。
ただ、もし「他の人からプログラミングをやった方がいいよ!」って言われて渋々やっている・・・ということであれば、改めてプログラミングを勉強する理由と目的を明確するのがよいでしょう。
繰り返しになりますが、プログラミングは自主的・能動的に学んでいかないと使えるスキルは身につきません。
エラーにハマってしまい、なかなか解決できない
プログラミングはエラーがつきものです。

「発生したエラーが全く解決できず、丸一日経ってしまった・・・」
これはプログラミング独学者であれば誰もが経験したことがあるでしょう。
エラーの文章をググってみたりするものの、一向に解決する雰囲気がない場合、どうしてもモチベーションが落ちてしまいますよね。
仕事が忙しかったり、疲れているとき
プログラミング学習のモチベーションは、そのときの体調にも大きく左右されます。
特に仕事をしながらプログラミングを勉強している場合、勉強できるのは早朝か夜遅くのどちらかでしょう。
ただでさえ今やっている仕事が忙しい上に、ゆっくりと休む時間を削ってプログラミングの勉強をするのは、正直かなり大変でしょう。
疲れているときは、プログラミングの勉強をするやる気が起きなかったり、パソコンに向かったとしてもなかなか頭が動かないなんてこともあります。
ここまで説明してきたような状態になると、プログラミングの学習中にモチベーションが下がってしまい、学習効率が落ちてしまいます。
せっかく同じだけ勉強するのであれば、効率的に勉強して成果を出したいですよね?
そこで、次の章では、プログラミング独学におけるモチベーションアップ方法をお伝えします。
この章を読むと、プログラミング独学のモチベーションが下がってしまうのを避けられますし、もし下がってしまったとしても、早めに高いモチベーションを取り戻すことができます。
プログラミング独学のモチベーションを維持したり、高める方法

プログラミングをせざるをえない環境に身を置く
人間は、基本的に自分に甘い生き物です。
テレビやスマホなどのいろいろな甘い誘惑がある中、あえてプログラミングの勉強をするのはかなり強い意志が必要になります。
とはいえ、そんな強い意志を持つのも大変なので、オススメなのが、プログラミングをせざるを得ない環境に見を置くことです。
例えば学校時代を思い出してもらえば分かるかと思いますが、「他の人も勉強をしているから勉強をする」ということもあったのではないでしょうか?
そこでプログラミング独学においても同じように、「プログラミングをせざるを得ない環境に身を置く」ことをオススメします。
例えばあなたのお住いの家の近くに図書館があるのであれば、そこにパソコンを持って行ってもいいでしょう。
あるいは、電源付き、大勢の人が何か作業をしているカフェが近くにあれば、そのカフェに行ってもよいでしょう。
こういった場に見を置くことで、プログラミングの勉強を強制的にすることもできます。
友達と一緒にプログラミングの勉強をする
1つ目と似たような内容ですが、プログラミングの学習を、同じようにプログラミングを勉強している友達とやるのも、モチベーションを上げるためにいい作戦の1つです。
同じようにプログラミングを学習している友達がいれば、例えばモチベーションが下がってしまったり何か問題が発生したときも相談にのってもらうことができます。
プログラミングの合間に一緒に気分転換をすることもできますし、まさに二人三脚でプログラミングの勉強を進めることができますね。
また、プログラミングをしている友達が周りにいない!という人は、プログラミングスクールに通ってみるのも1つの手段です。
プログラミングスクールの中には、他の人と共同開発をするカリキュラムを取り入れているところもあるので、他の人と一緒にプログラミングの勉強をしつつ、プログラマーに必要なスキルまで習得することができます。
作りたいものを作る
プログラミングの楽しさは、あなたの好きなものを自由に作れるところにあります。
もちろんプログラミングを始めたばかりの人は、プログラミングの内容を理解していないので、写経をして、文法などをある程度知る必要があります。
とはいえ、写経ばかりしていても本当のスキルがつかないですし、何より楽しくないですよね?
もしあなたがプログラミングを初めて数ヶ月経っているのに写経ばかりやっている、ということであれば、あなたが「作りたいな」と思うものを作ってみるとよいでしょう。
そうすることで、写経では得られない本当のプログラミングスキルが身につきますし、「作りたいものの完成に向けて努力する」という楽しさも生まれます。
目標達成の期限を切る
「パーキンソンの法則」という有名な法則があります。
これは、「仕事の量は、完成のために与えられた時間をすべて満たすまで膨張する」というものです。
つまり、どこかで期限で切らないと、いくらでも仕事が増えていくということですね。
プログラミングの独学も同じようなもので、100%理解することはできません。
もしあなたが期日を決めない限り、「あれも勉強しないと、これも勉強しないと」というように、学習する内容は際限なく広がっていってしまいます。
そこで、「いつまでにどんな目標を達成したいのか?」の期日を設定するようにしましょう。
例えばプログラマーになりたいのであれば、「1年後にはプログラマーへの転職活動を始める」というような期日を設定することで、より危機感を持ってプログラミングの勉強をすることができます。
疲れている場合は休む
人間、自分が疲れているかどうかは分かりづらいものです。
ただ、パソコンの前に座ったけど頭がボンヤリする・・・というときは、知らないうちに疲れている可能性があります。
そこで、「今日はプログラミングのやる気がでないな」と思うときは、一度しっかり休んでみるとよいでしょう。
しっかり寝て、体力が回復した後は、やる気も回復しており、かなり高い効率でプログラミングの勉強をすることができますよ。
(最終手段)どうしてもプログラミングの独学だとモチベーションが上がらない、という人へ

ここまでで、僕が知っている限りのモチベーションアップの方法をお伝えしてきました。
ただ、それであっても、

「そんなこと言ってもプログラミングの独学だとモチベーションを維持できないよ・・・」
と思っているかもしれません。
そんなあなたには、最終手段ですが、プログラミングスクールに通ってみるのをオススメします。
独学でモチベーションを維持できないのであれば、講師やメンターと呼ばれる人に並走してもらうことでモチベーションを維持する作戦です。
プログラミングスクールでは講師やメンターと呼ばれる人との面談が週に1回あったりするので、嫌でもプログラミングの学習や報告をする必要があります。
それを利用して、プログラミングを学習するのも立派な1つの方法です。
とはいえ、プログラミングスクールはかなり数があって選ぶのも大変ですよね?
そこで、僕のエンジニア経験も踏まえた上で、僕のオススメのプログラミングスクールを厳選しました。
また、各プログラミングスクールは、それぞれ様々なコースを開催していたりして、このコース選びもなかなか大変です。
ということで、あなたの目標に合わせた、オススメのプログラミングスクールとコースを1つの記事にまとめたので、是非読んでみてくださいね。
あなたに最適なプログラミングスクールを見つけられるかと思います。
最後に: プログラミング独学のモチベーションを維持するのに最強なのは、「明確な目標」

この記事では、プログラミング独学をするときにモチベーションが上がらない・・・!という悩みに答えてきました。
この記事の前半の結論の部分でもお伝えしましたが、プログラミング独学のモチベーションを上げるために一番最強で有効なのが、「何故プログラミングを勉強するのか?」の明確な目的を持つことです。
この目標さえあれば、途中で辛いことがあっても乗り越えやすくなります。
プログラミングの学習において、壁にぶつかるのは1回や2回ではないはずです。
そんな壁を着実に乗り越えるためにも、プログラミングを勉強する理由は明確に持っておくようにしましょう。
この記事は以上です。
ここまで読んでくださり、ありがとうございました!
コメント