ゲームと勉強の『やりたい』の違い

私はゲームをやりたいと思ってやっている。購入した直後のゲームも、久しぶりにやろうと思って立ち上げたゲームも『やりたい(want)』からやっているのだ。

では勉強はどうだろうか? 確かに勉強はやりたくてやっていることは少ないと思う。どちらかというと、『やらなければならない(must)』という気持ちでしていることが多い。

そもそもそれを解決するためにこのブログを始めたわけだから、何を当たり前のこと言ってるんだと思われるかも知れないが少し待ってほしい。実は私は今やりたいことだらけなのだ。

私がプログラム関連で今やりたいことをざっと列挙するだけでもこれだけある。

  • 基本情報技術者試験の勉強
  • AWSの勉強(資格試験も含む)
  • JavaScriptの勉強
  • Vue.jsの勉強
  • GraphQLの勉強
  • 個人アプリの開発
  • Qiitaへの技術記事の投稿
  • スキルテストの勉強(paizaのスキルチェック含む)
  • タイピングスキルアップ

並べてみたら思ったより多くて我ながら驚いた。これだけやりたいことがあるのに、なぜついつい Fall Guys に手が伸びてしまうのだろうか?

導き出した1つの回答は、『やりたいことを達成するのに要する時間』の違いである。

これをゲームと勉強で比較すると、その違いが如実に現れてくる。

ゲームやりたいこと達成に要する時間
Fall Guysミニゲームに勝って1位になること約15分/ゲーム
ポケモン1対1のポケモンバトルに勝つこと
ポケモンを育成すること
約15分/試合
数時間/匹
モンハンクエストをクリアすること約30分/クエスト
スマブラ試合に勝つこと約5分/試合
Ark恐竜を捕まえること
建造物を作ること
1〜2時間/匹
数時間

このように、ゲームは目標を達成できるまでのサイクルが数十分〜数時間と短い。要するに空き時間を使って簡単に達成感を得られるわけだ。

では、先程挙げたプログラミング勉強に関してはどうだろうか?

内容やりたいこと達成に要する時間
基本情報技術者試験の勉強
AWSの勉強
試験に合格すること 数ヶ月
JavaScriptの勉強
Vue.jsの勉強
GraphQLの勉強
それぞれの言語を使えるようになること 数週〜数ヶ月
個人アプリの開発 アプリを公開すること
人に利用してもらうこと
数週〜数ヶ月
Qiitaへの記事の投稿 LGTMをもらうこと 数週〜数ヶ月
スキルテストの勉強 スキルテストで高得点を取ること 数週〜数ヶ月

ご覧のように、プログラミングに関することは、達成に要する時間が圧倒的に長い。1日数時間取り組み続けたとしても、結果が得られるのは数ヶ月後だ。

つまり、ついやりたくて手を出してしまう条件の1つは『素早くフィードバック』が得られることだと言える。

これをプログラミングで応用する場合、それぞれの項目をさらに細かく設定し、数時間程度でフィードバックが得られる仕組みまで構築する必要がありそうだ。