学習時間をどうやって確保するか

エンジニアは常に学習を続けなければいけない職業です。
日々新しい技術やテクノロジーが現れ、その中から自分に必要な知識を効率良く身に付けていかなければなりません。
そんなことは分かっていても、いざやってみると日々の業務やタスクに追われ中々学習に時間を使えない。そんな方はとても多いのではないでしょうか。
かくいう私も勉強したいこと・身に付けたいことに対してあまり時間を使えておらず、日々の業務でいっぱいいっぱいになりつつあります(この記事もアップが遅れしまいました・・・)。
そんな時にたまたま読んでいた書籍で、時間の使い方やタスク処理の仕方についてとても分かりやすくまとめられているものがありました。個々の内容は聞いたことがあるものもあるかもしれませんが、それらがどう互いに関わっているのかが体系的にまとめられていたので、今回はその内容をかなり大まかになぞって自分のやっていることや、使っているツールなども併せて紹介してみようと思います。
実際の書籍はもっと分かりやすく詳しいので気になった方は是非購入して読んでみてください。
タスクを選択する
タスクを効率よくこなしていくにはタスクを1つに絞ることが重要です。
業務の中で複数のタスクを同時に抱えることは日常的にあることかと思いますが、その時にあれもこれもと同時にタスクを処理しようとすると上手くいかずに最終的に何もできていなかったという経験はないでしょうか。
もちろん複数のタスクを同時に処理できる場合もありますがそれはタスクの内容を明確に把握していて、そのタスクにどの位時間がかかるのかということが分かっている場合です。(前回この処理の実行には5分掛かったからその間に他のタスクをやろうなど)
人によってはタスクの複数処理ができるというような人もいますが、その人は各作業にどれ位の時間がかかりそうかという見積もりや切り替えが上手なのであって実際に作業をしている瞬間には一つのタスクを処理しているはずです。
多くの方はタスクの複数処理が難しいということを経験から無意識に理解していて、まずこれをやろう次にこれをやろうという風に頭の中で考えられていると思います。
ですが、その際に気をつけなければいけないのは自分のタスクを全て把握していること、そのタスクの優先順位を把握していることは意外と負担になるということです。
GTD
GTDとはGet Things Done
の頭文字を取ったもので、直訳すると物事を成し遂げるという意味になります。
GTD(Getting Things Done、ゲッティング・シングス・ダン)とは個人用のワークフローの管理手法である。デビッド・アレン(David Allen)が同名の書籍『仕事を成し遂げる技術 ―ストレスなく生産性を発揮する方法』(原題: Getting Things Done、2002年)の中で提唱する。ハッカー文化の一つで、LifeHack(ライフハック)の中でも代表的なものである。
「ナレッジワーカー(知識労働者ないし頭脳労働者)の仕事術」と呼ばれ、「次に何をやるか」という予定やスケジュールの管理、作業する上でのモチベーションを損なわないための体制作りなどが含まれる。心理的な負担を減らしながら個人の生産性を上げることを主眼とし、簡単な5つのステップを実行することによって成し遂げたいことを現実にするメソッドである。基本はなすべき仕事のリストを何かに記録しておくことで、頭の中からなすべき仕事のことを追い出すことである。これで頭の中はすべき仕事全部を覚えなくてもよくなりすっきりとし、リストに基づき実際の仕事をこなすことに集中できる。
https://ja.wikipedia.org/wiki/Getting_Things_Done
GTDは上記の引用にもあるように、今日やることは今日やること、明日のことはまた明日やるという風にタスクを管理する負担を減らそうという仕事術です。
この説明だけを見ると一般的なToDoリストと代わりが無さそうに見えますが、GTDの考え方で異なるのは気になる事は全て書き出して集めるという事です。初めからタスクを作るのではなくて気になることは全て書いておくということですね。
例えば「ここのコードは時間がある時にリファクタリングしたいな」と思った際に、「ここのファンクションをリファクタリングをする」というタスクを作成するのではなく、「ここはリファクタリングした方が良いかも」というようなレベルで書き留めておきます。この気になることをあるタイミングで処理・整理してタスクとして切り出していきます。
具体的にGTDは以下の2つのフェーズからなります。
- 収集フェーズ
- 処理フェーズ
繰り返しになりますが、集めながら処理をしないことがポイントです。
収集フェーズ
頭の中にある全ての気になっている事を集めるフェーズです。
本当にやらなくてはいけない事なのかは考えず、ひたすら書き出していきます。
本来のGTDではこのフェーズに1時間から6時間ほどかけるとされているようですが、私の場合は20分くらいでざっと出して思い出した時に追記していく形にしています。
重要なのは頭に浮かんだことを全て追加するこということです。
処理フェーズ
処理のフェーズでは収集フェーズで集めたものに対して以下のように考えます。
- 行動を起こす必要があるか
- どういう結果が求められるか(=ゴールの明確化)
- 次にどんな具体的な行動をとるか
考えた結果、行動をとる必要があるとしたものについてさらに以下のように処理していきます。
- 次にとる具体的な行動が複数あれば「プロジェクト」にする
- 次にとる具体的な行動が2分以内でできるなら今やる
- 次にとる具体的な行動が誰かの行う結果が必要なら連絡待ちリストに入れる
- 次にとる具体的な行動が特定の日程に行う必要があるのであればカレンダーに書く
- これらに当てはまらないものは次にやるべきリストに入れる
そして分類されたタスクを上から消化していきます。
おすすめアプリケーション
これらのGTDを行う媒体はなんでも良いとされています。ノートに書き出したり専用のツールもあるのでそれを使っても問題ありません。
その中で個人的にオススメのアプリケーションを紹介します。
Things 3はMacやiOS端末で使用できるタスク管理アプリケーションです。
GTDに必要な機能を全て備えていてそれでいてシンプル、カレンダーとの連携などもこなすとても優秀なアプリケーションです。他のアプリケーションも使用してみましたが個人的にはシンプルだけど細かいところにも手が届き、かつ美しいこのThings 3に落ち着きました。
詳細な使い方などのレビューはここではしませんが、興味のある方はチェックしてみてください。
重要タスクと緊急タスク
タスクには重要度と緊急度があると思います。重要なタスクとは「自分がやるべきこと・価値観・優先順位の高い目標達成に結びつくもの」、緊急タスクとは「すぐにやらないといけないように見えるもの」です。
Stephen R. Covey氏の「7つの習慣」でこの二つのタスクの関係性について述べています。
Covey氏はこれらの2つの軸を組み合わせて以下のようにタスクを切り分ける必要があるとしました。
- 重要で緊急なタスク
- 重要で緊急でないタスク
- 重要でなく緊急なタスク
- 重要でなく緊急でないタスク
1のタスクがあまりにも多いとタスクに追われた毎日になってしまいます。そのために2に時間を使うのが効果的だとしています。
2のタスクは自分にとって重要だが今すぐやらなくても問題はなさそうなタスクのことです。これは例えば「何かを勉強する」や、「何かのために読書をする」ことなどです。つまりここが学習時間など自分の成長のために使える時間ということになりそうです。
3のタスクは外部から緊急でやる必要があるという風に訴えかけてくる場合が多く、逆に2のタスクは自分がやろうと思わないと訴えかけてくることがないタスクです。日々割り込んでくる3のタスクに時間を取られすぎていると1と3のタスクに追われて、2のタスク、すなわち学習時間を確保することができなくなってしまいます。
そこで2の時間をいかに確保するかということになりますが、もちろん1から時間を切り出すことは不可能です。そこで3,4のタスクを後回しにして2の時間を確保する必要があります。4のタスクを後回しにすることは簡単ですが、問題なのは3のタスクをどう扱うかということです。
全ての3のタスクを消化しようとするのではなく、誰かが今やってくれと言っているタスクは本当にその通りやる必要があるのか、また3のタスクを引き受ける代わりに他の3のタスクを巻き取って貰えないかなど、主体的に自分の頭で一度考えてみる必要があります。
タスクの大きさ
日々のタスクを遅れなくこなしていく上で、一つ一つのタスクの大きさはかなり重要な問題になってきます。
タスクがあまりに大きい場合はなかなか進捗があがらずタスクを行うやる気が削がれます。人間の集中力は最大2時間しか続かないというような言葉もある通り、やってもやっても終わらないタスクを集中して行うというのは効率の良い方法とは言えなそうです。
一つのタスクを細かく区切ることができればゴールが近くなり、集中を継続することが簡単になりそうですがタスクをさらに分割することもそれ自体が労力の使うタスクになってしまいます。そこで使えるのがタイムボックス化
です。
タイムボックス化
タイムボックス化はタスクの作業内容で区切りをつけるのではなく、タスクを時間で区切るというテクニックです。
特に大きさの分かりににくいタスクについて効果的で、タスクの完了はまだまだ先でもあと15分で一旦休憩しようと区切ることができるので集中力が持続します。
このタイムボックス化を使ったタスク実行テクニックがポモドーロテクニック
です。
ポモドーロテクニックは25分で区切られた「1ポモドーロ」を繰り返し実行していく方法です。1ポモドーロ作業したら5分間の小休憩、4ポモドーロごとに中休憩を取っていきます(1ポモドーロの時間設定や休憩の設定は自分のやりやすい方法に変更します)。
この方法を実際にやってみると集中している際の25分はあっという間ですが、集中できていない25分はとても長く感じます。ですがあと5分で休憩できるんだと考えることができるのでそこまで苦痛はありません。
25分で休憩するというと休憩しすぎなんじゃないかと思うかもしれませんが、普通に作業をしていてもトイレ休憩や飲み物を取りに行ったり何かと作業を中断していることがあるので意外と休憩しすぎ感は無いと思います。
このポモドーロテクニックを行うメリットは上で述べたように「やる気・集中力の維持」ですがも一つのメリットが「見積もり能力の向上」です。
大体2ポモドーロくらいかかるかなと見積もっていたタスクが3ポモドーロ掛かってしまったとなった時に、この25分の誤差は普通に作業をしていた場合には無視しがちですが(そもそも遅れているとも思わない誤差かもしれません)、ポモドーロテクニックでは明確に1ポモドーロの遅れとして現れます。そしてなんで見積もりと結果に差が出てしまったかと振り返ることができます。つまり小さい単位でPDCAサイクルを繰り返すことができるということです。
実際にポモドーロテクニックを使って仕事をしてみると思った以上に見積もり通りに仕事が進まないことに気付きました。
おすすめのアプリケーション
ポモドーロテクニックはもともとトマト型のキッチンタイマーを使ったことがその名前の由来になっています(イタリア語でトマト=ポモドーロ)。
ですが現在では様々なPCアプリケーションやスマホアプリでポモドーロテクニックを実行することができます。
このBear Focus Timerはスマホ向けのアプリケーションです。
何と言ってもデザインがとても可愛く、ついつい起動したくなってしまうアプリケーションです。
機能についてもスマホいじり防止のためアプリを起動したまま画面をひっくり返さないとカウントが進まなくなる機能や集中を高める環境音再生機能など充実しています。
まとめ
今回はエンジニアが学習時間を確保するにはどんな時間の使い方や、タスクの処理が有効なのかということについて考えてみました。
作業の仕方やタスクの処理の仕方は人それぞれあると思います。
皆さんもオススメの仕事術があれば是非教えてください。