Qiitaでこのようなイベントをやっていたのを見つけたので、いい機会だから私も参加してみます。
はじめに
この記事はデブサミ2021夏でゆめみ片岡さんのセッション『95%の習慣化達成率を実現する方法~ハビットエンジニアリング~』で聞いた内容を自分なりに落とし込んで、実際に実践できている内容について書いて見たいと思います。
Codezineによるセッションのレポート記事はこちら 習慣化に必要なのは意思より技術! 挫折しないための7つの思考法とは?
一部、私が過去に書いた記事、エンジニアの勉強法をまとめてみたに書いてある内容と重複している部分もあるのでご了承ください。
7つの超習慣技術
片岡さんいわく習慣化は性格や意思の力ではなく技術によるもので片岡さんが実際に実践しているのがこの『7つの超習慣技術』です。
7つの超習慣技術
1.バカらしい目標設定をする
2.コミュニティの力
3.過半数の法則
4.トリガー設計
5.ネガティブ化
6.積読のススメ
7.月曜日が楽しくなる
私の中で実践できているのがこの中の1~4なので、それについてこの記事で書いてみたいと思います。
1.バカらしい目標設定をする
習慣化において重要なのは目標設定、ありがちな失敗例としては高すぎる目標を掲げて挫折してしまう事、それによって自己肯定感の低下、モチベーションの低下に繋がります。
そこで、目標設定に範囲目標という考え方を用いて、目標にMAXとMINを設定しその中に入って目標達成とする。その際のMINの目標はバカらしいほど低くする事が目標を継続させるコツになります。
MIN目標の例)
・本を開いて1行読んだら読書
・「日記書くのが面倒くさい」と日記に書く
・ランニングシューズを履けばランニング
そして目標達成を継続していくと次第に、やっているうちにやる気や集中力がでてくる「作業興奮」という心理状態になり習慣化することができるようになります。
作業興奮とは
一般的に、人は作業を開始する前に面倒くささを感じます。意欲が湧かず、なかなか勉強や仕事に着手できません。しかし、面倒くさいのを乗り越えて一度作業を始めると、思ったより集中できる場合があります。
ちなみに私は資格試験勉強をしていた際に、「試験対策サイトを開く」というのをMINの目標に設定していました。ただ、サイトを開くとそこに「今日の一問」みたいな問題があったので、とりあえずそれを解くことでMINの目標より少し高いところで、目標達成していました。
そしてそれを続けると段々と途切れさせるのが嫌になって、試験日まで継続させることが出来ました。
2.コミュニティの力
目標を設定したもののなかなか走り出せない場合は「コミュニティの力」を借りましょう。そこで目標を宣言してやっている事を毎日報告しようというのが片岡さんがセッションで話していた内容でした。
ただ私のコミュニティの活用はちょっと違っていて私のコミュニティの活用方法は「仲間を見つける」という事でした。私は自分の所属する会社に同じ興味をもつ仲間が居なかったので、コミュニティや勉強会で仲間を見つけることはとても刺激になり、モチベーションアップに繋がりました。
一人でいると行き詰まって心が折れてしまうとそこで終わりですが、仲間がいるとそのタイミングを少し後ろにズラすことができます。そして仲間がいると「苦しい」が「楽しい」に変わります。
私は今いる会社で尊敬できるエンジニアは一人も出会えなかったけど、コミュニティに参加するようになってたくさん尊敬できるエンジニアに出会うことができました。セミナー等でそういう人に出会ってなかったら、今こうしてQiitaに記事を書くこともなかったと思います。
3.過半数の法則
範囲目標を設定していても、継続が途絶えてしまうことがあるかもしれません。そんな時は「過半数の法則」です。1週間というスパンで考えれば7日中4日実施すれば継続中という考え方で、たとえば3日サボってしまったとしても、そこから4日実施すれば目標達成継続中ということになります。仮に1週間サボってしまっても一ヶ月というスパンで考え、残り3週を取る。それでもダメなら四半期で考える。という感じで、いくらでもリカバリーが可能になる思考法で、片岡さんは「不死鳥フェニックス」と呼んでいました。
4.トリガー設計
意志の力がなかったとしても、『朝起きて、洗面台の前に行けば自然と歯を磨き始める』といった様な「こうなったら、こうなる」みたいなif-thenルールを立てて行動するのが「トリガー設計」です。
例としては、PCデスクを整理整頓したい社員がやっているのは、『ノートPCの上にウェットティッシュを置いて仕事を終える(トリガー設定)』すると『次の日仕事をしようとノートPCを開けようとするときに(if)』『必ずウェットティッシュがあるから、それで机やPCを綺麗にする(then)』。面倒くさくてゴミ捨てに行かない人は、『ゴミがたまったらゴミ袋を玄関に置いておく(トリガー設定)』そうすれば『翌日外出するとき(if)に』『ゴミ捨て場にゴミを捨てる(then)』。このような仕組みを作るのが、トリガー設計です。
おそらく、この記事を読んでいる人はプログラミング経験者やこれからやる人が多いと思うので、このような条件式を考えるのはわりと得意なのではないでしょうか。
私の場合は、最寄り駅から家にまでの途中にあるスタバでよく勉強しているので、『スタバに行く(if)』が『勉強する(then)』になっています。なので、帰宅途中にスタバが目に入る→コーヒーを飲みたくなる→ついでに勉強する、といった流れで勉強の習慣化につながっています。
その他
残りの3つ(ネガティブ化、積読のススメ、月曜日が楽しくなる)は自分の中で実践出来ていないので、ここでは書きません。codezineでまとめられているこちらの記事を参考にして下さい。
また、去年書いた記事ですがエンジニアの勉強法をまとめてみたでもエンジニアの勉強法について書いているので、良かったら読んでみて下さい。
この記事が誰かのちょっとした参考にでもなれば幸いです。