人生にも async を
TL;DR
- 新年一つ目なのでとりあえずぽえむを書こうと思った
- うまいこと思いついたつもりだったんだけなんか微妙かも
- 要は life hack 系の話になった
人生って single thread
いやまぁそうですよね、って話なんだけど、結局自分自身の人生を実行してるのって自分しかいなくて。
人生の総時間を CPU 時間とでも言い換えることもできて、とはいえずーっと何かし続けることはできなくて、その時間の中で寝る時間とか、ご飯食べる時間とか必要だしねと。
いかに async にするか
じゃあいろんなものを async していくと全体のパフォーマンスは上がっていくよね、と思った時に何が async にできるかと。
逆に何が sync でしかできないことなのかと。
例えば仕事において sync でやるようなことを考えてみると。
- 打ち合わせ
- 対面でも Teams でも Zoom でもいいんですけどやっぱ時間とるよなと思いますよね。それがなぜかって考えると sync でしか実行できないというか、純粋に時間とられるんだなと考えました。やっぱ打ち合わせは積極的に減らしていかないといけない
- 自分のロール的に丸一日のワークショップとかをやるときもあるんですが、一日が一瞬で過ぎていきますね
- (タバコとかの) 連れ立っていく休憩
- あたしゃタバコは吸いませんが、タバコ休憩とかって割といくと 15 分とか直ぐ過ぎるよなーと。完全に悪だとも言えませんが、頻度とかは考えないとなと
- 雑談の重要性はこのコロナ禍においてより高まっていると思いますが、だらだらと話過ぎてもなというところのバランス感が難しいですね。ちょっとさっと話してまた集中力高めに戻るような感じを目指したい
端的に言って自分の時間を「取られる」ようなイメージのものでしょうか。
こういうのを減らしていくと、自分のことをやる時間をとることができて、よりパフォーマンスは上げられると感じます。
逆に async でやるようなことを考えてみると。
- 人に仕事をお願いするようなやつとか
- まさに async だなと思いますが、だれかに仕事をお願いして、自分は await で待っておいて別のことをやるってのがこれにあたるかなと
- これがほんとにうまくいくようであれば自分自身のパフォーマンスは上げられるんだろうなと思います
- とりあえず依頼のメール投げてあっちボールにしちゃお、みたいなのはこれなんですよね。うまくタスクが振れて async にできれば、自分のパフォーマンスは上げられます
- 今やらなくてもいいけどいつかやらなきゃいけないようなこと
- これは async っぽくはないと思うけれども、優先順位をつけて一旦わきによけておく、というのもひとつあるんじゃないかなと
- Todo リストとか、名前は何でもいいんですけど、何か仕事を依頼されて割り込みが入って、それですぐタスクを切り替えていくよりかは一旦タスクリストに積んでおいて、今やるべきことに集中できた方がトータルのパフォーマンスは高まるのかなと
- 何が async method になるか、みたいな話と掛けて考えてみると、んじゃそのタスクがどれほど時間がかかるかによってそれを sync/async どちらでやるかが変わるんだなと思います
こういうのを増やしていくと、(他人の時間は取っているわけですが) 自分のパフォーマンスは上げられると考えられるかなと。
iPhone の リマインダー アプリ
この記事を書こうと思ったのも結局これなんですけど、だいぶ前から iPhone の Reminders アプリを使っています。
ベッドに横になってるときとかに、そういえば、とかって思いつくこと、思い出すことがあると思うんですけど、そういうのを一旦登録しておきます。
今すぐやるわけじゃないけど、いつかやらなきゃな、と思うことであったり、これちょっとやってみたいな、とか思うことがいっぱい積まれていきます。
なんかこれって async っぽいな、と思ってこの記事を書こうと思ったんですけど、全然 async っぽくはないなと思い直してなんだかなぁと思っているところです。
短期的な記憶ってどんどん忘れていってしまうので、どんどん外部記憶に頼っていこうって話でもあるかもしれないです。
課題としては、お風呂でなんかあー、と思い出した・思いついたときに書ける場所がないのをどうしようかなとずーっと悩んでいます。
おわりに
どっかに入れたかったんだけど書ききれなかったのでここに書き残しておきます。
いかに async で仕事ができるか、が、このコロナ禍における組織のパフォーマンスに大きく影響を与えてると思っています。
sync でしか仕事ができなかった組織がかなり割を食っているんじゃないかと思います。
対面での仕事、sync での仕事に頼りすぎず、いかに async にできるか。
一方で、async でやるためには組織の構成員それぞれのパフォーマンスがそれなりに高い必要があります。
async、つまり仕事をお願いするようなことを考えた時に、俺がやった方が早い、ではない、一緒にやってもらった方が早い、を目指さなきゃいけない。
それに加えて信頼関係も非常に大事だと思っていて、この async を究極まで突き詰めるといろんな人に丸投げしまくる、ってことになるんですが、これじゃあ嫌なやつなんですよね。
相手にとって成長につながるような、面白い、都合のいい仕事ってなかなかあるものでもないですが、持ちつ持たれつでいい組織にできるといいんじゃないかなと。
組織として一つになって、それぞれの強みを生かしつつ、総体としてはがんがんばりゅーが出せていく、そういうのを目指したいです。
async で依頼出して await で待ってたら、なんか意外と response 早いな???みたいな意外性を求めていきたい。
極論として、自分がやるよりだれかがやるのが早いならお願いしたいし、誰かがやるより自分の方が早ければどんどん頼ってもらっていいのかなとか。
とはいえこういうのってプロ集団っぽいというか、新卒でこの組織にうまく混ざれるか、って思うと自分でも悩んだんだろうなとは思う。
Discussion