読者です 読者をやめる 読者になる 読者になる

レガシーコード生産ガイド

私に教えられることなら

フロー状態とコーディング

Idea

フロー状態はコーディングにとってあまり良くないのでは、という考えを持ってるんだけど、フロー状態とひとまとめにしてしまうと問題の切り分けがしにくいので、分けて考えてみることにする。

(自分が)フローと呼んでる状態は、主に2つの軸に分けられる。

  • 没頭の度合い
  • 作業効率

フロー状態に入る、入らないの話にしてしまうと、その前後も併せて、2つがどれぐらいのレベルを推移しているのかわからなくなる。

理想的には、没頭の度合い(赤)と作業効率(青)は、次のように推移して欲しい。

(横軸は時間、縦軸は度合い)

f:id:phaendal:20150530213129p:plain

しかし、自分を観察すると、大抵の場合こういう推移になってることに気づいた。

f:id:phaendal:20150530213139p:plain

ある時点で没頭の度合いに比べて作業効率が落ちるんだけど、作業そのものに没頭しているため、「今効率の良い作業をしているか」とメタな視点で自分を観察することができなくなる。結果、効率の悪い作業に没頭するという、あまり良くない状態になる。

また、没頭が長くなるほど、姿勢などによる健康面や精神面での疲労が蓄積する。没頭から抜けたら、思ったよりも進まなかった作業と、それに比べて大きい疲労だけが残る。

欲しいものは赤と軸で囲まれた面積じゃなくて、青と軸で囲まれた面積、作業量だ。

没頭度・作業効率共にベストより低くても、効率が落ち始める前に休憩して、疲労を取り除いた方が最終的な作業量は大きくなると思う。

f:id:phaendal:20150530213147p:plain

結局よく言われる「長くやり続けるより、休憩を挟んだ方が良い」という結論に至るんだけど、「休憩を取ったほうがいい」というやさしい言葉じゃなくて、「休憩は取らなければならない」「集中し続けてはいけない」という強いルールとして考えたほうが良さそうだ。

長時間没頭し続けて凄い成果をだした偉人の例を思い出して真似したくもなるんだけど、彼らがもしよく休憩していたら更にすごい成果を出せたかもしれない、という可能性を信じることにする。

(グラフがはみ出てて気持ち悪いんだけど、自戒として残すことにする)

広告を非表示にする