エンジニアにとって、コーディング作業への集中は理想ですが、現実には難しいものです。つい無意識にネットサーフィンをしてしまい、貴重な時間を無駄にしてしまうことがあります。そこで、集中力維持のために私が使っているツールやテクニックを紹介します。
- Hostsファイルで不要サイトのブロック
- BlockSiteで不要サイトのブロック
- LeachBlockで不要サイトのブロック
- ポモドーロ・テクニックで集中力維持
- Todoリストの作成
- カレンダーによる予実管理
1. Hostsファイルで不要サイトのブロック
Hostsファイルに、動画サイト、SNS、ニュースサイト、お気に入りのブログなど集中力を奪ってしまうサイトを登録し、ローカルホストにルーティングしてブロックしています。
# /etc/hosts
127.0.0.1 example.com
2. BlockSiteで不要サイトのブロック
BlockSiteは登録したサイトをブロックできるAndroidスマホアプリとChromeブラウザー拡張機能です。
以前は両方使っていましたが、ブラウザー拡張機能は後述のLeachBlockを使うようになったため、現在はスマホアプリのみを使っています。無料で登録できるウェブサイトは5つまでですが、それでもかなり役立っています。
主にニュースサイトとお気に入りのブログをブロックしています。
3. LeachBlockで不要サイトのブロック
BlockSiteと同様に無料でサイトをブロックできますが、Chromeブラウザー拡張機能のみで、スマホアプリは提供されていないようです。
BlockSiteは無料で登録できるサイトに上限がありますが、LeachBlockは無料で何サイトも登録できます。
理屈上はhostsファイルのみでウェブサイトをブロックできますが、簡単にコメントアウトできてしまうので、hostsファイルと同じサイトをエクステンションでも登録することで、自分の欲求に負けないように何重にもブロックしています。
私が登録しているサイトは、ニュースサイト、ブログ、証券会社サイトなどです(株の値動きが気になってしまうのを防ぐため)。
4. ポモドーロ・テクニックで集中力維持
ポモドーロ・テクニックは作業時間と休憩時間を交互に取ることで、集中力を維持する手法です。
ツールは、Linuxデスクトップ用の「Gnome Pomodoro」というアプリを使っています。
ポモドーロ・テクニックの良いところは、集中力をずっと保つのは難しいという事実を受け入れ、あえて休憩時間を定期的に設けていることです。休憩中は自由に行動できますが、その分ポモドーロ(作業時間)中は集中して作業に取り組むことができます。
ポモドーロ(作業時間)
・1回のポモドーロ(作業時間)は25分とし、3回で1セットにしています。
・タイマーの秒針音(チクタク音)をオンにしています。動画視聴やネットサーフィンなど、作業以外のことに集中が逸れた時に、この音が仕事に戻してくれるからです。
・ポモドーロ中はスマホを裏返し、通知もオフにしています。これにより、通知に気を取られて集中力が途切れるのを防ぎます。本当に緊急事態が発生したら、それが仕事であれプライベートであれ電話がかかってくるので、通知を常に確認する必要はない、という考えです。
・ポモドーロ終了前にタスクが完了した場合、そのタスクに更なる時間を費やすよりも、他のタスクに移行することが多いです。
・逆に、ポモドーロ終了後も集中力が続き、作業が中断しにくい場合は、5~10分程度延長することがあります。ただし、ショートブレイクをスキップして次のポモドーロに移行するのではなく、あくまで延長措置としています。延長後は必ずショートブレイクを取ることで、集中力を持続し、ポモドーロ途中で集中力が途切れるのを防ぎます。
・ポモドーロ終了後、ショートブレイクに移行する前に、直前のポモドーロでどこまで作業したのかをメモしておくと、次のポモドーロで何から取り掛かるべきかをスムーズに思い出せます。
ショートブレイク
ポモドーロ間のショートブレイク(短めの休憩時間)は5分に設定しています。ショートブレイクの間にやることが多いものは以下の通りです。
・コーヒーブレイク。
・トイレ休憩。
・机の上などちょっとした片付け。
・思ったことのメモ。
・洗濯や食器洗いなど、5分以内で終わる家事(在宅の場合)。
ショートブレイクはルール上は何をやってもOKなのですが、動画閲覧など5分で終わらないものはロングブレイクに行なうようにしています。
また、ショートブレイクの間も、直前のポモドーロでやっていたタスクのことは考え続けているのが理想で、次の25分でやることの整理や、解決すべき問題などを考えます。逆に、他のタスクに手をつけてしまったり、ブログを読んだりすると、元のタスクに頭のコンテクストをすぐに戻せなくなります。
ロングブレイク
ロングブレイクは15分に設定しています。
忙しい日は昼食もロングブレイクで取ってしまいますが、昼食時間としてかなり短いので、いつもは昼食はロングブレイクとは別に1時間取るようにしています。
ロングブレイク中は、この記事で紹介したようなウェブサイトブロックアプリを一旦停止し、好きなウェブサイトを見るようにしています。自身の欲求をロングブレイク中に満たすことで、逆にポモドーロ中に衝動的な欲求が起こらないようになります。
5. Todoリストの作成
集中力持続と朝のハドルの準備を兼ねて、Todoリストを作成しています。
前日のTodoリストをコピーし、昨日のタスクをハドルで共有するとともに、本日のTodoリストを作成します。
ハドルで共有しないようなプライベートのTodoも併記しています。
個々のタスクを完了したら、チェックマークを付けて完了にします。達成感を得られ、次の作業へのモチベーションを高めることができます。
6. カレンダーによる予実管理
ツールは、アプリや紙の手帳など、自分に合ったもので構いませんが、私はGoogleカレンダーを利用しています。
Todoリストに書き出した1日の予定を30分単位でカレンダーに転記することで、視覚的に把握しやすくなります。Todoリストの全てのタスクをカレンダーに登録すると、多くの場合、予定時間が不足することが分かります。これは、自分が無駄な時間を過ごす暇はないことを示しており、モチベーション向上に繋がります。
また、個々のタスクが想定より長引くことも多いため、他のタスクに影響が出ないように、タスク間に15~30分の余裕を持たせています。
さらに、予定とは別に、実際に作業に費やした時間を別の色の予定として記録していきます。これにより、予定と実績を比較し、タスクに想定より時間がかかったのか、集中力が途切れていたのか、予定外の作業に時間を取られていたのかを分析し、今後の改善に役立てています。
まとめ
私が集中力を維持するために使っているツールやテクニックを紹介しました。自身の生産性向上に使えそうなものがあれば、ぜひ試してみてください。
