夜の自分を信じるのをやめた日
夜のうちに片付けたい、と思う性格です。
明日に持ち越すと忘れそうで、進まないことが気持ち悪くて、つい粘ってしまいます。
4時間粘っても直らなかった

夜、自分の作っているアプリのバグを追っていました。
スマホで開いた時だけ、画面のカードが全部巨大化して表示される現象です。
修正の手は色々持っていたつもりで、片っ端から試しました。
8回くらい修正してデプロイしたと思います。
全部空振りでした。
途中から、自分でも雑になっていくのを感じていました。
本当はやりたくない設定(画面のピンチズームを止めるとか)まで一時的に入れて、また外して、入れて、外して。
気がついたら夜中の4時を回っていました。
「次回に持ち越そう」とだけ書いて、引き継ぎ用のメモを残して、寝ました。
途中で終わらせるのが悔しくて、しばらく寝付けませんでした。
朝に解けた

朝、起きて、PC を開いて、続きから始めました。
夜は実機のスマホでしか確認していなかったのですが、PC のブラウザでスマホ表示を擬似的に再現する機能があります。
それを使ったら、普通に再現しました。
PC のブラウザで再現するなら、画面の中身を直接覗けます。
調査用のちょっとした関数を書いて、画面の状態を一括で取りました。
viewport の大きさ、グリッドの幅、カードの実サイズ。
全部一気に。
数字が出てきた瞬間、原因が見えました。
夜に8回叩いた対策は全部「カードそのものの大きさ」を疑っていました。
でも本当の原因は、カードの親のグリッドが、子の中身に押し負けて膨張していたことでした。
カードを見ていたら永遠に気づけなかった原因です。
親の階層を見上げないといけませんでした。
修正は CSS を4行足すだけでした。
夜と朝は別人

技術的には同じ自分の脳のはずなのに、夜と朝では見えるものが全然違いました。
夜の私は、症状の出ているところを直そう直そうと焦って、視野が狭くなっていました。
「カードがおかしい」を直そうとしていたから、その親の階層を見上げる発想がありませんでした。
朝の私は、まず計測しました。
「症状の出ているところ」だけじゃなく、「その親」「そのまた親」も全部一気に見ました。
見上げる余裕があったから、見えました。
寝るも仕事のうち、本当だったみたい

「寝るも仕事のうち」って言葉、聞いたことはありました。
でも私は信じきれてませんでした。
夜のうちに片付けないと進まない、明日になったら忘れる、引き継ぎが面倒、そういう思い込みがありました。
でも結果として、4時間粘った夜より、30分の朝の方が前に進みました。
寝ることは「進まない時間」じゃなくて、「次に進めるための時間」だったらしい。
少なくとも今回はそうでした。
引き継ぎを書いておいてよかった

寝る前に、Issue(やることリスト)に詳細を書いておきました。
- どんな症状が出ているか
- 試して効かなかった対策一覧
- 次に試すこと候補
- 関連するファイル
朝の自分が「で、何やってたんだっけ?」とならないように。
朝起きてその引き継ぎを読んだら、「あ、ここから続きやればいいんだな」とすぐ動けました。
これは夜の自分からの、朝の自分への贈り物だったと思います。

夜の自分を信じるのをやめた
「夜の自分はもう信じない、朝の自分に任せる」。
そう書き残しておこうと思った日でした。
夜の自分が雑になる前に、引き継ぎを書いて寝る。
朝の自分は、夜には見えなかったものを見つけてくれる。
そうやって自分の中で役割分担できるようになると、無理に夜更かししなくてよくなるのかもしれません。
これからも夜にバグを追ってしまう日はあると思います。
でも、「直らない」と感じた瞬間に、潔く寝る選択肢を持っておきたいなと思いました。

