はじめに
仕事以外の時間も勉強しないといけないとわかっていてもなかなかモチベーションがわかない
エンジニアは移り変わりの激しい技術を追っていかないといけない仕事なので、就職する前に「仕事終わりも休日も勉強しないといけない」そう聞いてエンジニアになった人も多いかと思います。
私もプログラミングの勉強を始めた頃には、楽しいと思って色々勉強を続けていましたがいつしか仕事終わりに勉強したり、休日に勉強することができなくなりました。
周りには自分よりももっとできる人がたくさんいて、少し勉強したところで給料が上がるわけでもなく、現状が変わるような気分もなくモチベーションは全く上がりませんでした。
勉強をしようとしてもすぐに成長を実感できるわけでなく、勉強を続けてもそれがものすごく身についたという感覚も少なかったです。
しかし、とあるタイミングでプログラミングを継続的にできるようなきっかけがあり、そこから数年勉強を習慣化することができました。
今回はRPGゲーム感覚でレベルアップを実感しながら、ボスを倒す感覚でアウトプットをして成長できる方法を紹介します
努力ができる人とできない人
あなたは努力することが得意ですか?
おそらく何かしら努力して成し遂げたという経験が誰しもあると思いますが、多くのことはなかなか努力を継続することは難しいです。
例えば、ダイエットは過去に何度も挑戦したことあるし、早起きも毎日のように頑張ろうと思っては失敗してしまいます。
しかし世の中にはダイエットに成功する人もいますし、早起きが習慣化している人もいます。
努力ができる人と努力ができない人の違いは何なのでしょうか?
そこにある違いは努力をすることで成果を感じることができているかということです。
おそらく努力をしようとしているのは、何か成し遂げたいことがあなたにはあるはずです。しかし、努力をしてもなかなか成果がでなかったらどうなるでしょう?
こんなに大変な思いをしているのに何も成果がでないから辞めてしまおう。そう考えてしまい努力が継続できなくなるわけです。
たとえばダイエットをするとします。
体重計にのってダイエットをするのと、体重計に乗らないでダイエットするのでは成功率は大きく変わってきます
体重計に乗らないと成果を感じるまでには身体自体に変化がある数ヶ月間自分は痩せていると信じて続けないといけません。
しかし、体重計を使って体重を数値化することができれば次の日に100g減った、1ヶ月後に1キロ減ったなど数値が変化することで成果が見える化してモチベーションにすることができます
つまり努力ができる人は成果を見えるカタチにすることが得意なわけです。もしプログラミングの勉強が続かないのであれば、勉強したときの成長を見える化することができれば継続しやすくなります
ゲーム感覚でレベルアップする
変化を見える化することがモチベーションにおいて大切ということを説明しました。
実はこの考え方は幼少期にやったRPGゲームでの経験をそのまま活かすことができます。
1つ上の敵を倒す戦略
もしあなたがゲームをして最速でキャラクターを強くしようと考えたときに、どんなプレイをするでしょうか?
おそらく自分がギリギリ倒せる敵を倒すということをしてどんどんレベルアップをしていくと思います。
なぜこのような行動を多くの人がするのでしょうか?
これはゲームでは経験値が数値化されており、強い敵を倒せば経験値がたくさんもらえることを理解しているからです
つまり今やろうとしている勉強からどれだけの経験値を得ることができるのかというのを知ることができれば、勉強(敵)を倒すことができればレベルアップしたことを実感することができます。
レベルアップはすればするほどどんどんモチベーションが湧いてくることにつながっていきます。
レベルアップがしやすいタイミング
もう一つ質問です。
RPGゲームをやっていて1番レベルアップをする瞬間はいつでしょうか?
多くのゲームの場合、1番最初のモンスターを倒したときだと思います。このときの経験値の上昇の仕方は勢いがあったはずです。(ポケモンだとジグザグマのイメージでした)
つまり成長という変化はプログラミングを初めて時間が経っていない人ほどわかるようになります。
エンジニアは若さも価値となる職業です。
若い時期から成長を感じてレベルアップすることをモチベーションとして勉強を続けることができればスタートダッシュもブーストをかけることが可能になります。
ゲームの継続率は快感がすべて
スマートフォンの普及によりゲームのタイトルが加速的に増える時代になりました。
そんな多くあるゲームの中でどのようなゲームが飽きられずに続くようなタイトルになるのでしょうか。
イラストやコンセプトなども大切ですが、そレくらいに大切なのがユーザーが快感に思える体験かという部分です。
この快感に含まれるのは、どんどんキャラクターがレベルアップしていくというのが含まれます。
全然レベルアップしなかったり、モンスターが全然倒せなかったり刷るとユーザーはゲームを遊ばなくなってしまうのです。
これも勉強がなかなか続かない理由と同じ点があります。
人は努力に見合った成果を感じることができないと続けることができなくなります
このことからも、継続して努力していくことは小さくてもよいので成果や成長を感じることが大切というのがわかります。
スキルの数値化をする
ここまででモチベーションを維持するには「成長の可視化」が大切ということを説明してきました。
では、いざエンジニアとしてプログラミングを勉強していくときにどのように「成長の可視化」をしていけばよいのでしょうか。
私は同じ考えでモチベーションを維持するのに利用したサービスがあります。それがLaprasというサービスです。
実際の私のスコア↓↓
このサービスでは自分の技術力を数値として可視化することができます
この数値がゲームで言うところのレベルに当たるわけです
私がやってきたのは、ひたすらこのレベルをあげるための行動をし続けるということでした
スコアをあげるには、エンジニアとして必要なGithubやQiitaなどのアウトプットをする必要があります。エンジニアに不必要なことは評価の対象になるわけではありません。
そして評価するには目に見えるようなアウトプットを刷る必要が有ります。
スコアをあげることはエンジニアとして成長することにつながるわけです
そして必要なことからスコアを測っているので、スコアを伸ばすように行動していくことは最速で成長することと同じだと考えます。
モチベーションの継続法
モチベーションを維持するためにスコアを毎日のようにチェックするようにしました
これはまるで銀行の残高預金を毎日みながら貯金や節約に励むのと似ています。
毎日の努力がしっかりと自分のレベルアップに反映しているということを実感することができればモチベーションの維持につながります。
私はLaprasを約1年間毎日のようにチェックして、数値が上がっていくのを楽しみに勉強を続けていきました。おかげでいまではまぁまぁスコアも高くなりました。
ゲームでも同じだったようにレベルアップを感じることができればそれはモチベーションとなって努力できる理由につながるのでぜひ始めてみてください
おわりに
今回はゲームがなぜ継続できるのか、そしてどのように応用するとプログラミングもゲームのように続けることができるようになるのかを解説しました。
ここまでの内容をもっと詳しく説明した動画を投稿したのでよければこちらもご覧ください
みんなもLaprasを初めて自分のレベルアップをしていただけたらと思います。
ここまで読んでいただけた方はいいねとストックよろしくお願いします。
@Sicut_study をフォローいただけるととてもうれしく思います。
また明日の記事でお会いしましょう!
JISOUのメンバー募集中
プログラミングコーチングJISOUではメンバーを募集しています。
日本一のアウトプットコミュニティでキャリアアップしませんか?
気になる方はぜひHPからライン登録お願いします👇