普段の仕事において、会社に所属している場合、個人が手を付けられる仕事は膨大な量になる。しかし、人の時間は短く、儚いため、全てをこなすことは難しい。よって、僕の嫌いな言葉の一つである「優先度」や緊急性に基づき、なにかしらの判断を行い、仕事を選択することになる。これらの行動をこの記事ではトリアージと呼ぶ。
普段自分がトリアージを行うなかで、無意識に判定していることがいくつかあるので考えてみた。
- この仕事が生む効果はどれくらいか?
- この仕事が生む効果はいつから発生するか?
- この仕事は人類に求められているか?
- この仕事は今の自分の能力ですぐにできるか?
- この仕事はどれくらいで終わるか?
この仕事が生む効果はどれくらいか?
大体の尺度は、金額もしくは時間で計測している。例えば、何かしらの機能の開発によってもたらされる金額、工数削減によって削減できる経費、または人の時間。これがどれくらいあるのかを考える。
この仕事が生む効果はいつから発生するか?
例として、CIの高速化といった仕事であれば、次のCI実行から、短縮した時間分の削減が始まる。一方でライブラリのバージョンアップなどは新しく追加したAPIなどが利用されるなどバージョンアップによって生まれた差分が必ずしも即時に優位性を生むかはなかなか分かりづらい。
この仕事は人類に求められているか?
言い換えると周囲の期待があるかどうか、自分がやりたいだけなのか?そういうことを考える。
この仕事は今の自分の能力ですぐにできるか?
自分がふだん触っている言語がいまだとRuby、Go、PHP、Cなのだが、今すぐにJavaでプロダクションレベルのコードを書けと言われると書けない。よって、Javaのベストプラクティスを学ぶために書籍を数冊読み漁り、GitHubでいくつか著名なライブラリを読む。そういった作業が必要かどうかということを考える。
この仕事はどれくらいで終わるか?
着手してからどれくらいで終わるかを考える。前項と重なる部分があるが、事前学習が必要な場合は自ずと完了までの時間は遅くなる。
これらの尺度をどう使っているのか
僕が一番最初に考えるのは、「この仕事はどれくらいで終わるか?」だ。例えばアラートが通知されたときに、調査の結果、監視のしきい値の問題ということがあれば、妥当な値を考え、その場でもう変更してしまって、その仕事は終わらせてしまう。わざわざGitHub Issueを書いて伺いをたてるようなことはせず、最初からPRを作って周知して終わらせる。
次に考えるのは「この仕事が生む効果はどれくらいか?」「この仕事が生む効果はいつから発生するか?」だ。自分のリソースを使って、何かしらの成果を出すわけで、
自分のリソース < 成果
にならないと意味がない。またその成果が発揮されるのが遠い未来であれば、それは未来の借金を先払いしているようなものであり、そういった仕事の選び方はあまりしない。他方で、言語、ライブラリののバージョンアップなどはやらなければらならないで、未来の借金がとても大きくなってしまうので、リソースの状況に応じて取り組むようにはしている。
そして次に考えるのが「仕事は人類に求められているか?」だ。これは組織、上司、同僚から期待されている仕事かどうかということなのだが、今はめちゃくちゃ自由に仕事をさせてもらってはいるものの、あまり自分の興味、やるべきと思うことがそんなに組織とずれていないはず???と謎の自信を背中に背負って生きているのであまり考えていない。
そして、最後は「この仕事は今の自分の能力ですぐにできるか?」についてだ。これは暗黙的に常に考えていると思う。例えば今の僕に、機械学習の推薦システムをすぐに作れと言われても、すぐには作れない。理由は簡単で普段やっていないし、積極的にインプットしている領域でもないからだ。つまり、日常的な活動によって、自分が活躍できる、貢献できる領域は暗に決定されていることが多い。そして、その暗に決定されている領域を少しでも増やすために、日々、本を読み、人よりコードを書き、ニュースを見て、Twitterでダジャレを眺めるわけだ。むしろ、自分が手が出ない領域は戦わずして負けていると言っても過言ではない、くやしい!!!!くやしいぞ!!!!!!!1
いやー、悔しいのですが、まとめると、自分のできることの中から、効果が大きく、効果の出るのが早く、なるべく早く実現できて、周囲にも期待されていることから取り組んでいる。社内においては一言、「金になることからやる」とばかり言っている。
仕事は本当に無限にあるので、こういう尺度を自分の中で持ち、取り組んでいくのがいいと思う。