見出し画像

大幅刷新! 全てをTypeScriptで書き変えたジョブメドレーアカデミーのプロダクトチームに聞いてみた

皆さん、こんにちは。エンジニア・技術広報の平木です。

先日サービスの名称変更を行った「ジョブメドレーアカデミー(以下、アカデミー)」ですが、今後のスムーズな機能追加や他業種への展開、将来の海外展開も視野に入れてシステム基盤の刷新(リニューアル)を実施しました。

そこで、今回の「聞いてみた」ではアカデミーのプロダクト開発に関わる面々に今回のリニューアルの背景やM&Aによってメドレーグループ入りしてからの変遷などについて、いろいろ聞いてみました!

左から
牧野さん(エンジニア)/岸田さん(プロダクト責任者)/秀野さん(プロダクトマネージャー)/熊本さん(エンジニア)

多様なバックグラウンドを持つチームメンバー

ー本日はよろしくお願いします!みなさん、経歴がいろいろなことがこのチームの面白さのひとつかなと思っているので、まずはそのあたりの自己紹介からお願いできますか?

牧野さん:
じゃあ一番の新参者からいきますね。僕は去年の11月からメドレーで働いています。前職は不動産業界の業務支援SaaSを提供している会社でマネージャーをしていました。開発よりはチームビルディングとか商品企画、障害対応がメインでした。私が入社した当時は新卒が、全員総合職として採用されて、そこから希望職種に振り分けられていました。僕も最初は営業をやるつもりだったんですが、そのうち「エンジニアやってみたら?」と誘ってもらったのがきっかけでこのキャリアがはじまりました。
会社の方針的に新しい技術をどんどん取り入れてやっていくというよりは、文系出身者が初めてコードに触れても開発ができるようにするという観点で、わかりやすさとスピード重視の技術選定でしたね。メドレーでは新しい技術を積極的に取り入れているので「ちょっと試してみました!」ってSlackで流れてきたりして戦慄した覚えがあります(笑)3週間くらいがっつりキャッチアップの期間を取ってくれたので、そこでこのスピード感に慣れることができました。

熊本さん:
2019年に新卒として入社して、今年で4年目になります。もう4年目か…。1年目は半年間ほど研修を受け、ジョブメドレーの開発チームに配属されました。その後、去年の夏に異動をして今はアカデミーの開発をしています。
学生時代は大学院に進学をして機械学習を用いた自動運転に関する研究をしたり、個人的にiOSのアプリを作成したりしていました。Web開発は大学の授業を受けた程度で、入社するまではほぼ未経験でしたね。
エンジニアとして社会課題の解決に取り組みたいと漠然と考えていた中でメドレーに出会い、医療ヘルスケアの未来をつくるという熱量に圧倒されてメドレーを好きになったのと、自分のまわりに医療従事者が多く身近な問題としても感じていたことがメドレーに入社を決めた理由です。

秀野さん:
自分はメドレーに入社して6年目でプロダクトマネージャーをしています。最初の5年はジョブメドレーを担当して、今はアカデミーに。前職は制作会社で結構幅広くなんでもデザインする会社に勤めていました。
Webサイトの構築をやったり、サービスデザインの部署に所属していたことから、新規事業開発支援に伴う調査やプロトタイプの作成等をやったりしていましたね。もっと長期的にサービス開発に携わりたいと思い、メドレーへ転職してきたという経緯です(最近noteも書きました)。

岸田さん:
社会人になった最初の1年目はSESの会社でJavaを使った業務システムの開発をしていました。その後、バングラデシュに支社があるオフショア開発をやっている会社に転職し、現地と日本を行き来しながらブリッジエンジニアとして3年くらい働きました。
メドレーに入社して今年で3年が経ちます。今はアカデミーのプロダクト責任者を務めています。

ーそういえば岸田さんの元上司が僕と共通の知り合いで、しかもバングラデシュにいるって、岸田さんの面接の時に話題になりましたよね(笑)

岸田さん:
たしかに、懐かしいですね(笑)

ー本当に色んなバックグラウンドの方が集まっていますよね。牧野さんはアカデミー配属の採用だったわけですが、ほかの皆さんはアカデミーに異動するまではどんなことをやっていたのでしょうか?

熊本さん:
新卒研修後、最初の半年間はジョブメドレーのプロダクト改善として軽微な修正をやりながら開発の経験を積みました。その後は、ジョブメドレーの社内管理システムのリニューアルをするという大きめのプロジェクトにアサインされました。最初は岸田さんがリードをしていたのですが、途中からは自分がリードを引き継ぎました。
このプロジェクトが無事終わったあと、その時のチーム状況や今後の自分の成長機会について上長と話すなかでアカデミーに異動することになりました。

秀野さん:
…なんでもやってたんですよね(笑)機能追加などのサイト改善や各種リニューアルにも携わりました。具体的な担当業務は画面設計、仕様のまとめ、進行管理、関係者との調整とか。ジョブメドレーには主に社内向け管理画面、病院等の事業所向け画面、求職者向け画面の3つがあるのですが、一通りの改善を経験してきたので社内・事業所・求職者の動きが一通りわかるようになったかなと思います。

岸田さん:
2019年の6月に入社し、ジョブメドレーの開発を担当していました。半年くらいは基盤改善やインフラ改善をやっていましたね。

あとは社内管理システムのリニューアルをテックリードとして担当しました。後に熊本さんに引き継いだものです。その後は求職者・事業所向けの機能開発などのリードをやっていたところ、ある日アカデミーのプロダクト責任者をやってほしいと言われまして。ジョブメドレーのチーム体制に余裕があったわけではないのですが、次の一手のためのチャレンジをしていこうということで、あれよあれよという間に決まりました。

ーありがとうございます。転職、社内異動、新卒入社などバラエティ豊かな少数精鋭メンバーが集結してますよね。アカデミーでの仕事内容についても教えてもらえますか?

岸田さん:
アカデミーのプロダクト責任者として、プロダクトの将来像を考え、そこへのロードマップを立て、直近や中期で何をやるのかを決めています。開発のリードもやっているので、設計はどうするのかといった議論や、コードレビューはもちろん、実装も自分でやったりしていますね。

秀野さん:
変わらずなんでもやってると思うんですけど…なにやってるかと言われるとムズカシイですね(笑)リニューアルプロジェクトの前は、カスタマーサクセスのメンバーが運用で困っていることを聞いて、それをどう機能に落とし込んで解決するかを考えて、最終的に岸田さんに相談して実装を進めてもらっていました。リニューアルが終わった今は、ちょうど次の改善の企画を立て始めています。繰り返しになってしまうのですが、改善の企画を立てたり、仕様を詰めたり、色々な人の困りごとの相談を受けるような役割です。

熊本さん:
いちエンジニアとして日々開発に携わっています。アカデミーに限らずメドレー全体としてインフラ・フロント/バックエンドといった技術ドメインでの別け隔ては少ないのですが、まずはバックエンドに重きをおいて取り組んでいます。軽微なものならフロントエンドも触れるようになってきています。インフラにはあまり触れていないので、バックエンドが8〜9割、フロントエンドが1〜2割のイメージです。

牧野さん:
メドレー入社までTypeScriptを触ったことがなかったという経緯もあり、リニューアル期間中は手広くやらずにバックエンドの領域に集中して携わっていました。現在はバックエンドもやりつつ、フロントエンドやスマホアプリに挑戦中です。

プロダクト開発を加速させるためのリニューアル

ー改めてなんですが、「ジョブメドレーアカデミー」ってどんなサービスなんでしょうか?

岸田さん:
アカデミーは介護事業所向けのオンライン動画研修サービスです。老人ホームが想像しやすいかと思うのですが、そういった介護事業所に導入いただいて、その事業所の職員の方にスマホなどで動画の研修を受けていただけるというサービスになります。ス​​キルアップはもちろん、離職の防止にも繋がりますし、介護報酬の加算取得にも寄与しています。

ー研修の実施で加算があるんですね!

岸田さん:
職員の方の待遇改善は介護業界の大きな課題でもあるんですよね。なので、国や自治体などから支援がされています。介護業界はどうしてもきつくて、給料も低くて…というマイナスイメージを持たれがちです。でも、これからの介護人材はどんどん需要が高まっていくので、条件も改善されていく方針ですし他業界からの人材流入も必須になってきます。

秀野さん:
人材の流入が増えていく中で、介護サービスの品質を落とさないためには教育が大事ですし、研修の実施には介護報酬の加算がつくのですが、いざ研修を実施しようとすると大変なんですよね。介護サービスの運営事業者は個人や家族経営のような小規模なところも多いので、そうするとなかなか研修の準備をしたり、そこに費用を捻出したりするのが難しかったり。
一方で大規模な事業者さんは、多くの人員を抱える分、職員の研修参加を徹底すること、多様なニーズに応える研修を準備することは大変だという話を聞きます。こういう状況では、なかなかプラスのサイクルを生むことが難しくなってしまいます

そういった背景もあって、アカデミーはかなり安価な価格設定になっています。求人サイトのジョブメドレーもそうですが、なるべく低コストでよりよいソリューションを提供して、より多くの方に利用いただきたいというのが根底にあります。
加えてアカデミーの提供する研修動画は約4,000本もあって、事業者さんがその組み合わせをカスタマイズ可能です。未経験の新人さんにはこれ、管理職の方にはこれ、などニーズに合わせて研修をつくることができます。直近は、毎月100本公開するペースを目指して動画が作成されています。

アカデミーのサービス画面

ー毎月100本?!すごい数ですね…。

熊本さん:
コンテンツ制作のチームが頑張ってくれています。多言語動画の対応も強化しているんですよ(コンテンツチームのマネージャ、斎藤さんの入社エントリ↓)。

ーなるほど。ジョブメドレーで採用を支援して、アカデミーで定着や育成を支援していると。アカデミーはもともと、2021年にグループ入りした株式会社メディパスの運営するサービスでしたよね。

岸田さん:
そうなんです。もとを辿るとメディパスとも違う会社が運営していたこともあって、色々な変遷を辿っているサービスなんです。サービス名が変わるのも今回で2度目になります。

ーメディパスからメドレーへの運営移管当初どんなことをしたんでしょうか?

岸田さん:
一番最初の段階は、僕ではなく別のエンジニアの方がアサインされていました。システム的な面では、デプロイが全て手動で行われていてミスが何度か起きていたのをある程度自動化したり、システムの監視体制を整えたりといった基礎的な整備をまずはやっていましたね。
歴史のあるサービスですし、その時々によって運営元が違ったので優先順位の付け方も色々な判断があったのだと思います。その後、メドレーで運営していくにあたってある程度素地ができたところに僕がプロダクト責任者として着任しました。

当初はメディパスで運営していた時の機能開発を引き継ぎ、最後の仕上げをやりつつ、アカデミーの今後の方針を議論・検討していました。その過程で、アカデミーをスピード感を持ってさらに成長させ、継続的に価値を提供していくには、様々な経緯を経て技術的負債の貯まってしまっていた既存のシステム構造やコード品質のままでは難しいという結論に至り、システム基盤をリニューアルすることを決めました。
リニューアルすることが決まってからは、何を目的に、何を見据えて、何をやるのか、または現時点ではやらないのかといったことの検討をはじめました

ーリニューアルにあたっての一番の課題はなんでしたか?

岸田さん:
リニューアル後のプロダクト開発を加速させるために、どの技術を選び、どういった構成にしてシステムを整備しなおすのかという点が一番の課題でした。
アカデミーの開発チームはまだ規模が小さいので、システムリニューアルをする場合、その期間は新規の機能開発ができなくなってしまいます。幸い、アカデミーのシステムは負債がある状態とはいえそこまで大きく複雑にはなっていない状況だったため、今リニューアルを上手くやることができれば、機能開発ができない期間を短く済ませることができ、その後の機能開発スピードの向上で充分ペイできるなと思ったんです。
例えば、リニューアル前のシステムだと3〜7日かかる機能改善を1〜2日でやれるようになる、みたいなイメージです。もっと大きなサービスとして、色んな展開を見据えた開発に耐えられるものにするにはどうすべきかを考えていました。

ーまさに将来への投資ですね。元々Laravelが使われていたといたということでしたが、移行はスムーズに?

岸田さん:
置き換えるための実装という意味では大変な部分はありましたね。既存のコードベースには使用されていない処理や類似の処理・データが散在していたので、まずどれが今動いている処理で…というところからだった記憶があります。自分も含めリニューアルを始めた当初は既存のシステムを熟知まではしていないメンバーが大半だったのもあり、全員この点は苦労したんじゃないかと思います。
また、パッケージ管理ツールのComposerが普通には動かず独自のやり方をしている部分もあり、リニューアル中に発生した既存システムの障害対応などに手を焼いたこともありますね。いま動いてる本番サーバーが正という部分もあったので。

ーリニューアルではどういった状態を目指したのですか?

岸田さん:
アカデミーは成長期で規模もこれからまだまだ拡大が見込めるフェーズにあるので、Webとアプリ、社内の管理画面、LPなど色々なものを限られたリソースの中でスピーディーに改善し、機能開発していかないといけません。それを実現するにはどうしたらいいかを一番最初に考えていました。
また、成長の方向性として、介護以外の業種への展開やもっと先の海外展開を組み込めるような形にしておきたかったのです。ただ、実際にどういった成長のしかたを選ぶのか・どうやるのかは後から決断できるように、余白を残しておく部分と今決める部分はどこなのかというのを考えてやっていました。

ーリソースから検討して開発がうまくいくベースを整えたんですね。アーキテクチャでいうとメドレーで初のNode.jsを全面的に採用していると思うんですが、それはどういう経緯なんでしょうか?メドレーではデファクトのRuby(on Rails)じゃないので気になっていました。

岸田さん:
ジョブメドレーを開発していた人、リニューアル前のアカデミーを開発していた人、新たに入ってきた人と色々なバックグラウンドを持つメンバーが集まったので当然ではあるのですが、技術スタックが揃わなかったんです。それでも機能開発のスピードをあげるには、全体的にスイッチングコストを下げないといけないと考えました。既存のシステムでは、WebはPHP / Laravelで作られていて、アプリはReact NativeTypeScriptでつくられていました。

リニューアルをするにあたり、最初に技術選定を終えたのがWebのフロントエンドで、TypeScript/Reactというスタックがスマホアプリと共通化できる点と、メドレー内でフロントエンドの開発にNext.jsを採用することが多く他のプロダクトの知見を活かせるという点からNext.jsを採用することにしました。
バックエンドはそのままPHP(Laravel)でもよかったんですが、バックエンド、フロントエンド、スマホアプリ、インフラとそれぞれの開発をする際にフレームワークの部分は仕方ないにしても、プログラミング言語の学習コストやスイッチングコストが下がらないなと思ったんです。Rubyでもよかったんですが、同じ理由でやはりスイッチングコストが下がらない。であれば、バックエンドもTypeScriptで統一してしまうのが良いのではという事になりました。

アカデミーのリニューアル後のシステム構成図

TypeScript/Node.jsでのバックエンド開発はメドレーでは初ですが、採用されている会社も多くあり本番運用に耐え得るものだろうと思えたのと、TypeScriptが言語としてもコミュニティとしてもより成長していく筋の良い言語だと個人的に感じていたのも振り切ろうと決めた要因になりました。

ーここも逆算というか、みんなが一緒にスタートできることを重視したんですね

岸田さん:
リニューアルって一定期間開発に集中できるので、スタート時点ではTypeScriptに詳しい状態じゃなかったとしても、その期間をしっかりあてればその後の機能開発でペイできるねみたいな話をしていて。がんばってTypeScriptで全て作ろうということになりました。

ーたしかにそう聞くと全部TypeScriptでよくなりますよね

岸田さん:
インフラもTypeScriptとAWS CDKでやってるんですよ。やりすぎかもしれないですが、全部TypeScriptです。

ーおお、マイクロソフトに足向けて寝られない感じですね(笑)Next.jsでSSRも?

岸田さん:
はい。ただ、これは自分で決めて微妙だなと思ってるんですが、Next.jsをサーバーレスコンポーネントを使って動かしています。プロダクションだとほとんど気にならないんですが、実態はLambda@Edgeで動くので、検証環境とかだとすぐCold Startになるのが厳しくて。他にも、検証環境を増やすにはCloudFront Distributionから作る必要があったりと、どうしようかなという気持ちはあります。。

ー聞けば聞くほど尖っている…

岸田さん:
決めた時はインフラ準備のコストを下げたかったんですよね。以前Next.jsを使った際にFargateで動かしていたのですが、準備もランニングコストも少し高めだなと感じたんです。ただ、今後置き換えてもいいとは思っています。

ー行き着くところがアーキテクチャの技術選定からリソース配分的にベストを目指したんですね。牧野さんはエンジニア経験として、Node.jsやTypeScriptをやってなかったと思うんですがいかがでしたか?

牧野さん:
最初はほんとに戸惑いました。元々型がある言語を触ったことなくて、どんなものか概要は知ってたんですけど実際書いてみるとうまくいかなくて。そのへんはキャッチアップ期間で公式ドキュメント読んだりして。僕より先に熊本さんが、本当にはじめての状態を経験してくれていたので、そこを学習できたこともあってやりやすい環境だったと思います。

熊本さん:
僕はジョブメドレーの社内管理システムのリニューアルでもNext.jsやGraphQLに触れていたので、そこでの経験は大きかったです。特にGraphQLを使ったAPI開発はRubyとTypeScriptという違いはあれど1年以上経験していたので、TypeScriptの勉強はしつつも、慣れるまでにそれほど時間はかからなかったと思います。

現在のプロダクト開発体制

ー今、リニューアルが終わってどんな開発体制になっているのでしょうか?

岸田さん:
今はリニューアルのリリース直後の不具合対応などが落ち着き、細かい改善を積み重ねるプロダクト改善チームと少し大掛かりな機能改善・追加を行うプロジェクトチームにざっくり分けて開発をスタートさせています。また、次の四半期で何をやるのかを決め、今年やその先何をやるのかというのをクリアにしていっています。

ーメドレー的な3ヶ月のサイクルに変わってきているんですね。岸田さんはプロダクト責任者として方向性を決め、秀野さんは企画。どう連携しているんですか?

秀野さん:
雑談から始まることが多いですね(笑)隣にいるからなにかに気付いたら話します。ふと問い合わせが来た時「あー、じゃあこれはこうしますかね」みたいな。良い言い方をすれば密にコミュニケーションして、柔軟な対応ができていると言えるかと!(笑)

岸田さん:
大きく今年や四半期の単位でこれをやるという方針は僕と事業部長で決めています。ただ、詳細な内容や調整などを決め切れる訳ではないので、そういった詳細の部分を秀野さんにやってもらっています。

秀野さん:
大きなテーマとロードマップを岸田さんが作ってくれているので、そこから振られて僕がやっていくみたいな。全体は岸田さん、そこから特定のテーマや機能を僕がやるといったところです。具体的に言うと、今回のリニューアルでは社内向けの売上関連の機能を追加しました。その仕様を立てるところとか、データの集計、関係者への説明の主導は僕がやって、全体は岸田さんが見ていましたね。

ー開発部と事業部との連携はどのようにやっているんでしょうか?例えばKPIをどこにおくのか、それをどう開発に落とし込むのかなど

岸田さん:
僕と事業部長と各チームのマネージャーで定期的に話して決めています。機能追加の要望など顧客や社内のメンバーから吸い上げてもらいつつ、いつ何をどういった優先度で開発するのかについては僕が最終的に決めるようにしています。

ーエンジニアのお二人は今どうIssue決めなどをやっているのでしょうか?

熊本さん:
今は新たに大きめの機能開発を行うプロジェクトチームにアサインされているのですが、そのプロジェクトの目的や達成したいことを岸田さんが整理をして機能や画面単位くらいの粒度でIssueに分けてくれています。
ただ、そのIssueを更に細かく分割し、どういう順番でいつ誰がやるのかというところに関してはプロジェクトのメンバーで話し合って進めています。
自分がアサインされているプロジェクト内に限らず、開発チーム全体的に技術やドメインによって担当者を決めるということは基本的になくて、その時々の状況を見てアサインしていくという形ですね。

牧野さん:
不具合報告をいただいた場合やエラー通知があった際はその場で岸田さんが割り振って対応を進めることが多いですね。それ以外の開発はチームによって少し対応が違いますが、私が所属するプロダクト改善を行うチームでは、毎週月曜日にミーティングを開いて、そこで1週間で対応するIssueを決めています。
テンポ良く効果計測と実装のサイクルを回しながら、状況にあわせて最も効果が見込めそうな施策を行っている形ですね。リニューアル中はデータが取りづらい上に扱いにくく、なかなかユーザーの動きが見えてこなかったのですが、リニューアルでその辺も改善できたので、新しい発見があって面白いです。

ーレビュー体制はいかがでしょうか?

熊本さん:
相互レビューをしています。軽微なものだったり、早くリリースしたいものは直接岸田さんに出すこともありますが、基本は相互レビューをしてから岸田さんに見てもらうようにしています。相互レビューでのやり取りを何回も繰り返さないように、例えば僕が牧野さんのPull requestをレビューしたあとは、牧野さんがその指摘事項を修正して次は岸田さんに向けてレビューを依頼するという流れにしています。
ちなみに、相互レビューでは対面でのレビューを取り入れています。初めて他の人のコードを読む時は、まずIssueを理解して、触ったことがない場所だったら関連コードを理解して…などの工程がありますが、対面でやることによってそのような前提を口頭で補足してもらえるのでレビューしやすい状態になります。対面では特に見てほしい箇所や補足したい箇所を中心にレビューを行い、それ以外の箇所はあとでPull requestを見て確認するようにしています。

ーPull requestを出す側としても障壁が低いですね

熊本さん:
コードをレビューしてもらうという観点では、不安なところを見てもらいやすかったり、複雑な箇所を理解してもらいやすいなどの点にメリットを感じています。また、個人としては、自分の書いたコードを言語化することによって頭が整理されて、「このパターンが漏れているかも」「ここはもっと良い書き方ができそう」などの気づきが得られる点も大きなメリットだと感じていますね。

ーこれからのことに話を移していきましょう。これからの大目標でいうと他業種展開と海外展開でしょうか?

岸田さん:
そうですね。サービス名称変更前は「介護」という言葉がサービス名に入っていたのですが、他業種への展開も考えてロゴもサービス名称も変更しました。他業種展開は近い将来やろうとしています。まだ具体的なところは言えないんですが、まずは介護業界と領域が近くてコンテンツ作成ができそうなところからになると思います。また、加算にも活用できるという点はアカデミーが提供できているメリットであり、成長の要因でもあるので、同じ成功パターンを考えたいと思っています。

ー海外展開についてはいかがでしょう。今は日本に来た方向けに動画の翻訳をしていますが、どういった展開をしていくのでしょうか

岸田さん:
こちらは具体的な検討にまだ入れていないですが、現地で使ってもらえるサービスを構想しています。そこを見据えて、まずは日本に来て働いている方が使いやすくなるように、多言語対応したコンテンツに加えて、サービス自体の多言語対応も検討しているところです。

これからのプロダクト開発

ー近い将来でみたときのプロダクトの方向性はいかがでしょうか?

秀野さん:
直近は大きく2つです。アカデミーって動画本数が多くて、いま4,000本くらいあります。ただ、探しにくく、その価値を十分に届けられていない課題感があります。今後もっともっと増えていくので、それぞれのニーズにあった動画を見つけやすくしていきたいです。
あとは、今のアカデミーは忙しい職員の方でも隙間時間に学習できるよう、短尺動画を提供しているのですが、研修のスケジュールぎりぎりのタイミングでまとめて見る方も多いので、短い動画のメリットを活かしつつ定期的に無理のないペースで学習してもらえるように改善をしていけたらと考えています。他にも、リニューアルで開発メンバーの各々が課題を見つけられたと思うので、持ち寄って整理していきたいです。

岸田さん:
アカデミーの魅力の1つとして個々人の受講状況が管理できて、導入いただいている事業所の抱えている課題感であったり、そこで働かれている職員の方々の学びたいことであったりそういうものにマッチした動画コンテンツを組み合わせてより良い研修を作れる点があると考えているのですが、まだまだプロダクトとして提供できている機能が足りていないためにこれがうまく実現し切れていないという課題感を持っています。
なので、動画を探しづらいというのも解決したいこの大きな課題の一部みたいなイメージですね。動画の探しづらさの改善以外にも色々考えているので、直近はそのあたりに注力していきたいなと考えています。

ーテクニカルな面で対応は何か検討していますか?

岸田さん:
大きなところで言うと、動画配信のシステムをどうするかという点ですね。今はVimeoを使っていて、世界的に利用されていて安定したサービスではあるのですが、今後のプロダクトとしてやりたいことがすべて実現できるのかというとそうではないと思うので、どこかで自前なり切り替えなりを検討する必要はあるだろうなと考えています。

ーなるほど…確かに良いサービスでも、これからサービスの成長を考えると動画配信にも機動力や柔軟性なども求められてきますよね。他にはいかがでしょうか?

熊本さん:
PrismaというORMを使っているのですが、集計処理のサポートが薄いので少し複雑な集計処理を実装する際などには生のSQLを書かないといけなくなるケースも多いです。一方で生のSQLを使った処理を実装するのに向いているわけではないので、何か別のライブラリなどと併用することを検討したりしています。
あとはJestでテストコードを書いているのですが、不安定なテストが多いので解消していきたいですね。個人としては、インフラまわりにあまり手を出せていないので、そこの挑戦もしていきたいです。

あと、集計系で言うとリニューアル前は各職員の方の受講状況の反映にマテリアライズドビューを使っていたのですが、リフレッシュする際の負荷が高く、1日に1回だけリフレッシュをしていました。なので、今日の分が翌日にならないと反映されなかったんです。それをデータ構造の変更やチューニングを行い、リアルタイム反映に変えました。結構複雑なSQLで集計していたのをリアルタイム反映にできましたが、まだ改善の余地がありますね。

秀野さん:
結構機能を減らしたりもしましたね。機能の提供する価値や用途が被っているものは統合したりしました。

熊本さん:
たしかにそうですね。あとは、管理者が職員に研修を受けてもらえるように設定する際の操作が、少し複雑でわかりづらい部分があるので、もっとシンプルに誰でも使えるようにしたいです。使い勝手の面もデータ構造の面も今後検討するべきですね。

牧野さん:
みんな言い尽くしてくれたのですが、テストの部分はたしかにどうにかしたいですね。
個人的にはフロントエンドとアプリに挑戦中なのでそこを一通り開発できるようになりたいのと、インフラもまだ全体を把握できていないので理解度を高めていきたいと思っています。これまではリニューアルにフォーカスしていたので今後は視点をもっと広げてプロダクトのKPIを追いかけられる開発にシフトしていきたいです。

岸田さん:
リニューアルでこれからの成長への地盤固めができたので、より多くの介護現場で働く方々の活躍や定着に貢献できるよう、良い研修を手軽に実施できたり、より研修を受けてもらいやすいサービスにしていくことにフォーカスしたいと思っています!

ー最後の岸田さんから抱負をもらったところで、本日のインタビューは終了にしたいと思います!みなさんありがとうございました!

アカデミーリニューアルのインタビューいかがだったでしょうか?
社内でも初めてという試みを色々実施していて、個人的にも非常に興味があるプロジェクトでしたが、背景などが聞けて良かったです。プロジェクトメンバーのスタートラインを合わせるようにアーキテクチャ選定をするというのは、理屈では分かっていても中々大幅に変えることを躊躇する部分があると思いますが、がっつりとやりきっていて素晴しいなと思いました!
今回のリニューアルについてはスタートラインということになり、これからガンガンとプロダクトの改善などが進むと思うので、非常に楽しみです。

編集後記(平木)

※本記事内の写真は、感染対策に配慮しながら撮影しています。