株式会社ヘンリー(レセコン一体型クラウド電子カルテサービスを主力として医療 DX に取り組んでいるスタートアップ)に転職して早くも 2 年が経過しました。 当初は、入社エントリー記事を書くつもりでしたが、あっという間に 2 年が過ぎてしまったため、この節目に振り返りを書いてみようと思います。 あとで自分で見返すために書くので、背景を省いたりしていて、人に見せる記事としてはイマイチだとは思うのですが、書かない・出さないよりいいかなと思い、ここに書いておきます。
入社直後
Henry 開発開始のタイミングでも副業で関わらせてもらっていたりもしたので、入社直後からガンガン開発に携わることになりました。 当時は人数も少なく、メンバーに何名か元同僚がいたというのもあって、すんなり開発に入り込むことはできていたのではないかなと思います。
一方で、電子カルテ・レセコンの開発というのは、入社前に自分が想像していたよりはるかに難解なドメインの塊でした。(レセコンとかそもそも名前すら聞いたことなかったし) この頃に書いたコードは、何一つわかっていないなかで脳死で書いていたもので、いまだに自分が当時書いたコードによって苦しめられたりしています。
当時は、「すんなり開発に入ることこそが自分のやるべきこと」だと信じていたので、無理矢理に溶け込んで走り出すことを目指したのですが、今思えばこれはあまり良くなかった。 きちんと「何を作っているのか」理解していないと、生まれた瞬間から負債になるコードを書いてしまうので、自分のやるべきことは「一つずつしっかりドメインを理解すること」だったと思います。 (といっても当時はそれなりに理解した気持ちになっていたので難しい。)
一方で、 よくわからないなりにひたすら開発に首を突っ込み続けたことが、今でも財産になっている というのも事実です。 電子カルテ・レセコンという、医療現場の ERP であるシステムは、そのカバー範囲が膨大かつ複雑なので、全体をうっすら理解することすらなかなかに難しいと感じています。 当時のまだそこまで巨大でなかったヘンリーのプロダクトやコードベースの時点である程度脳内にマップを作れたことが、いま開発を進めるにあたって有利に働いていると思います。
これは完全に既得権益で、あんまりいいことではないですね。チームで開発を進めていくにあたっては、新しい人が入ってきてもすぐに開発に参加できるように、ドキュメントやコードを整備していくことが重要だと思います。
結局一年くらいはひたすらに開発をし続ける時間だったように思います。あまり覚えていないのですが。 厚労省の資料を熟読してサービスとしての仕様に落とし込むとか、外部機器との連携のために実際に医療機関様の現場にお邪魔してセットアップするとか、転職前では想像もつかないような経験を積む一年でした。
チーム制への移行
入社後一年ほど経ったあたりで、開発チームをいくつかに分けて、それぞれのチームが独立して開発を進めるようになりました。 僕はそのうちの電子カルテ改修チームに所属し、入院版の臨床機能の開発や既存機能のブラッシュアップのためのバックエンド開発を主に担当するようになりました。 この辺はもうちょっとごちゃごちゃとしていたのですが、細かいのと混乱していたのとであまり覚えていないですね...
弊社の開発しているサービスはかなりドメイン知識が必要な分、開発者の知識を移転したりチームを移動したりするフットワークが重くなりがちでした。 僕自身はあまりその壁を感じていなかったのと、薄く広く速くキャッチアップすることには一定の自信があったので、首を突っ込みまくった結果、「もう一方のチームの方もなんとなく分かりつつ、メインでは電子カルテ改修チームに所属している」みたいな状態になっていきました。 なんとなくでも両方のチームのことを把握できている人は多くなかったので、チーム間に落ちる話になると大体出ていくことになり、より一層「両方のチームにまたがる知識」が僕を始めとするチームメンバーに集中するようになっていきました。 (逆に、深いドメイン知識を必要とする部分は、そのドメイン知識を持っている人にしか触ることができず、そちらはそちらで塹壕の中で仕事をしている状態になっていきました。)
これも今思えば罠でしたが、当時の自分はバリューを出せている感を持っていたので、あまり気にしていませんでした。 本当は属人的にチーム間を埋めるムーブをし続けるより、仕組みや構造を改善するべきだったのだろうなと振り返ると思います。
そして育休へ
2022.09 に第一子が誕生し、一ヶ月育休を取得しました 🎉👶 なかなか開発スケジュールがヘビーな中ではあったので、快く送り出してくれたみんなには感謝しています。
戻ってきて
育休から明けて戻ってみると、チーム間連携が以前よりうまくいっていない雰囲気を感じました。 一度離れることで俯瞰視点を得られたというのもあったと思います。
状況的に仕方のなかった面はありつつ、どうにかしないと開発的にも人的にも良くないだろうと感じ、相談の上で僕はもう一方のチームに移籍したうえでチームリードのロールを務めることになりました。 そもそもこの状況に陥らせてしまったこと自体が、全体的に間を埋めるムーブを個人としてやり続けてしまったことの功罪だったかなぁとは思うところですが。 リードといってもチーム間コミュニケーションのインターフェース、くらいの感覚で最初は始めました。
これはすごくいい経験になりました。 改めて開発チームをリードするためにきちんと学ぼうと思い、いろいろ本を読んで得た知識を実践してみたりすることができました。 これはチームメンバーに恵まれたというのも非常に大きいです。何かを僕が提案したとき、大体の場合は「やってみましょう」といってくれたし、本気で懸念がある時はきちんとそれを伝えてくれて議論することができました。
とはいえ、チームをリードするというのはあまりうまくできていなかったなぁと思います。 難易度を上げる要素はいくつかあって、
- 8 名くらいのチームで、タスクの種類もバラバラだったので、密に連携するにはちょっと大きめだった
- エンジニアだけでなくドメインエキスパートも所属していた
- 開発状況が逼迫しすぎていて、自分自身も一人分の開発タスクをまるっと持っていた
- それでもやりたいことに対してリソースが不足している状況だった
という言い訳はあるのですが、ここで少しでも状況打破にプラスに働くようなアクションをとってやり切ることができなかったのは、自分の責任であり反省ポイントだと思っています。
また、みんな自分より社会人経験が長いメンバーで、やり方や考え方も違う中で、うまくチームの目線や方向性を揃えることができず、意思決定や開発の速度を上げ切ることができませんでした。 「会社がどう考えていてチームはどう考えるべきだ、と僕が考えているか」を伝えきれていなかった。
この頃読んだ本の中では、「エラスティックリーダーシップ」が一番印象に残っています。 当時かなりのサバイバル状況だったので、この本を読んで「サバイバルモードでのリーダーシップ」というものを意識するようになりました。 チームに対しても「今がサバイバルモードであること」を伝えて(といってもみんな感じていたことだけど)、共通認識をとり、ガッとものを進めるムーブを取ろうとしたりしました。
印象に残っているポイントとしては、「ドメインが複雑すぎて、チケットの内容を理解するのにかかるコストと、実装するのにかかるコストのバランスが異常に悪い」ということです。 誇張なしに、3 時間かけて理解して 5 分で実装する、みたいなものがありました。 そうすると PjM として僕がチケットの内容を確認し、誰かにアサインをしようとする場合に、非常にムダが多くなる。僕がブリーフィングをするにも、追加で 1h かかりますとなったらやはりムダが多くなる。
しかし、今から振り返ると、このコストは払うべきでした。そうでないと、メンバーのドメイン知識の向上機会を僕が奪ってしまうことになるし、それによって一生メンバーに任せられない問題が生まれ続けてしまう。 当時は情報をパスするオーバーヘッドすら許容できない状況だと感じていたので、僕しか把握していない情報が増えてきてしまい、メンバーに助けてもらうことすらできない状況を作ってしまいました。 (これは僕目線での文章ですが、おそらくチームメンバーもみな同じようなことをお互いに思っていたのではないかと思います。申し訳ない。)
最近は
そんなこんなでバタバタと斧を研がずに木を切り続けてきた日々でしたが、3 月に大きなマイルストーンを一旦達成したことで、今は少し落ち着く時間をとることができています。 (これはまぁ嘘で、状況的に落ち着いたわけではないのですが、斧を研がないと死ぬということを理解して時間を頑張って確保しようとしているところです。)
数ヶ月前に、チーム間に落ちる・またがるものが多すぎて限界なので、チーム体制を見直しませんか、という話をしてみたところ、いろいろあって開発組織を丸っと再考することができました。 @Songmu が入社してくれたり、2023.04 から新たに超強力な PdM が入社してくれることになったり、開発を進める中でドメイン知識やプロダクトに対する洞察が深まってきたりと、状況が大きく変わっているので、それを反映しよう、という試みです。
2023.04 から新しい体制に移行し、2 チーム制、各チームに PdM が一人ずつ、PjM が一人ずつ、という体制になり、僕自身は PjM として動くことになりました。 僕は PdM 業は全然できていなかったので、助けてもらうことができて正直ホッとしています。(いきなり負荷をかけてしまって申し訳なくはあるのですが)
これまでの反省を活かして、新しい体制では、「誰かが個人として動くことでしかものを解決できない」という状況を是正して、仕組みやチームで解決できるようにするというのをやっていきたいと思っています。
自分にとって、今の環境はかなり恵まれています。 まず、チーム内に心から頼れる PdM がいて、僕の PjM ムーブをサポートしてくれています。 本来僕がやるべきことが抜けている時、サポートしてくれるので全体の進行はスムーズになり、かつ「これは本来自分がやるべきだった」と感じることができる、という学習には最高の環境です。 また、隣のチームでは僕と同じような役割を @Songmu が担っています。隣のチームのことは透明性高く見えているので、これまた「こういうことをやるといいのか」というのを真横で学ぶことができます。 これは本当にありがたいことなので、しっかり学んで身につけていきたい。
まとめ
というわけで、今の僕の状況をまとめると、こんな感じです。 二年間、正直ハードではあったけど、少しずつ良くできていると実感し始めているのと、今の環境は自分の成長にとっても恵まれているので、踏ん張ってきて良かったなぁと感じています。
一方で、まだまだプロダクトの課題は多いです。 また、チームとしても走り始めたばかりなので、これから先実際にどこまでうまくいくのか、どこまで成長できるのか、というのはまだまだ未知数です。 これからも頑張るぞ。