2023年CTO業としてできたこと、できなかったことを振り返る&2024年の抱負
こんにちはPharmaX共同創業者の上野(@ueeeenii)です。この記事は、PharmaXのアドベントカレンダーの最終日の記事です。最終日クリスマス当日らしく、ポエム寄りの記事で行きたいと思います!(笑)
2022年は下記の記事でも振り返っているように、2事業部体制になって、組織の成長が追いつききれずにチームが混乱してしまいました。私個人も経営者としての未熟さを痛感した1年でした。
一方、2023年は、PharmaXのエンジニアチームとしては飛躍の年でした。複数事業部を横断するテクノロジー本部として改編され、本格的な技術投資や広報への投資を開始できた年でした。2024年以降のさらなる飛躍に向けて土台を築くことはできたかと思いますが、一方で至らなかった部分、反省すべきことは多々あります。
今回は、2023年にCTO業としてできたこと、できなかったことを振り返り、2024年の目標や抱負もまとめます。これから同じようなフェーズを迎える他のCTOの参考になるような知見を共有したいと思います。
これからCTOを目指す方やマネージャー層の方にも参考になる内容になっているかと思います。かなりの分量になってしまいましたので、興味にあるところを掻い摘んでお読みいただければと思います。
2023年のエンジニアチームの出来事や達成できたことを雑に振り返る
テクノロジー本部に組織改編
2023年からは、エンジニアチームは、テクノロジー本部という建付けとなり、事業部と並列する形で意思決定できるようになりました。2022年までは各事業部配下に各事業部のエンジニアチームが置かれ、意思決定は基本的には各事業部に委ねるという構造になっていました。一方、事業横断での技術的知見の共有や使うツールの標準化等をする横断的な技術マネジメントの必要性も高まってきました。また、採用や広報活動などの事業部内で完結しない活動を行う必要もありました。
そこで、2023年から正式にエンジニアチームをテクノロジー本部として独立させ、テクノロジー本部内で事業部から独立した意思決定ができるようにしました。エンジニアはテクノロジー本部に所属し、本部から各事業部にアサインされるという考え方です。もちろん、エンジニアも業務のほとんどは事業部の活動を行うので、その中では事業部の意思決定が優先されます。その上で、エンジニアメンバーのリソースの15%をテクノロジー本部としての横断的活動にあてることを正式なルールとしました。
その他、例えば、エンジニアの評価は、エンジニアがアサインされている各事業部とテクノロジー本部で評価をし、最終的にはテクノロジー本部が取りまとめます。
生成AI/LLMチームを立ち上げとLLM機能の本番運用開始
上記の記事のようにPharmaXでは、生成AI/LLMのPoCとプロダクトの本番投入に積極的に取り組んできました。オンライン薬局を作って患者さんに医薬品をお届けするというビジネスである以上、薬剤師の生産性はビジネス上重要な指標です。生成AIを使って、生産性を爆発的に高めることができれば、当然利益率が大幅に向上します。
これまで様々な発表を行ってきましたので、下記に資料等も参考にしていただければと思います。
広報目標connapssのメンバー数1400人弱とトータル記事数120記事の達成
メンバー数が2023年1月時点の300人から1000人以上増の1400人弱に到達することができました。
当初は1000人を目指して突き進んで来ましたが、大幅に超える着地ができそうです。月一回のイベント開催をマストとしてきて、何度か複数回の開催を行うこともできました。
connpassのイベント一覧から抜粋
また、記事数も目標としていたトータル100記事を大幅に超えて120記事に到達できそうです。
noteのマガジンでは、110記事以上に到達。
noteのマガジン
2023年12月の半ばからZennのpublicationに記事を掲載することとしましたが、すでに10記事程度あります。
zennのpublicationの記事一覧
(※ちなみに移行の意思決定に至った理由はこちらをご覧ください。)
正社員で1名が入社+1名が入社決定
広報などで知っていただく方にはもっと人数の多い組織だと思ってましたとよく言われますが、実はPharmaXのエンジニアチームは正社員7名、アルバイト・業務委託が数名の10名程度の小さなチームです。
PharmaX全社でも、組織の人数を増やさずに売上・利益を向上させ、筋肉質な事業運営を目指していることもあり、エンジニアチームの人数もこの1年間でほとんど変わっていません。
語り始めると長くなりすぎてしまうので省略しますが、これはスタートアップの資金調達の市況感などを踏まえた判断でもあります。
PharmaXのエンジニアチームは、これまでほとんどが業務委託やインターンから正社員になったメンバーで構成されています。(そのため入社後のミスマッチも少ないです)
今回も正社員になったメンバーの2名のうち、正社員入社した1名はリファラル採用、業務委託から正社員が決定した(入社日は2024/1/1)メンバーが1名なので、全体の数はほとんど増えていません。
この結果、チームの土台がかなり整って来ており、採用を加速させるタイミングでも混乱することなく、拡大させられるのではないかと思っています。
2023年の良かった点振り返り
テクノロジー本部としての目標管理を行い成果を上げることができた
PharmaXでは下記の記事でも紹介しているように2021年頃から事業外の活動についてもエンジニアチームとしての目標を掲げて活動してきました。2023年は特に広報分野で上記のように大きな成果を上げることができました。
技術的注力領域を初めて明確に定めて注力した
これまではやっていなかった取り組みですが、2023年は特に注力すべき技術領域を定めました。
2023年初めに定義した向こう数年の技術戦略は下記のとおりです。
- 技術戦略
- 患者側と医療者のインタラクションをなめらかにするUXを実現する
- 医療者×techでBusiness Process Re-engineering(BPR)を行い、生産的かつ創造的な医療提供体制を実現する
- 安全で信頼性高く、ロバストなリモート医療提供体制を実現する
- 技術戦略を実現するために築くべきコアコンピテンシー
- 変更容易性、保守性・安全性の高い言語・アーキテクチャへの投資
- ネイティブ、WebAssemblyなど、滑らかな操作性を実現する技術への投資
- ChatGPTを始めとする生成AI/LLM関連技術の実戦投入
- 組織内の全活動でゼロトラストセキュリティモデルの実現
- 信頼性、セキュリティ、品質の担保のシフトレフト、DevOpsへの投資
2023年は、特にこの中でも、
- ChatGPTを始めとする生成AI/LLM関連技術の実戦投入
- 組織内の全活動でゼロトラストセキュリティモデルの実現
- 信頼性、セキュリティ、品質の担保のシフトレフト、DevOpsへの投資
に注力すると決めていました。
結果、ある程度は進捗しましたが、複雑すぎてワークしきらなかったように思います。
文言などはもっと単純に、「この領域に注力する」というぐらいで良い気がします。その上で、注力するといっている技術領域に対して、なぜその技術なのか?(=why)、何を達成すれば良いのか?(=what)、達成するために何をするのか?(=how)を明確にする必要があると感じました。
こう書けば当たり前なのですが、特に、各技術領域に対して、何を達成すれば良いのか?というゴールイメージを明確に共有できれば、1年間でどの程度頑張れば良いのかイメージが湧きます。これもなく、ただ注力するんだと言っても、なかなか進まないので、どんなゴールを達成しようとしていて、それがどの程度現状と乖離があるのかをチーム全体で理解することが重要です。
Rustのプロダクトへの導入
ただ、今期はRustを導入することが(ほぼ)できました。12月25日時点では、ステージング環境に乗っているだけなので、本番環境にリリースできたわけではないのですが、2023年中には何とかリリースしたいと思います(笑)。今年は、LLMを使った切り出し可能な機能をRustで実装することができました。
実装だけではなく、有志で技術書典での出版を行うこともできました。記事発信やLT会も行うことができました。
エンジニアの評価方法をブレークダウンして基準を明確化した
これまでPharmaXでは、評価項目を下記のようにマインド面とスキル面に大きくわけ、それぞれをさらに3つに分解し、1〜10の評点をつけることで、評価してきました。
- マインド
- ミッション・バリュー体現
- 当事者意識・覚悟・オーナーシップ
- 全社最適視点
- スキル
- 戦略思考力・コンセプチュアルスキル
- 組織マネジメントスキル
- テクニカルスキル
評価項目一覧(画像でも示します)
一方で、1〜10の評点の基準が下記のように曖昧で、点数をつけづらかったり、評価者によって認識がズレてしまうという問題がありました。
評点の基準
そこで、まずはテクニカルスキルを要素に分解し、下記のように評点の基準を明確にしました。下記の例では、評点ごとに求められるアプリケーションやインフラのアーキテクチャの設計力のレベルの言語化を行っています。
2024年は、マインド面や他のスキルのブレークダウンも同様に行いたいと思います。その上で、どのように評価をするのか?=何を根拠に評点をつけるのか?という基準の作成とルールの標準化を行いたいと思います。
2023年の反省点
2023年の一番の反省は、LLMのプロダクションへの投入が想定よりも半年は遅れてしまったことです。PoCでは一定の成果を上げており、LLMを使うことで生産性を高めることができる公算は大きいと考えていました。ですが、プロダクトのその他の状況を踏まえて、LLMの投入時期が後ろ倒しになってしまいました。
LLMはプロダクション投入後もPDCAを回し続ける必要があり、本当に事業インパクトを出せるようになるまでには、一定の開発工数がかかります。その点を考慮しすぎて、少ない労力でインパクトが出るように見える目先の開発を優先してしまったのではないかと反省しています。
新しい技術が故のリスクを過大に感じてしまっていたという側面もあるように思います。ここまで大きなイノベーションが起こった際には、先行きが不透明になるため、プロダクションに載せるのを躊躇する企業も多いでしょう。例えば、進歩が速すぎて、実装したものが数ヶ月後には無意味になるかもしれません。一方で、いくらこのようなことを考えても、すべてのリスクを正しく評価できるわけではないので、最終的には決めの問題でしかありません。素早くプロダクションに投入することができれば、PDCAを回すことで多くの知見を得ることもできます。
意思決定には、経営者の強い意志が求められます。本当の意味で強く推し進められなかったのは、私の自信のなさ故です。振り返ってみると、もっと素早く推進するには、LLMを使った機能の投入期限を全社的に決めるしかなかったのだろうと思います。このような大きな変革の時期には、細かい論理を脇に置いて、(詳しくは評価できていないけれど)ここまでには投入してみるという意思決定の仕方も必要なのでしょう。PharmaXの行動指針にもある「短期的利益より長期的なインパクトを優先する」ということに腹を据えて組織全体でコミットする必要があるのです。
2024年チームの目標
チーム全体での目標
年間の目標は下記のとおりです。
-
広報目標:医療系スタートアップで圧倒的にLLMを活用している会社として認知される
- connpassグループ登録数2500人達成
- カジュアル面談者の5割以上が記事・イベント等のコンテンツに触れている
- 参加者数百人から数千人規模のカンファレンスの登壇合計6件(LLMの話題で4件以上)
-
技術目標:LLMを用いたアプリケーションのMLOps体制の確立
- LLMアプリケーションの評価方法・モニタリング指標の確立・測定・可視化
- PSオペレーションの一部完全自動化のリリース・改善体制の確立(問題が起きたときに検知など含む)
- LLMアプリケーション評価指標の自動改善のリリース・改善体制の確立
-
組織強化目標:Findy Team+ Award 2024のSmall Divisionで入賞
- 開発生産性の定義を確立し、計測・評価を開始する
- PR数を2倍に向上する
- developへのマージまでのリードタイムを2倍に向上する
- バックエンド・フロントエンド共にテストカバレッジを80%以上に改善する(薬局DXのフロントは除く)
それぞれの目標を簡単に説明していきます。
広報目標:医療系スタートアップで圧倒的にLLMを活用している会社として認知される
私個人の趣味の勉強会での経験上、connpassのメンバー数が2000人を超えた辺りからは、毎回のイベントに100人以上の方にご参加いただけるようになりました。2023年の結果も踏まえて、2024年はメンバー数2500人を目標としました。
また、カジュアル面談を申し込んでくれた方にきちんとコンテンツが届いているのかを測定することにしました。これは、カジュアル面談者数などを目標とすると、広報以外の要素も大きくコントロールし切れないためです。すでにPharmaXのことを見知ってくれている割合が高いということは、きちんと情報が届いているということであり、その上でカジュアル面談を申し込んでいるのでミスマッチも少ないということでしょう。
カンファレンスの登壇はあえて説明は不要でしょうが、LLM関連での登壇数を4件以上というのも設けています。これはLLMの成果の広報に注力しようということで、当然別の分野で登壇してはならないというわけではありません。2024年もLLMは大注目の分野でしょうから、LLMで十分な成果を上げていれば、十分達成可能な目標だとも思っています。
技術目標::LLMを用いたアプリケーションのMLOps体制の確立
技術目標については、本来重要であるにも関わらず、事業部の判断だけに任せていては進まないようなOps体制の整備系の目標をテクノロジー本部として目標に置いています。気をつけなければ、どうしても目先の機能開発することばかりにとらわれてしまいます。長い目でみたときにOpsの整備は事業成長に寄与します。
また、今の時点で注目すべきLLMの周辺領域を挙げろと言われたら、①エッジコンピューティング、②セキュリティの3領域だと答えるでしょう。プロダクトに生成AIを活用するには、低レイテンシーであることが何よりも重要だと考えています。標準のAPIを使っていてはどうしてもレイテンシーが気になってしまうので、まずはエッジサーバー上、さらにはデバイス上で推論を行うというアーキテクチャに移行することは有効だと考えています。エッジ周りでは、2023年から全社で取り入れているRustの知識が活用できる場面も増えるのではないかと思います。
また、高度なセキュリティを担保しながらAIを活用して行く必要もあります。秘匿情報が外部に漏れないようにするのは言わずもがなですが、内部的にもユーザーのデータが他のユーザーに見えてしまわないようにする必要もあります。プロダクトだけではなく、組織全体でAI活用を推し進めていくには、メンバー全員が安心してAIを活用できるようにしなければなりません。
これら①、②については明示的に目標には入れておりませんが、LLM機能のUXを追求していく過程で自然と注力せざるを得ない領域だと思っています。然るべき時期が来れば、目標に追加するかとは思いますが、現時点で明示的には目標管理を行いません。
組織強化目標:Findy Team+ Award 2024のSmall Divisionで入賞
こちらもあえて説明する必要はないでしょう。PharmaXでは、Findy Team+を導入しています。Findy Team+は、他社との比較も見ることができ、その中で生産性が高いと各部門で入賞することができます。
こちらはもちろん入賞することそのものが目的というわけではなく、生産性を高め、プロダクトのアジリティを上げることが目的です。結果は自然に付いてきます。少し注意が必要な目標と言えば、「developへのマージまでのリードタイムを2倍に向上する」でしょうか。こちらは、本番リリースまでのリードタイムとしてしまうと、特に薬局DX事業部はアライアンス先との関係もあり、単独ではコントロールし切れないため、「developへのマージ」までとしました。
上野個人で達成可能な目標
基本的に私の学習スタイルは、アウトプット駆動型、特に記事執筆・登壇駆動型なので、アウトプット目標を置いてそれに向かってインプットしていきます。アウトプットの中でも特に登壇は期日が決まってるので、学習のペースメーカーとしては非常にいいと思っています。
LLM or Rustアプリを4つ個人開発
個人開発と言いつつ、私の場合は事業部のプロダクトに統合されるアプリケーションや全社で使われるツールを作ることにはなるとは思います。
直近作りたいのは、「Slackやメールの返信忘れをリマインドしてくれて、返信案も提案してくれるAIbot」です。私は非常にいい加減な人間なので、Slackやメールなどの連絡をよく忘れて、迷惑をかけてしまいます(笑えない)。
ご迷惑をおかけしている皆さまに申し訳ないというのももちろんあるのですが、下記の記事のようなCloudflare+GeminiのスタックでLLMアプリを作ってみたいので早速年末年始に作ってみようと思います。
技術記事50記事
個人的には、技術記事を50記事を執筆したいと思います。2023年は40記事弱だったので、2024年は切りよく50記事を達成したいと思います。
特に、2024年は上記の注力領域でも挙げた、LLM+エッジ(+WASM)関連の知見の共有をメインに発信していきたいと思います。
2023年に1ヶ月毎日記事を発信してみての学びを下記にまとめているので、参考になれば嬉しいです。
10回の自社イベント登壇(+趣味の勉強会でも5イベント)
2024年も自社イベントでの積極的な登壇を行いたいと思います。2023年も10回程度登壇していたので、2024年も同じペースを維持したいと思います。
また、趣味で行っている勉強会でも定期的な登壇をすることで、学習サイクルの確立をしたいと思います。2023年は本業がバタバタすると学習ペースが崩れて発表できなくなったので、2024年はよりアウトプット頻度にコミットしたいです。
大型のカンファレンス登壇3件
ここでいう大型とは、数百人〜数千人規模のカンファレンスのことを言います。そんなに大規模なイベントはそもそもたくさんあるわけではないので、かなり的を絞って行く必要があります。ただ、毎年開催される時期はほぼ同じですし、ある程度目星はつくでしょう。カンファレンスから逆算して、準備をしていけば、十分達成可能な目標だと思います。
2024年の抱負(マインド編)
冒頭にあげた記事(『2022年のPharmaXエンジニアチーム振り返りと2023年の抱負』)で2023年の抱負として掲げた、CTOロールへのこだわりは持ち続けられたと思っています。自分がCTOロールで出すべきバリューを見極めて突き抜けるということはある程度はできたと思っています
あらためて創業からこれまでの道のりを振り返ってみると、様々なことに手を出して来たと思います。これは当然、事業とチームの成長にコミットしてきたからこそなのですが、一方で、何かにフォーカスして、腰を据えて成果を上げるということはできていなかったと反省しています。ある意味、忙しくして、仕事をしている気になって満足する状態に陥っていたなとも思います。
社会を大きく変えられるような本質的な価値を出すためには、高い目標を掲げて最低でも数年間は徹底的にやり抜く必要があります。本当に自分がやるべきこと、自分しかできないことを見極め、そこに自分のリソースを集中させなければなりません。集中できる環境を作り出すためには、権限委譲や、時には捨てることも必要になってきます。自分だけではなく、チーム全体を成長させ、各々がその瞬間に自分の本当にすべき仕事にフォーカスできる体制を築いていきたいと思います。
CTOにもいろんな役割がありますが、直近数年求められているのは、PharmaXの事業成長に劇的なインパクトを与える技術を扱えるようにチームを進化させることです。技術の進化は年々速くなっており、数年前には到底解決できなかった課題が、いつの間にか解決できるようになっているということが多々あります。昨今のLLMの進歩によってもたらされたブレイクスルーなどはいい例でしょう。
2023年の取り組みを通して、技術的注力領域を定め、メンバー全員の時間をそこに少しずつでも配分することができれば、十分、チームの技術ケイパビリティを変化させられるという手応えを得ました。勉強会をしたり、徐々にプロダクトに取り入れたり、各々に学習してもらって発信活動を行ってもらうことで、チーム全体で特定の領域に詳しくなっていくことは十分可能です。
その上で、投資をする領域を絞るためには、自分の言葉でなぜその領域に注目し、なぜ今このタイミングでPharmaXに取り込まないとイケないのかを説明できないといけません。現在取り組んでいる技術領域の最新技術やその周辺技術について、チームの正しい意思決定を支えるためには、まず自分が手を動かして情報をキャッチアップする必要があります。2023年の反省点でも書いたように、意思決定の遅れは、そのまま事業の遅れに直結します。自分が一番遊び倒してみることでしか新しい技術の可能性に対して確信を持ち、思い切った意思決定をすることはできません。
そして、情報のキャッチアップ速度を上げるためには、自分の技術力を向上させるしかありません。手を動かすのが速ければ、当然ながらキャッチアップできる情報量は増えます。知っている情報が多ければ、正しい意思決定ができる確率は高まります。「CTOは技術力が高い必要があるのか?」という議論がよくありますが、今は私自身が技術力を持つ重要性を痛感しています。2024年は改めて技術力向上に徹底的に向き合いたいと思っています。
最後に
ここまで、2023年をふりかえり、2024年の目標や抱負を語ってきました。改めてまとめるとかなりの分量になってしまいましたが、興味のあるところを読んでいただければ嬉しいです。
PharmaXは、2023年の12月7日で、創業から5周年を迎えることができました。様々な人に支えられて、ここまで何とか突っ走ってきましたが、これからは恩返しをしていきたいです。ユーザー、患者の方々にとって、かつてない滑らかな医療体験を届けることにコミットしていくのは当然として、PharmaXのメンバーのキャリアにとっても大幅なプラスになるような環境を用意したいと思っています。
事業・プロダクトの成長、メンバーの成長、双方に取って、他社のやっていない挑戦を行っていく必要ことが重要でしょう。これまでは、他社の事例や思想を参考にさせていただきました、これからはPharmaX独自の知見を生み出すフェーズだと思います。次の5年後で医療体験を大きく変えられることを目指して、日々闘って行きたいと思います。
何かご質問がある方は、XでDMいただければ嬉しいです。
PharmaXエンジニアチームのテックブログです。エンジニアメンバーが、PharmaXの事業を通じて得た技術的な知見や、チームマネジメントについての知見を共有します。 PharmaXエンジニアチームやメンバーの雰囲気が分かるような記事は、note(note.com/pharmax)もご覧ください。
Discussion