見出し画像

事業とプロダクトで転職先を選んだら一致する技術スタックがほぼ0個だった話

Ubie(ユビー)株式会社でソフトウェアエンジニアをしている八木(@sys1yagi)です。Ubieに入社してすでに1年8ヶ月くらい経ってますが(2019年4月入社)、入社エントリを書いていなかったので書きます。

【特にこんな人に読んでほしい】
・Ubieに興味があるけど、技術スタック全然違うしな〜って思ってる人
・キャリアとか転職とか皆どういう観点で考えてるんだろと気になる人

これまでのキャリア

ソフトウェアエンジニアになって2021年でちょうど15年になります。Ubieに入社する2019年までは10年間ほどAndroidアプリケーションエンジニアをしていました。クックパッドのAndroid版をスクラッチしたり、新規事業のAndroid部分を担当したり(当時は一つのクックパッドアプリケーション内で複数事業の機能が入ってました)、新規事業がMBOして独立する際に技術部長を兼任しつつAndroidアプリケーションをスクラッチしたり、その後転職してスタートアップの取締役をしながらAndroidアプリケーションの開発をしたりしていました。子供が3人いて、38歳(現在)です。

スタートアップで痛感した良いプロダクトと成長性のある事業の両立の難しさ

スタートアップの取締役をしていた時は、ユーザの課題を解決するプロダクトを作っていくことこそが一番重要だ、と考えていました。しかし日々サービスを改善しても、思ったように数字はなかなか伸びていきませんでした。「STARTUP 優れた起業家は何を考え、どう行動したか」の218Pにはスタートアップの撤退要因の上位10位が載っていますが、1位は「市場が存在しなかった」です。たとえユーザの課題を解決するプロダクトを作れたと思ったとしても、適切な市場にフィットしていないと事業は立ち行かなくなるということですね。

当時は、良いプロダクトはできてると思うけど、マネタイズをどういった戦略で積み上げていったらいいのかわからない、という状態に陥っていました。今になって振り返ってみると、事業のスケーラビリティも含めて改めてプロダクト検証し直すといった事をするべきだったなぁと思ったりします。

事業とプロダクトで転職先を探す

といったところで、新たに職を探すか、と考えたとき、重視した点はやはり良いプロダクトと成長性のある事業の両立です。具体的な観点としては次の通りです。

事業
・生活や社会活動の課題を解決する
・課題の質が高い(なぜその課題を今解くべきなのか、その課題を解決するとどうなるのか、仮説と事実は何かなどが明確)
・市場が大きく、戦略とビジネスモデルが明確
プロダクト
・ミッションとプロダクトが一致している(掲げるミッションと関係薄くない?、みたいなプロダクトを結構見るので...)
・10年後も残っている可能性が高い
・顧客中心で磨いている
それを支えるカルチャー
・ビジョン、ミッションが明確で浸透している
・本質的なことのために率直に議論できる
・事業やプロダクトを背負い意思決定できる人々で構成されている

Ubieとの出会い

最初に洗い出した転職先の候補のうちにUbieがありました。最初は単純に、知り合いが在籍しているという点だけでリストアップしていました。もちろん、知り合いが楽しく働いているという点はとても重要ですよね。ただプロダクトも事業もカルチャーも外から眺めただけでは全然わかりませんでした。2019年初の頃のUbieは、問診エンジンを用いて症状から病気推測ができるAndroidアプリ(今はもうありません)を提供していることと、インドで検証を開始したといったニュースくらいしか表には出ていませんでした。

画像1

Androidアプリとインドのエピソード

これこれ、こういうのだよな〜!

最初にオフィスに遊びに行ったとき、AndroidアプリからWebサービスに切り替え始めていることや、病院向けプロダクトのAI問診Ubieを提供していることを知りました。症状を聞いて病気推測をするという単機能なら、アプリとしてインストールして使うより検索してすぐに使えるほうが重要だということでWebサービス化したり、病気推測精度の向上には医師のフィードバックが重要ということで病院向けプロダクトを構想し、医師の業務上の課題にフォーカスして検証を始めたといった経緯です。どちらのアクションもUbieのミッションである「テクノロジーで人々を適切な医療に案内する」と一致していて、顧客中心で発想していそうだなと感じることができました。

プロダクトは良さそうだな〜、では事業はどうか?生活や社会活動の課題を解決する事業であることは間違いなさそうだけど、どういう風にビジネスしていくんだろうか?国内の病院はおよそ8500件ほどでSaaSでやるには小さそうだし、一般ユーザからのマネタイズポイントもあまり思いつかないな...。問診エンジンを中心にどのような課題の領域を描いているんだろうか?患者さんを案内することや医療機関での利用によって両者が接続されるとして、その先はどうなっていくのか?

なんて思っていると共同代表2人の面談がセットされました。ちょうど良いので聞いてみよう、ということで率直に聞いてみると、ビジネスモデルやどの市場をどのように取っていくのか、課題の領域や問診エンジンを中心としてどのように登っていくかなどの戦略、不確実性や仮説などを向こう3年分くらい聞くことができました。話を聞きながら「これこれ、こういうのだよな〜!」と思ったことを覚えています。こうした事業の話は当時は口伝が主だったのですが、最近ではまとまったアウトプットがありますのでぜひご覧ください。

その後カルチャー面についても1日体験入社で伺うことができました。その日は事業の進捗や課題など全社員で話し合う全体会議があり、自分も参加しました。各メンバーがそれぞれの専門領域に関して話しながら、事業全体について議論を交わし合う様子からミッションが根付いていることを感じられました。また人数増加とチーム再構成に関する議論が始まったとき、いま聞いた範囲ではこうすると良いように見える、といった意見を自分が述べると、その方針の可能性について掘り下げる議論が始まりました。全員が本質的な課題にフォーカスして率直に話し合えるカルチャーだということも感じることができました。またソフトウェアエンジニアはバックエンドからフロントエンドまでプロダクト全体を作るというポリシーも気に入りました。

一致する技術スタックはほぼ0個。自分はどう貢献できるんだっけ?

Ubieってもしかして自分が重視した点を相当満たしてないか!?しかも何度かの面談を経て誘ってくれているし、とても良さそうだ!しかしAndroidアプリはもうしばらくはやらないみたいだし、果たして自分に何が貢献できるかな?

Ubieが主に扱っている技術スタックはWebサービスに関するものが中心で、GCPやGKE、PostgreSQL、React/Typescript、Ruby on Rails/Ruby、Spring Boot/Kotlinなどです。AndroidアプリケーションでKotlinはやっているのでギリギリSpring Boot/Kotlinはやれなくはない気配を感じますが、実際AndroidアプリケーションとSpring Bootではやることがぜんっぜん違うのでせいぜい言語を1からキャッチアップしなくても大丈夫くらいでしかありません。もちろん学んでいけばいいんですが果たしてワークするのか?!

ソフトスキルを振り返る

そこで、具体的な技術スタックで考えるのではなく、ソフトスキルで考えるとどうかをざっくり洗い出しました。

・マネジメントの経験
・事業の意思決定の経験
・プロダクトのスクラッチ経験
・仮説検証やグロースの経験
・中長期を視野に入れたアーキテクチャの選定、リアーキテクチャの経験
・登壇、書籍執筆などの対外的活動
・小規模から大規模までのチーム開発経験
・コードベースのキャッチアップ力
・新しい技術等の学習の習慣(Android中心だけど)
・ユーザサポートやトラブルシューティングの経験
・修羅場と歯を食いしばった数
・etc...

それぞれの経験に濃淡はあれど、具体的な技術スタック以外でも結構いろいろやってきたし、それを活かすことは十分できるのではないか?その間に技術スタックの差分についてはある程度埋められるのではないか?といったことを考えました。

技術的なWillやキャリアはどうなるか?

基本的に事業のためにすべきことをなんでもやるというスタンスで、たまたまAndroidが得意なのでそればっかりやっていた、という感じだったので、まぁAndroidアプリケーション開発から離れたとしてもなんとかなるんじゃないかと思っていましたが、実際に実務で一切Androidアプリケーションに関することをやらない環境に飛び込んだとき、自分がどう感じるのかは全くの未知数でした。もしかして本当はやっぱAndroidめちゃくちゃやりたいのでは?そうなったらどうしようかみたいな懸念はありました。が、仮にダメだったとしてもすでに10年やってきているしブランクとしては1,2年程度なので十分取り戻せるだろうと考えました。またキャリア面については、ソフトウェアエンジニアとしての領域を広げるチャレンジなので、プラスのほうが大きいんじゃないかと考え、入社を決めました。

実際はどうだったか

結論から言うと懸念に思っていたようなことはなく、概ね目論見通りでした。入社初日にひとりでクリニックに見学に行ったり、2日目からスクラムチームに入ってチケット消化し始めたり、複雑なデプロイシーケンスをドキュメントのかけらを集めながら手作業したり、リレーションの張られていない大量のテーブルのER図を印刷して皆で眺めて途方に暮れたり、特殊な要件を満たす必要があるケースについて現場に訪問して話し合いながら実装や運用をしたり、社内の医師と診察のユーザストーリーについて議論しながら仮説を磨いたり、看護師さんや病院の受付の方々の課題を伺って機能開発したり・・・。技術的スキルよりソフトスキルが必要なことが日々押し寄せてくる感じです。

もちろん技術的なことはわからないことばかりだったので勉強の日々でしたが、実務上は要所要所で色んなメンバーがサポートしてくれるので、なにもできない!みたいなことはありませんでした。技術的な部分で勉強としてやったこととしては次のような感じです。The Twelve-Factor Appを学ぶ、Beyond The Twelve-Factor Appを学ぶ、Reactのドキュメント全部読むSpring Bootのドキュメントかなり読む(全部は読んでない)、各種本を読む、Kubernetes完全ガイド(リンクは第2版だけど、持ってるのは第1版)、SQLアンチパターン10年戦えるデータ分析入門ビッグデータ分析・活用のためのSQLレシピマイクロサービスアーキテクチャClean Architecture体系的に学ぶ 安全なWebアプリケーションの作り方実践ドメイン駆動設計Web API: The Good PartsSRE サイトリライアビリティエンジニアリングなどなど。割と基本的なものばかりかなと思います。おすすめの本があったら是非教えてほしいです!

あとは社内の既存のRailsやReactやSpring Bootのプロジェクトを動かして読んで動かして書き換えて動かしてをひたすらやってました。年季のこもった秘伝のソースや謎の仕様や謎のコメントや謎のテーブルなどは、プロダクトで変更が必要なタイミングやトラブルシューティングなどのタイミングでキャッチアップして根掘り葉掘り調べて把握したり(理解したっきりドキュメント化しない場合が多いので反省点でもある)しました。この辺りはAndroidアプリケーションの開発でも似たようなことが多いので今まで通りといった感じでした。

結果的にWebバックエンドとWebフロントエンドの経験を積んで、モバイルアプリケーション領域でも役立ちそうな知見や視点を得ることができました。ブランクどころかAndroidアプリケーション開発においてもより良い意思決定ができるようになったんじゃないかと感じます。

ところで現在のUbieでは、ビジョン・ミッション・バリューの整備や、OKR運用のブラッシュアップ、ホラクラシー組織の導入、社内の情報の透明化プロジェクト、採用フローの整備と面談のブラッシュアップ、ミーティングの圧縮のための可視化と施策、各種オンボーディングの整備などなど、入社後の立ち上がりに関するサポート面も全員で関わりながらどんどん改善していっているので、いきなり荒野に放り込まれるといったことは少なくなっていると思います。

最近はなにやってるか

入社して1年8ヶ月。ずっと病院向けのプロダクトチームでWebサービスの開発を行っていましたが、チームやプロダクトが増えサービスもどんどん増えて行く中で、そろそろプロダクト改善のROIが歪んで来てるんじゃないか?ということで、最近はプロダクトチームからちょっとだけ離れ、メンバーが更に倍になってもなめらかに価値を創出できる状態を作るぞ、という活動をし始めています。

We are hiring!!

N=1の事例なので参考になるかわかりませんが、プロダクトや事業にコミットしたいという点がマッチすれば、技術スタックの背景はあまり関係ないかなと思っています。先日公開された入社エントリを書いたメンバーも直近までiOSを8年半やっていましたが入社後爆速でバリューを発揮していました。

たとえば現在Webエンジニアをしていて、言語がGoだったりRubyだったりPHPだったりPythonだったりPerlだったりRustだったりで、Kotlinはな〜と思っていたとしても、論点があるとすると個人の技術的なWillの部分くらいかなと思います。

Ubieのプロダクトや事業に興味があるぞ!という方は是非一度カジュアル面談をしましょう!TwitterでDMやリプライをくださっても結構ですし、下記サイトからいきなり応募なども大歓迎です。


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

入社エントリ

この記事が気に入ったらサポートをしてみませんか?