『エンジニアのための時間管理術』を読む
この本を読んでまとめます。今回は1章と2章です。
- 1章 タイムマネジメントの原則
- 2章 集中と割り込み
- 作者:Thomas A. Limoncelli
- 発売日: 2006/10/19
- メディア: 単行本(ソフトカバー)
この本の対象読者
タイトルのようにエンジニア(プログラマ)であることを想定している。
- エンジニアは、コンピュータリテラシーが高かったり、ツールによる自動化が可能である
ただのプログラマではなく、SA(System Administrator)、つまりシステム管理者を対象としている。
- 開発業務以外にも様々なタスクをする必要がある
一部はただの開発者でも役に立つ事が書いてあるが、基本的に、「様々なタスクをこなしながら開発を行う」人向けの本といえる。
1章 タイムマネジメントの原則
1章では、タイムマネジメントにおける重要なテーマについて説明しています。例えば、
- 今取り組んでいることに頭を使い、それ以外のことは外部ストレージを活用する
- 定期的に行うことに対してはルーチンを定める
- 習慣やモットーを身につけることにより、事前に決断を下す
- プロジェクトタイムでは集中力を維持する
などです。以降の章では、これらを詳細に説明しています。
2章 集中と割り込み
システム管理者には「割り込み」が多々発生します。割り込みによって作業の妨害をされないことが重要です。また、作業中は作業に「集中」することが重要です。
マルチタスクにする作業とそうでない作業
これは僕も最近気をつけていますが、「マルチタスクにするべき作業」と「マルチタスクにするべきではない作業」があります。
何でもマルチタスクにしていると、
- どの作業をどこまでやったか忘れる
- そもそも裏で実行していることを忘れたる
などのミスを起こしやすいです。
例えば、
- ビルドは1時間くらいかかるし、ビルドが終わったらその作業は完了なので、ビルドの間に他のタスクをやろう(マルチタスクにする)
- デプロイは10分くらいかかるけど、終わったらすぐに動作確認が必要で、手順もミスしたらまずいので、デプロイしている間は他のことをやらずに待とう(マルチタスクにしない)
といった判断を僕はしています。
仮想デスクトップを使う
デスクトップが散らかっていると作業に集中できないので、仮想デスクトップを使って「その作業専用の仮想デスクトップ」を作ります。
僕は今まで「切り替えるのが面倒」という理由で、仮想デスクトップを使っていませんでしたが、これからは使ってみようかと思います。
例えば、
- ブログを書く仮想デスクトップ
- 仕事の仮想デスクトップ
と分けます。これで「仕事中に突然ブログを書きたくなる」ことがなくなります(あんまりないけど)。
シェルのウィンドウをたくさん開く
これはすでに実践済みなのですが、シェルのウィンドウをたくさん開くのはおすすめです。
例えば、Apacheの設定を書き換えて動作確認するとき、
- vimを開いて編集するシェル
- Apacheの再起動をするシェル
の2つを起動しておくと、vimを閉じたり開いたりする手間がなくなります。
顧客からの割り込みが来た場合
「顧客」はお客さんだけではありません。連携している他の開発チームの場合もあります。
例えば、他の開発チームから「このAPI、このレスポンスが足りていないので、追加してもらえますか?」と質問されることがあります。
この時、僕が取りうる選択肢は3つです。
- 誰かにお願いする
- バックログなどにタスクとして積む
- 今すぐやる
「今すぐやる」
- この選択肢は、よほどのことでない限り取りません
- システムダウン等の緊急事態の時
- バックログにするよりすぐできる時
- 「今すぐやる」と集中力が失われたり、元の作業に戻るのが大変になるためです
「誰かにお願いする」
- Slack等を使っている場合、自分がやらなくても誰かがやってくれることもあります
- 自分以外の誰かがやる場合、顧客に「誰がやってくれるのか」明確に伝えておくことが重要です
- これを伝えないと、次回また僕のところに問い合わせが来ます
- これを伝えることで、「対応してくれてる感」が出ます
「バックログなどにタスクとして積む」
- 「このようにバックログに積んでおいたので、後で調査します」と伝える
3つの選択肢を説明しましたが、いずれの場合も、相手に伝えることで「無視していないよ」とアピールすることが大事です。顧客が信頼を失うのは、「無視したとき」ではなく、「無視されたと感じた時」だからです。
また、「誰かに頼む」「バックログにする」「すぐやる」いずれの場合も、これをした直後に、自分の脳内からこのタスクを消し去っても問題無いようにします。作業に集中できます。
間違っても「バックログに起こすのは面倒だから、覚えておいて後でやろう」と考えてはいけません。「忘れる」か「覚えておくことに気を取られて集中できない」のどちらかになります。
まとめ
2章はすでに実践していることが多かったのですが、仮想デスクトップだけは実践していなかったので、まずはこれを実践していく予定です。
次回は「定型的タスクのルーチン化」について学びます。