「居心地が悪い」状態を「楽しめる」かが、自分の成長のコツかもしれない
先日、自分の同僚の Anjana を観察していてふと気づいたことがあったのでシェアしたいと思う。彼女は比較的新しいメンバーで大学も出たてだが、めっちゃ優秀で、たまに彼女のメンタルモデルを質問して学ばせてもらっている。
新しい Http Scaling の Buddy
最近 Anjana が自分の担当している、Http Scaling の領域を私と一緒に受け持つようになってきた。この領域は最近まで私しか担当が居なかったので、Pull Request のレビューで苦労したり、一人だったら休暇もとりにくい。だから Buddy 制をとっているのだが、私の Buddy は居なかったので、Pragna が彼女をアサインしてくれた。
もちろんめっちゃくちゃ優秀な人であっても、初めてなので、 最初から難しいタスクは厳しいだろうということで、これ修正箇所もすくなそうだし、簡単そうだなぁ。というタスクが彼女に割り当てられた。
優秀な人の Attitude (態度)
優秀な彼女だから、直ぐ理解してやっちゃうんだろうなぁー。と思っていたら全然違った。私が「こんなん簡単で数行直して終わり」と思っていたものに彼女はしっかり時間をかけてくる。私だったら、問題に対して、「ここを直せばOK」というのがわかったらテストして終了する。しかし彼女は違った。
その数行を変えるだけのタスクで彼女が「こういうコンディションではこういう事が起こるのではないか、それを考慮すると何かしないといけない」と言ってきた。それは、既知の問題で、すでに我々で話をしており、現在は手をつけないで、設計含めてもう少し先で手を付ける予定にしている既知の問題だった。だから、「ああ、それは、既知の問題で将来やる予定になってるよ」と言った。
自分の納得を中心に考える
自分だったら確実に「ああそうなんだ。じゃあ今はそれ考えんとこ。」と思うところなのだが、彼女は納得していないみたいで、「こういうコンディションでこういう問題が起こるんじゃない?」とスレッドを立ててくれた。
だから、「確かワークアイテムがあったような…」という話をしていたら、彼女はワークアイテムを自力で探してきて、みんな理解して、該当するのが見つからないという。
自分もワークアイテムを探してみていると、確かにそのコンディションに関する記述がない。私たちは設計含めて先送りにしているので、深く考えていない。だから、私はどういうことを話し合ってどういう結論になったかを彼女に説明して、そのワークアイテムをアップデートした。
居心地の悪い状態を受け入れる
改めて彼女は優秀だなぁと思うとともに、振り返って考えてみた時、自分がいまいちな問題が見えてきた。それが、タイトルにも書いた「いごごちの悪さ」を楽しむ Attitude だと思う。日本のカルチャーだと彼女のことをうざいと思う人もいるかもしれない。でも、考えてほしい、自分が受け持った全然知らない分野での初めての簡単な仕事で、その周辺の事も見たこともないコードを見て理解して、考えてシンプルな一つの仕事を「簡単」と馬鹿にせず、しっかり遂行しようというスタイルは本当に素晴らしい。上司に言われたからいいやー。じゃないのだ。
彼女は、また、インシデントの処理を沢山やっている。マネージャに正式に依頼されたわけではないと思うのだが、いつもインシデントのミーティングに参加している。自分にとってコーディングは楽しいけどインシデントはちょっと辛い。でも彼女にとっては新しいことを学べて自分も強くなれる楽しい場なのかもしれない。
冒頭に紹介したタスクだが、そのあと彼女はテストのパターンはどんなのがいいかとかも聞いてきて、全く早くなかったが、「完璧」に仕事を終えた。マジ素晴らしい。
速く終わらせないと自分に無能感を感じるから
なぜ自分は違うスタイルをとっていたかというと、自分にタスクがあると、それを早くおわらせないと、居心地が悪いからだ。自分が早く終わらせないと無能な気がするし、コンサル時代の癖で自分にアウトカムを求める癖がある。しかし、ソフトウェアエンジニアリングのお仕事の場合、「理解」がめっちゃ重要なので、終わっていない「居心地の悪い状態」をむしろ楽しんで、完璧に理解してコントロール配下に少しづつ、少しづつ置いていく Attitude の方が良い気がしてきた。
それからは、自分も、何かの問題を解決する必要があるときでも昔だと、「速く終わらせる」というスタイルだったが、速く終わらせるのではなく、挙動を理解して、本当の意味で完了させる(時間はかかっても良い)という考え方に変えた。
中長期的なバリュー
「居心地の良い状態」は生産性が良い状態なので、例えばコードベースのこともよくわかっていて、速く仕事をこなせる状態だけど、それは何かを学んでないという事にもなる。「居心地の悪い状態」は何か知らないことがある状態の事でもあるので、それを知る行為を楽しめればうより成長できることにもなる。
マネージャの視点から考えても、「新しいことをやらないけど、簡単な仕事を沢山早くこなす」という人と「あの人に任したらめっちゃ難しい問題でも解いてくれる」という人が居るとすると、後者の方が喜ばれる気がする。もちろんそれが早かったら言うことがないが、それは「速くなる」ものであり、「速くするもの」ではない。
自分はプログラマとしてのセンスが無い
最近の自分は、良いエンジニアになるためのセンスが足りないと思っていて、「センスの足りない状態」というのは、自分が認識できていない物理的な何かが不足している状態と考えているので、これからも探求していきたい。今回の記事のセンスの違いに関してはADHDの先送り癖に関係しているかもしれない。早く終わらせようとするのもその関係もあるかもしれない。しかし、彼女は決してそれをしない。
また、何かに気づいたらこのブログに書いて忘れないようにしよう。
自分の書籍ですが、未だにたまにセクション1位になったり、Most Gifted になったりしてありがたいです。10万部まであと少しなので、いくといいなぁ。こんな感じで私がアメリカでクラウド開発のエンジニアをやってまして、周りの優秀な人々を観察して得た気づきや、開発文化の違いなどを紹介しています。