仕事の時間配分について(またはいかにしてコードを書くか)

日中は頻繁に質問やミーティングで割り込みされてコードを書くのに十分な集中ができないので、昼間は最低限の仕事だけして他は遊びつつ、夜になってからコードを書くと良いのでは?ということを考えた。どうせリモートだしね。

思いついたので今週はそんな感じで仕事をしてみた。単に生活リズムがそういう感じになっていただけとも言う。やってみた結果、

  • コード書かないと決めても、質問やらミーティングやらドキュメント書きやらで結構精神を使う形で時間を消費しがちになる。
  • 割り込みがない状態でコードを書けるとめちゃくちゃはかどる。
  • しかし夜にコードを書いているとテンションが上がってきて寝るタイミングを逃す。

という感じの現象が発生して、結果として3~6時間しか寝てないのに日中は昼寝できず精神を使うタスクをするような状態になり、仕事が進んでいる感はあるもののめちゃくちゃ疲れることが分かった。

そもそも元のツイートをした段階では、質問に答えてない時間は適当に数学したり趣味コードを書いたりして本当に遊ぶことを想定していたんだけど、ミーティング前の整理やドキュメントの構成を考える作業などが割とあり、何もしていない時間というのは実はあまりないことが分かってきた。今まではこういう文筆業の時間を削減してコードを書く時間を捻出できると思っていたが、そもそもコンテキストスイッチをしまくると負荷が爆上がりするという問題や、特にシステムの設計のような作業では手を動かさずに思索していることそのものに意味があるという面があるので、夜にコードを書くと結局普段の倍の時間仕事しているだけみたいになってしまう。

結局のところ、コードが書きたいなら趣味の時間(完全フレックス&成果ベースの評価体系ではあるものの、本来の業務時間として想定されてない部分の時間)に仕事としてコードを書くことを是として妥協するか、もしくは仕事としてコードを書くことを(完全ではないにせよ)諦めるかの二択になるのではないか?社会は厳しい。