emahiro/b.log

Drastically Repeat Yourself !!!!

今年の MVP を獲った話

Overview

技術的な話ではないですが、現職での1つの節目として2021年の年間 MVP を獲ることができたのでそのことについて少し書こうかなと思って筆を取りました。深夜のノリで走り書きしてますのでそのつもりで読んでください。

前書き

まず、こう言った賞をもらうのはエンジニア人生で初めての経験で、普通に嬉しかったです。というかめっちゃくちゃ嬉しかったです。

自分としても引き続き裁量を与えてもらった中で、去年から試行錯誤して小さく実行してきたアウトプットが評価された形での受賞でした。もちろん、個人だけでなく、チームとしての活動を評価されての受賞でもあり、僕1人の力で取ったわけではなく、関わった人たちに “獲らせて” もらった賞でもあります。一緒に仕事をした人方みんなに本当に感謝しています。

なお、これはキャリアの一つの節目として考えたことを淡々書いている文章です。自慢っぽくならないように注意してますが気分を害された方がいらっしゃった場合はすみません。先に謝っておきます。

何をやってきたのか

プロダクトや業務として具体的に何をやってきたのか?ということについては書けないこともあるので割愛します。しかし去年からどういうことを仕込んで1年間実行してきたのか?ということについては今年の会社のアドベントカレンダーに書いたのでぜひ読んでもらえればと思います。

medium.com

個人的な振り返り

上記のエントリについで個人的な振り返りをしてみると、この2021年というのは コードよりチームとプロダクトについて考えた年だった ということになるのかなと思います。

誤解してほしくないので先に書いておくと、実装に関する時間はあんまり減ってません。なぜなら細々した改善や、気づいたら直してたり、ライブラリのバージョン上げたりと言ったサブタスク系のことはちまちまやっていたからです。ただ、それでもプロダクトの本流の実装という観点から見ると、そこから離れる時間が多かったのは事実です。

今でもコードを書くのは好きですし、できるならコードを書いていたい気持ちはありますが、今年に限って言えば、自分がコードを書く以外のことに注力した方が全体としてスループットが出そうだったのでそちらを選択した年だった、ということになります。

なぜそう思ったのか考えてみると、去年からプロジェクトをリードする役割を担う中で、組織の中で自分がどう振る舞うのが、プロダクトやチームにとって1番いいんだろう?と考えたときに、実装よりも実装に入る前段階にコミットした方が全体としてのスループットが出せそうだし、その “前段階” にコミットすることに対して僕は “ネガティブ” な気持ちにならなかったからだろうと思います。

コードから離れることに抵抗感を感じる人がいるのは事実ですし、僕もそう思ってた1人ではあるんですが、一方でチームを作って実際に実行そのものに責任を持つ役割になってみてわかったのは 機能要件の実装力だけでは解決できない問題がある こと、そしてその問題が機能要件の実装のボトルネックになっていたことでした。ボトルネックを見つけたら改善せずにはいられないのがエンジニアの性だと思うので、結局僕がやっていたのはコードは書かないけど “エンジニアリング” に近いことだったのかなと思います。

例えばコミュニケーションに関するボトルネックを改善する試行錯誤の作業とか結構面白かったです。以下のエントリに記録として残してます。

ema-hiro.hatenablog.com

ちなみに最初にも触れましたが、コードから離れた割にはコードを書く時間は減らず、むしろ Director が PM やってるプロジェクトの実装担当に緊急アサインされて、ゴリゴリコード書いてたり、プロジェクトチーム外で突如発生したタスクを巻き取る形でゴリゴリコード書いてました。

結果、作業時間が2倍になっても単位時間あたりの生産性は個人としてはあまり進歩がなかったので、単純に労働時間が増えました... 。
寝不足で白髪が爆増したのが本当に悲しかったです...。

まぁつらつら書いたのですが、チームやプロダクトのことを考えていたとしてもアプローチの仕方はエンジニアチックだったりしたので、案外コードから離れてもエンジニアリングから離れることはできないんだなーって個人的に気づけたことはいい学びになりました。

余談: 憧れを実現するにはベースが大事

ポエムです。ここに書かれる文章は完全に余談で、ちょっと生意気なことを言ってるかもしれませんが、ここ1, 2年ずーっと考えていたことを文章にしてみます。

今年の僕の役割というのはいわゆる “企画も開発もするエンジニア” とか “プロダクトにも口を出すエンジニア” という類のものになると思います。これは自分がこの世界に飛び込んできたときにある種憧れていた役割そのものであり、こう言った憧れを持ってこの世界に飛び込んでくる人ってたくさんいるんじゃないかと思います。(技術そのものが好きだったり、と言った方もいると思いますのでこれが全てではないことは重々承知してます)

ただ、この役割を担うにあたり、ふと振り返って思ったのは、僕は今年コードにそこまでコミットしなかった、言うなれば技術的な側面については新しい何かを業務の中で学んだということはなく、完全に今までの貯金を切り崩して仕事をしていたことでした。もちろん小さいところで新しく知った知識みたいなことはたくさんあります。しかし、単純に技術的に何か伸ばせた!新しい技術要素をキャッチアップしてプロダクトにぶち込んだ!みたいなことは今年はせず、安全運転&現状維持だったのが 2021 年です。

この技術的には特に伸びを感じなかった1年の中で自分が憧れていた役割をある種全うできたことをふと考えると、自分の中に “CRUDするだけの API であればサクッと作れる”、 “業務レベルであれば Go について1から調べる必要がない程度には習熟してる” というベースのスキルがあったからだと思います。(ここだけ読むと無限にマサカリが飛んできそうな文章書いてますね僕。笑)

別に Go について完全に理解したとも、ややこしい仕様の実装であれば一筋縄でいかないことも重々わかっていますが、ここで言いたいのは ググらなくてもある程度業務レベルで戦うことのできるベースのスキルを持ってることはレバレッジをかける上で保険になる ということです。

エンジニアとして色んな役割をこなしていきたいと思うことは素晴らしいことだと思います。プロダクトにもコミットしたいし、分析して改善できるようになりたいし、アプリケーションからインフラまで理解してコミットしたい、いわゆる “フルスタック” なエンジニアは誰しも一度は憧れると思いますが、時間は有限(1人に割り当てられた1日の時間は24時間しかない)で、その中で全てをこなせるようになる、というのは相当な天才でもない限り難しいことかなと思います。

ただ、それを求められることもあるわけで、そうしたときに有限な時間の中である程度仕事をマルチにこなしていくためには、一定 “ググらずともなんとかなるスキル”、いわば自分でコントロールできる範囲をもっておく、というのが大事になります。スタートアップにおける技術選定で「新しいことよりコントロールできることを優先する」ことと似ていると思っています。

昨日まで実装してた人に急に PjM をやってくれ、なんて言って急にできる人は稀です。急に出る人はよほど準備をしていた人です。大体は知識を入れながら、多かれ少なかれ試行錯誤してある程度ものになる、みたいな状況になるとおもいます。プロジェクトのことをも進めながら技術面では都度ググりながら実装していく、といった高強度なマルチタスクをこなしていくのは相当きついです。何よりスループットが全然上がって来ないと思います。なぜならググるのにも時間がかかるからです。ある程度習熟してるスキルを使うのであれば、ググらずとも実装できますし、仮にわからなくてもコードジャンプ使ってソフトウェア本体のコードを見て解決したりできます。完全にエディタの中で世界が閉じているのでブラウザを開くオーバーヘッドはありません。一回は大したコストではないかもしれませんが、このオーバーヘッドの差のチリツモが、不確実性を相手にする上での大きな差になってきます。

そもそも別の役割をこなすということは、キャリアにレバレッジをかけていく、ということになります。自分で自分にリスクをかけるわけです。リスクを取る時の基本は、失敗しても “死なない" 程度の保険を予めかけておくです。”ググらずともある程度戦えるスキル” というのはこの保険に該当します。何の保証もなくリスクをとる、ということはそもそも事業会社においては極めて稀でしょう。自分ごととして考えてみても、足元が不安定な状況でさらに負荷をかけられたらすぐに倒れてしまう可能性が高くて、チャレンジできないなと思ってしまいます。

僕の周囲のエンジニアは、みんな2, 3領域においてベースとなる(何かあってもコントロールできる)スキル持ってる方がたくさんいます。本当に尊敬します。そう言った人が率先してプロダクトやプロジェクトをリードする役割を担っています。僕も何度その専門性に救われ、そして自分のスキルの無さを嘆いたかわかりません。

そういう経験を経て、自分もある程度ベースとなるスキル(ググらずとも実装できる範囲がある程度ある + 効率的なググり方 or 最速で回答を得られる質問の仕方とその回答を理解する程度の知識)があるからこそ、自分が昔思い描いていたそれっぽい仕事の仕方をできたのかなと思いますし、経験したことのなかった「チーム作り」という業務にチャレンジして、少なくとも死なずに今年を終えることができたのではないかと思います。

"何となる or させる" 力があることは別の領域に越境していくときの必要条件です。そういう意味では、昔から言われてることですが、1つのスキルをある程度深掘りする、というのはこういう時に効いてくるんだな、ということを身をもって体験しました。

ポエムの章はサクッと終わらせるつもりが思考をそのまま吐き出したので、思ったより分量が多くなってしました。

最後に

そういえばこのエントリで “節目” とか書いてますけど、現職を特に辞めるつもりはないです。笑

あとこれは現職でも話したのであえて再掲ですが、こう言った賞を取ることは自分もキャリアの中で1つの目標にしており、受賞できてとても嬉しかったので、これからは自分と一緒に仕事をした人に受賞してもらえるようにサポートしたり、そういった機会を作ってあげたいなと思いました。