デザインされたギャンブル依存症」を読んだ。

とあるブログ記事で本書が紹介されていて、興味を持った。そこでは「ギャンブル中毒者は (大金を得るためではなく) “ゾーン” に居続けるためにスロットマシーンをプレイする」と書かれていた。

プログラマーの生産性はいかに効率よくゾーンに入るかにかかっている。ギャンブルにハマりたくはないが、プログラミングにハマるのは健全だ (たぶん)。そう考えて、カジノ業界がいかにプレイヤーをゾーンに導くのか、その手口を知りたくなったのだ。

しかし、本書の主眼はそこではない。

プログラマーがゾーンに入って丸一日仕事をすると、心地よい疲労感と充実感が得られる。しかし、ギャンブル中毒者はそうではないらしい。「なぜ自分はギャンブルをやめられないのか」「なぜ排泄感があっても台から離れられないのか」と考えてしまうらしい。僕はゾーンに入る体験は幸せなものだと思っていたが、必ずしもそうではないようだ。

本書を読んで良かったのは、心理学者のミハイ・チクセントミハイ氏が唱える「フローに入るための4つの必要条件」を学べたことだ。

  1. 行動のそれぞれの瞬間には小さな目標がなければならない
  2. そのゴールを達成するためのルールが明確でなければならない
  3. その行動が、その人の立場で、瞬間ごとに確信が得られるように、即座のフィードバックを与えるものでなければならない
  4. その行動の作業が操作上のスキルと合致していて、制御と挑戦が同時に起こっているという感覚を与えるものでなければならない

最近 LeetCode で少しずつランダムに問題を解いていて、楽しいと感じている。おおむね 30分~数時間程度で問題を解く (もしくは理解できずに解説を読む) ということをしており、この「問題を解く」ときに自分はフローに入っているように感じる。かなり高い集中力で、問題のことだけを考えているのである。

これは僕にとって LeetCode がミハイ氏の4つの条件を満たしているからだと思う。目標は「問題を解くこと (= 自動テストを通すこと)」であり、そのルールは明確である。またテストを通せたかどうかは数秒でわかるし、プログラマとしてのスキルセットで問題を解くときには制御と挑戦が同時に起こっているようにも思う。

もっと自分を意識的にフローに持っていけるように訓練していきたい。