はじめに
開発作業をしていると、ビルド待ちや同期待ちなどどうしても瞬間的に「手が空く時間」が発生します。
集中している最中ではあるものの、次の作業にすぐ移れないこの時間をどう使うかは地味に悩みどころです。
そこで今回は、最近私が「作業と作業の間」にやっていることを特に結論を出さずにそのまま書いてみます。
ビルドやCIを待っている間
- 直前に触ったコードをもう一度軽く読み返す
- 変数名や関数名が気になった箇所をメモしておく
- すぐ直せそうなTODOを見つけたら、次のタスクとして書き出す
この時間は、作業を前に進めるというよりも、今やっていることを一度整理するための時間として使うことが多いです。
待ち時間に別のことを始めてしまうと、ビルドが終わったときに思考が分断されがちなので、基本的には今触っているコードの周辺から離れないようにしています。
IDEの同期や再起動待ちの間
- SlackやGitHubの通知を一通り確認する
- 直近で開いたPRやIssueを眺める
- 今日やることリストを軽く見直す
ここでは何かを決めたり進めたりすることはほとんどありません。
あくまで「今どういう状態か」を軽く把握するための時間として使っています。
長く考え始めると集中が切れてしまうので、基本は流し見に留めています。
テストが走っている間
- テスト対象のコードを追いながら、どこに影響が出そうか想像する
- 想定外の結果だった場合に、修正の方向性を頭の中で軽く整理する
- 次に手を動かすとしたら、どこから着手するかを先に考えておく
テスト実行中は結果を待つだけの時間ですが、個人的には気持ちを整えるのにちょうどいい待ち時間だと感じています。
実際に手を動かすことはせず、結果が出た後に迷わないための準備をしておく、くらいの使い方です。
次の作業にすぐ移れないとき
- 椅子から立って少し体を動かす
- 白湯やお茶を飲みながら、頭を一度切り替える
- 画面から目を離して、直前の作業をいったん忘れる
- 公式ドキュメントや仕様を、判断せずに流し読みする
- SlackやIssueの流れを追って、今の状況だけ把握する
この状態のときは、いったん作業の手を止めることが多いです。
結果が出る前に大きく動くよりも、次に戻るための余白として扱っています。
ずっと何もしないわけではなく、ドキュメントを軽く眺めたり、コミュニケーションの流れを追ったりと、負荷の低いインプットに使うこともあります。
判断を伴わない範囲で、状況を把握するくらいの距離感です。
こうした時間を挟んでおくと、結果が返ってきたあとに次の作業へ入りやすくなることが多く、私の中では待ち時間というよりも切り替えの時間として扱っています。
まとめ
作業と作業の間の時間は何かを進めるには短く、何もしないには少し長い、扱いづらい時間だと感じています。
この時間をどう過ごすかで、次の作業に戻るときの迷い方や集中の入り方が変わることも少なくありません。
結果が返ってきたときに迷わず次に進めるかどうかは、こうした細切れの時間の積み重ねに左右されている気がしています。
さいごに
こういった待ち時間の過ごし方は、その日の集中の持ち方や疲れ方に影響することが多いと感じています。
作業そのものだけでなく、その合間の時間も含めて仕事の一部なのかもしれません。