こんにちは、プロ象(@shoshi_pro)です。
プログラミングやってみたけど、面白いには面白い、でもなーんかやる気がでないんだよねぇ。
それはプログラミング第4の壁、「モチベーションが保てないの壁」だね!特にプログラミングを独学で学んでいる人に起こりやすい問題なんだ。
というわけで今回は、この「モチベーションが保てない理由」と「モチベーションを保つための対策」を解説して、プログラミングを継続するための秘訣をお伝えします。
モチベーション低下に悩んでいる、モチベーションを保つためにはどうしたらいいんだろう、とお悩みの方へ解決の糸口になればと思います。
ちなみに、もしあなたが「プログラミング独学でやってるけど、分からないことが多すぎてつらい」と感じているなら、スクールに登録することも検討してもよいかもしれません。
そこでおすすめなのがSAMURAI TERAKOYAです。
月額2980円~(税込み3278円)というプログラミングスクールではかなりリーズナブルな値段で、プロのエンジニアに掲示板で質問し放題になります。また、教材まで使い放題なのがいいところ。
少し高上りにはなってしまいますが、1か月のみ使用してみて感触をつかんでみるという使い方ができるのも、入学金も無料で、月額料金も安いSAMURAI TERAKOYAならでは。
デメリットとしては、自分から学習を進められる人でないとこのサイトを使い倒せないというところと、マンツーマン指導の数が限られているというところ、6か月、12か月で契約して途中で解約してしまうと、残りの受講料の50%を違約金として払わなければならないところでしょうか。
もしプログラミングで分からないことが多くて困っているのであれば、SAMURAI TERAKOYAに登録をしてみるのも一つの手だと思います。
結論としては以下の通り。
- 簡単なものでもよいので、とにかくアプリやWebサイトなど、何かしらのモノを作ってみる
- 自分が何をやりたくてプログラミングを始めたのかを明確にして、ゴールをイメージする
- 飽きないように、学習内容や学習方法を変えてみる。本で学習していた人はWeb上で学習してみたり、基礎文法ばかりやっていた人は、今までの学習内容でつくれるモノを作ってみたりなど
- 誰かに聞ける環境を作って、「分からなくて進まない」を無くす
- プログラミング仲間を作って、お互いに切磋琢磨し合ったり、質問し合える環境を作る
モチベーション低下の理由
達成感や充実感が少ない
特に基礎的な学習を進めている時は、プログラミングで何かアプリを作る、モノを作るということではないことが多いです。
最初は変数の宣言の仕方やif文の使い方、for文の使い方など、プログラミングを書く上で絶対に外せない「基本のき」のような学習を進めていかなくてはいけません。
HTML&CSSを学習した人なら、画像を表示したり、文字を装飾したりなど、比較的派手な画面変化があるので、飽きずに学習することができたのではないでしょうか。
そこからJavaScriptの学習を始めると、最初はconsole.logの無味乾燥な画面に文字列が表示されるだけで、派手さが無くなってしまいます。
HTML&CSSを学習した人ならこの地味な画面にも文字列を打って何かを作った経験があるので、モチベーションを保つことができるでしょう。
一方で、JavaやPythonから始めた人は、何かを作るというよりも、基本的な文法の学習からスタートするので、達成感・充実感が少なく、楽しくないとなってしまう可能性があります。(英語でも、文法の学習って面白くないですよね)
初心者はHTML&CSSから始めた方がよいという理由はこういうところにもあるんだ。初期の学習が地味ではないHTML&CSSは、何かを作るという達成感や充実感があるね。この経験を経たのちにJavaScriptへ移行すれば、多少なりとも地味な学習にも耐えられると思うよ!
学習の方向性が明確ではない
今プログラミングを学習していますが、その言語を学習して何を作りたいと考えていますか?特に何もないけどとりあえず学習していますか?
実は、目標をもたずに、プログラミングをスタートしても、自分が到達したいゴールが見えないため、なかなかモチベーションが続きません。
マラソンも、42.195キロ先にゴールがあるということがわかっているから走れるのであって、「ゴールはわからないけど、とりあえず走って」と言われて一生懸命に走ることができるでしょうか?
まずは自分が何のためにプログラミングを始めたのか、今一度見つめなおす必要がありそうですね。
何をしたいのかが見えていない人は、あらためて原点に立ち戻って、プログラミングを始めた理由を考えてみよう。
学習の方向性が明確じゃなかったという方、その解決方法へジャンプ!
飽きてしまう
プログラミングの勉強をしていると、ずっと同じようなことの連続で飽きがくるときがあります。
これはずっと同じような勉強ばかりをしている人にありがちです。
つまり、ソースコードを写してばかりいたり、参考書を読んでばかりいたりなど、似たような勉強ばかりしていると人間、飽きがきます。
したがって、飽きないように、学習の内容や方法に変化を入れていくことが重要です。
私自身は単純作業が最も嫌いなので、単調になるとものすごく飽きてくる。普段の仕事でも、できるだけ単調にならずに飽きないように作業をするようにしています。
プログラミングに飽きてきたと感じた方、その解決方法へジャンプ!
分からないことが多すぎる
みなさんは小さいころから「学校で勉強」をしてきましたが、その時は先生がいて、1から教えてくれました。
ですが、プログラミングを「独学」していると、先生となる人がおらず、分からないことが出てきても教えてもらうことも聞くこともできないという状況に陥ります。
一生懸命Googleで検索をしても、答えになるような情報が出てこなくて、嫌になってしまう、これがモチベーションを下げる大きな要因になるのです。
検索する力もとても大事なのだけど、それでも分からないときってあるよね。それが積み重なっていくと、だんだんとモチベーションが低下して、プログラミングがいやになってきちゃうんだ…。
分からないことが多すぎると感じた方、その解決方法へジャンプ!
モチベーションを保つ方法
簡単なものでもよいので、とにかく何か作ってみる
達成感・充実感がなくて、プログラミングが楽しくなくなっている人は、まずどんなものでもよいので、小さいプログラムを作ってみる経験が大切です。
例えば、JavaScriptであれば、promptを使いながらチャットをできるWebアプリなど、簡単に作れて、それでいて何かモノを作った感があるプログラムを作るのです。
そこにはfor文やif文など、基礎的な学習内容も入ってくるので、基礎の学習も無駄になりません。
基礎的な文法学習にうんざりしてきたなと感じたら、何かモノを作ってみることがおすすめです。
プログラミングは「何かアプリなどを制作するために」勉強しているはずなので、モノを作ってみるというのはとても大切だよ!
学習の方向性を明確にする
プログラミングを始めたとき、あなたはどんなモノを作りたいと考えていましたか?
もしそれが明確でないならば、「自分は最終的にこんなモノを作ってみたい」とゴールを明確にする必要がありますね。
以前の書いた「プログラミング何から始めればいい?やりたいこと・難易度・将来性・年収から考える言語選び」を見れば、その言語を学習するとどのようなことができるのかが書かれています。
この「目標が見えていない」状態から抜け出して、ぜひ「自分はプログラミングを学習してこれを作るところまで行きたいんだ」と決めてみましょう。
何事もゴールを明確にすることって大切だね。そうしないと「努力の方向音痴」なんて言われる状態になっちゃうかも…(泣)
飽きずに学習するには
飽きずに学習するためには学習の内容や方法を変化させてみるのがよいです。
例えば、本で学習していた人は、ProgateなどのWeb上で学習する形態に変えてみたり、コードを写してばかりの学習をやってきた人は、ここまでの学習内容を使って何かを作ってみたりなど、今までの学習方法、内容に変化をつけてみましょう。
人間、毎日全く同じことをやるというのはよっぽどその内容が好きだという場合でない限り難しいものです。
少し目線を変えるだけで、飽きのこないような学習にすることができるので、学習内容や学習方法を変化させてみましょう。
誰かに聞ける環境を作る
分からないことが多すぎる状況を解決するためには、誰かに聞ける環境を作ることが大切です。
身近にあなたが学習している言語のスペシャリストがいる環境ならばよいですが、独学をしている人にとってそのような環境にあることは希です。
したがって、身近にプログラミングに関する質問などができないのであれば、作るしかありません。
その方法は以下の通り。
- 無料の掲示板で質問する
- オンラインスクールに登録して質問する
- ココナラ・ストアカなどを使ってメンターになる人を見つける
一つひとつ見ていきましょう。
無料の質問掲示板で質問する
無料の質問掲示板としては、teratail(テラテイル)、Qiita(キータ)、Stack Overflow(スタック・オーバーフロー)があります。
それぞれ登録をしてプログラミングに関する質問をすることがでで、いわゆるプログラミング版Yahoo知恵袋、と言ったところでしょうか。
まずはテラテイルやキータで聞いてみて、もしそれでも回答が得られなければスタックオーバーフローで質問する、という流れがよいです。
ただし、回答者もお金をもらってやっているわけではないので、必ずしも質問の答えが返ってくるわけではなさそうです。
オンラインスクールに登録して質問する
プロ象的に一番おすすめなのが、これです。
「オンラインスクールって何十万円も受講料かかるんじゃないの?」と思いますよね?
でも、SAMURAI TERAKOYA(侍テラコヤ)なら、月額2980円~(税込み3278円)でプロのエンジニアに質問し放題になります。
平均解答時間も営業時間内であれば30分と短く、さすが回答者に報酬を支払っているだけあって回答の質も高いです。
ただ、デメリットとしては学習教材が用意されているだけなので、自分から学習を進められる人でないと価格に見合った効果が得られないというところと、マンツーマン指導の回数が限られているというところ、12か月や6か月で契約をして、途中で辞めてしまうと、残りの月の料金の50%を違約金として払わなければならないところでしょうか。
ですが、行き詰ったときに最初に検討するべきサービスの一つですね。
私も以前使ったことがありますが、コスパ最強、質問もできるし、教材も使い放題、なにより他のスクールに比べて安い。少し高上りになってしまいますが、1月だけ試してみる、ということができるのが、入学金も無料のこのスクールの魅力!
ココナラ・ストアカなどのスキルマーケットでメンターを見つける
ココナラやストアカなどのサイトでは、プログラミングを教えてくれる人がたくさん出品しています。
価格もいろいろで、自分の興味やプログラミング言語に合った講師を探すことができるというのがメリットです。
逆に言うと、自分で自分に合った講師を探さなくてはいけないのが少し面倒でデメリットです。
ですが、困ったときにだけでもたくさん質問できる環境を作れるというのはココナラやストアカを利用するメリットですね。
以下にリンクを貼っておきますので、無料登録だけでもしておくと、困ったときに役立つのではないかと思います。
プログラミング仲間を作る
一人で孤独にやるよりも、仲間がいた方が「自分も頑張らなきゃ」となります。
仲間を作ることで切磋琢磨できるのと同時に、分からない部分を質問することもできるようになります。
1つ目のおすすめはTwitterなどSNSでプログラミングをやっている人とつながる方法です。
私自身もプログラミング仲間、ブログ仲間とTwitterを通してつながっています。そのつながっている仲間がいるから、こうやってブログを更新することができていると言えるかもしれません。
お互いつらい時に励ましあったり、あの人が頑張ってるんだから、自分も頑張らなきゃとなるので、SNSなどを活用するのがまずおすすめです。
2つ目は、近くのスクールなど、プログラミングを学習するための学校などに通ってみることです。
当然、そこには同じプログラミングを学習する生徒が集まり、同じ学習進度で進んでいる仲間ができます。
そうすれば、お互いに励ましあえるだけでなく、難しくて理解できなかったところも教えてもらうこともできます。 そういうような形で仲間を作ることもとても大切です。
まとめ
プログラミングをやるにあたって、モチベーションを保つ方法として、以下のことが考えられます。
- 簡単なものでもよいので、とにかくアプリやWebサイトなど、何かしらのモノを作ってみる
- 自分が何をやりたくてプログラミングを始めたのかを明確にして、ゴールをイメージする
- 飽きないように、学習内容や学習方法を変えてみる。本で学習していた人はWeb上で学習してみたり、基礎文法ばかりやっていた人は、今までの学習内容でつくれるモノを作ってみたりなど
- 誰かに聞ける環境を作って、「分からなくて進まない」を無くす
- プログラミング仲間を作って、お互いに切磋琢磨し合ったり、質問し合える環境を作る
モチベーションが保てなくてプログラミングをやめてしまう、なんて人を一人でも無くしたいと思っています。お互い、頑張りましょうね!
以下は壁の乗り越え方のまとめ記事です。
コメント