見出し画像

モジュラーモノリスへ移行!言語もアーキテクチャも変える。大胆かつ合理的な変革にALL IN!

「楽しく価値ある開発がしたい。そのためなら基盤刷新も遂行してみせる」
笑顔を浮かべながら野望を語る @hokaccha (外村 和仁)さんは、現在 Ubie において toC サービスの基盤のリアーキテクトに勤しむ。

本記事は「テクノロジーで人々を適切な医療に案内する」をミッションにしたヘルステックスタートアップ「Ubie」におけるソフトウェアエンジニアにインタビューを行う企画です。

今回は@hokacchaさんへのインタビュー。Ubieへの入社経緯や、彼が直近取り組んでいるモジュラーモノリスシステムへのリアーキテクトに関して熱く語ってもらいました。

外村 和仁 プロフィール
プロダクト開発エンジニア。 2021年入社。
主にtoB toC問わずプロダクト開発のための基盤開発に従事している。福岡在住で主にリモートでの勤務形態をとっている。
前職クックパッドにおいても基盤開発に従事し、マイクロサービス化をリードしていた。


身近な人をも幸せにできる、楽しい開発現場がそこにあった

——どのような経緯でUbieを知りましたか

前職はクックパッドなのですが、仲の良かった同僚が数名 Ubie に入社したのを観測した辺りが会社を知るきっかけでした。特に Ryo Maruyama さんが入社したのは特に印象的で、私が Ubie への転職を検討する大きな要因になったと思います。

その頃 Ryo さんとも情報交換をしたのですが、彼が Ubie で楽しそうに働いていることが印象的で、良いスタートアップなんだろうなという第一印象を抱きました。彼は当時、 Ubie の医療機関向けサービス(現 ユビーメディカルナビ)の開発を担当しており、医師が利用するシステムの開発と技術的挑戦について語ってくれて、生き生きと活躍していることが実感できました。

——Ubieへの入社の決め手となったものはなんですか

転職エントリにも書いたポイントなのですが、「事業領域」「ユニークな組織」「経済的インパクト」が決め手でした。

まず事業領域ですが、医療とその課題は私や私の身の回りの人にも大きく影響するとても身近なものです。特に子供が産まれてからは医療について考えることも増えました。医療の課題に対してソフトウェアエンジニアとして貢献することでより良い社会にできることにやりがいを感じました。
ユニークな組織というのはホラクラシー組織や報酬に結びついた人事評価がないこと、強力なカルチャーが存在するところに惹かれました。
経済的インパクトについては、やはりストックオプション抜きには語れません。大きなリターンを得られる可能性を秘めています。その上キャッシュでの待遇も十分なものを提示してもらっており、「これはノーリスクハイリターンだ!」と感じました。

——実際に入社してみて、どうでしたか

事前に楽しそうだとは思っていたわけですが、想像以上に楽しいと思えました! Ubie のノリが好きで私に合っていました。この「ノリ」は世の中、社風によってドライだったりウェットだったりのバランスや向き不向きがあると思うのですが、私の好みによくマッチした程よいウェットさがありました。入社前後の悪いギャップが無かったのも良いですね。開発現場や社内の雰囲気、人間関係において悪い驚きはありませんでした。

入社後から今に至るまでで入社の決め手を振り返ってみると、 Ubie のプロダクトは成長をし続けて私自身の体調不良時に実際に助けになるシーンが出てきて嬉しい反面、まだまだ体験を作り込める余地が数多く残されているとも感じます。成長の余地が残っており、エンジニアとしてもまだまだやれる伸び代があります。

モジュラーモノリスへの移行で、プロダクト開発をエンパワーメントできる

——現在 取り組んでいる業務について教えてください

toC 向けプロダクトのバックエンドサービスのモジュラーモノリス化プロジェクトをリードしており、現在開発を進行させています。まさに先日、日経クロステックさんやアドベントカレンダーの記事で紹介させて頂いたテーマでもあります。

1年ほど前に「Ubie は Go と Node.js の会社になります」という意思決定と発信をしたわけですが、依然としてこの決定をする前に作られた別の技術スタックのマイクロサービスは存在します。技術スタック統一の旨みは、この既存サービスを放置し続けていると出ないどころか、かえって幅を増やした結果になり状況が悪くもなりえます。既存サービスのリライトをしたい欲求はしばらく前からあったわけです。

加えて、 toC プロダクトとそれにコミットする開発組織も大きくなってきました。現在のモノリシックなサービスのままだと開発生産性が上がらなかったりシステム信頼性が毀損される可能性もあります。モノリスなサービスを分割したい要求も出てきていたわけです。

これらの背景からモジュラーモノリスベースの新サービスを開発し、移行する意思決定をしました。現在すでに限定的な一部機能なら新サービスに移行されている状態です。残りの機能を移行すべく今も鋭意開発中です。

——モジュラーモノリス移行をなぜ今やるのでしょうか

理想的には早ければ早いほど良いです。モノリスの現サービスに機能がどんどん追加されると、移行する機能のボリューム感も増えてしまうので。一方で、移行作業を行うとその分新規開発に割けるリソースは減ってしまうのでバランス感覚には気を付ける必要があります。

ここに関しては、現在の事業・プロダクト開発の状況とモジュラーモノリスへ移行した・しなかった場合の数年後の姿を思い描くとともに、 ROI を評価して最終的に移行する意思決定を下しました。この手のシステム刷新プロジェクトは鶴の一声で始まったり ROI 判断が十分されないケースもあるかと思いますが、 Ubie では十分な判断を行うとともに判断に誤りがありそうであればツッコミをくれる同僚が多く、助けになっています。エンジニアリングのリソース調整は同僚の Yohei Kikuta が統括しているのですが、彼と議論を重ねることで組織としてよい判断が下せたと思います。

——移行作業に着手してから現在で、感触はどうですか

純粋にエンジニアとしては楽しいと感じます。社内ではまだ事例の少ない技術に真っ先に触れて道を切り拓くのはやりがいに満ちています。

一方で移行作業特有の難しさもあります。移行、という性質上移行元にコミットしてきた多数の開発チームや関連システムへの影響を意識しながら進める必要があります。積み重なった古のコードを読み解く大変さもありますね。ここは正直、私はこの手の作業が得意だと自負しておりなんとかなっているとも感じます。

もう少し移行作業が進んだら、他の開発チームとも密に連携したいとも思っています。積み重なった複雑なビジネスロジックは、移行作業をする私の目線からだと正確に読み解くのが難しく、ドメイン知識を持ったメンバーとの協業が必要だと思っています。

最高の仲間たちとなら、もっとプロダクトを成長させていける

——Ubieのプロダクト組織について思っていることはありますか

みんな優秀すぎる!と思っています。学習能力が高いんと言うんでしょうか、必要とあらば経験のない領域でも学習してキャッチアップする姿勢を感じます。お陰でモジュラーモノリスの移行などの場面においても、他メンバーが学習することを前提としてプランニングもできるので大いにやりやすくなっています。キャッチアップした上で誤った方向に向かっているように見えたらフィードバックをもらえるのも嬉しいですね。

またエンジニア間だけでなく、他職種メンバーの仲も良好でかつパワーバランスがちょうどいいです。パワーバランスについては釣り合いが取れているからこそ、パワーがある片側の意見が通りやすいなどがなく健全な議論が行えていると思います。

——Ubieの今後の成長にあたり障壁はなにがありますか

組織面では人員の更なる拡充に伴う組織のあり方でしょうか。ピープルマネジメントなし、をベースとしてきた現在の組織において人をどこまで増やすことができるのか、この在り方を変化進化する時が来るのかは気にしているポイントのひとつです。エンジニア組織がさらに拡大した時に統制が取れるのか、やることが行き当たりばったりにならないかも配慮したいところです。

——最後に、読者へのメッセージをお願いします

重ね重ね思うのは、医療という事業領域は面白くやりがいがあるということです。自分や家族が関わる身近な課題を解いていると思います。 Ubie においてもまだまだ体験を作りこめていないと考えており、プロダクトとその基盤の開発で貢献できることがまだまだあります。医療の未来を支えるシステムを、私と一緒に開発するメンバーを求めています!やりましょう、私と!


この記事が参加している募集

仕事について話そう