こんにちは。SmartHR プロダクト基盤開発本部の平石(hiraishi)です。今回はプロダクト基盤開発本部の各ユニットについて紹介させてください。
目次
SmartHRは、「働くすべての人の生産性を高める」というミッションのもと、労務管理をはじめとするバックオフィス業務の効率化から、タレントマネジメントまで領域を広げ、「人的資本経営プラットフォーム」への進化を目指しています。
2025年には「SmartHR」のARR(Annual Recurring Revenue:年間経常収益)が200億円を超え、急速な成長を続けています。
このように事業とプロダクトの両面でスケールアップを続ける中、SmartHRでは「マルチプロダクト戦略」を掲げています。
単に複数のプロダクトを提供するだけでなく、それぞれのプロダクトがデータや機能を連携し合うことで、単体では実現できない業務体験を生み出す──そんな「つながる価値」を提供することを目指しています。
このマルチプロダクト戦略を技術面から支えているのが、プロダクト基盤開発本部です。
プロダクト基盤開発本部とは
プロダクト基盤開発本部は、複数のプロダクトに共通する機能・データ・アーキテクチャの基盤を整備し、SmartHR全体の開発を加速させる役割を担っています。
私たちが手がけているのは、いわゆるインフラレイヤーではなく、アプリケーション開発を支える”プロダクト横断のミドルウェア”。権限管理・課金・従業員データ活用・グループ企業管理など、事業成長に不可欠な土台を設計・実装しています。
マルチプロダクトの成長に合わせて解くべき課題は次々と増え続けており、プロダクト基盤も年々進化を続けています。
2023年に1チームから始まった組織は、現在では複数の専門ユニット(権限基盤、課金基盤、共通データ基盤、データ集約・活用API基盤、グループ企業管理、従業員データリアーキテクチャなど)へと発展しました。
それぞれが異なる領域を担当しながらも、共通のゴール──SmartHRの全プロダクトを安全・効率的・スケーラブルにすること──に向かって日々開発を進めています。
ミッション
プロダクト基盤開発本部のミッションは以下の通りです。
- 各プロダクトで共通して使う機能を一箇所で提供し、開発生産性を高める
- プロダクト間のデータや機能を統合し、よりよいユーザー体験を実現する
- 中長期の事業成長を支えるアーキテクチャを設計・進化させる
役割と面白さ
プロダクト基盤開発本部のエンジニアは、SmartHR全体のアーキテクチャを俯瞰し、数年先の成長を見据えた仕組みづくりに取り組みます。
変更の影響範囲は広く、1つの設計判断が複数のプロダクトに波及します。その分、難易度は高いものの、成果のインパクトも大きい領域です。既に多くのお客様が利用している大規模システムに新しい構造を組み込むには、慎重な設計と段階的な移行が求められます。また、複数プロダクトの開発チームや事業側のメンバーと連携しながら、異なる視点をまとめ上げる推進力も重要です。
基盤を改善することで、新しいプロダクトがより早く立ち上がり、既存のプロダクト同士が連携して新たな価値を生み出す。こうした「つながる体験」を実現する技術的土台をつくることが、私たちのミッションであり、面白さでもあります。
ここからは、プロダクト基盤開発本部に所属する各ユニットの取り組みを紹介します。それぞれが異なる専門領域を持ちながら、共通のゴール「SmartHRのマルチプロダクト戦略を支える」ために日々挑戦しています。
権限基盤チーム —— Policy-as-Codeで実現するアクセス制御
SmartHRのマルチプロダクト戦略が進む中で、立ち上がり重視で各プロダクトが独自に実装してきた権限ロジックが複雑化し、仕様の不整合や運用コストの増加が課題になっていました。
権限基盤チームは、そうした課題を根本から解決するために、全プロダクトで共通して利用できるアクセス制御基盤の整備を進めています。
取り組んでいること
権限基盤チームでは、Policy-as-Code(権限設定をコードとして管理する手法)を導入した新しい権限管理システムの構築を進めています。
これまでアプリケーションの中に散らばっていた「誰が・何を・どこまでできるか」という権限設定を、コードとして明示的に管理できるようにします。これにより、安全かつ変更しやすい形で運用できるようになります。
プロダクトごとに異なる要件を吸収しながら全体整合性を保つことが大きな挑戦です。ユーザー体験・セキュリティ・開発効率のバランスをとりながら設計することが求められ、難しさの中に大きなやりがいがあります。改善のインパクトが広く、成功したときにはSmartHR全体の安心・利便性を底上げできる点も魅力です。
今後の挑戦
分散している権限設定の統合と柔軟化を進め、より安全でスムーズな運用を実現します。最終的には、SmartHRのあらゆるプロダクトが安全かつ柔軟に連携できる状態を目指しています。
関連記事はこちら
課金基盤チーム —— 柔軟な課金体系への刷新
課金基盤チームは、SmartHRの料金体系を支える仕組みを開発しています。
「従業員数 × 単価」というシンプルな課金モデルから、より柔軟で多様な課金体系への刷新に取り組んでいます。
取り組んでいる課題
雇用形態別課金というものに取り組んでいます。
これまでSmartHRでは、1つの企業アカウントに対して1つのプランしか設定できませんでした。そのため「正社員にはタレントマネジメント機能を使わせたいけれど、アルバイトには不要」といった柔軟な契約形態に対応できず、提案の幅やお客様の利用体験に制約がありました。
この課題を解決するために、1企業アカウントで複数のプランを契約し、従業員の雇用形態ごとに異なるプランを割り当てられる仕組みを開発しています。たとえば、正社員には「人材マネジメントプラン」、契約社員やアルバイトには「労務基本機能プラン」を割り当てることで、企業は必要な人に必要な機能だけを提供できるようになります。
これにより、SmartHRはお客様に対してより柔軟な提案が可能となり、事業成長につながる見込みです。
課金基盤は「お金」と「契約」に関わる領域のため、変更時の影響範囲が非常に広く、慎重な判断が求められます。SmartHRと契約管理システムという異なるシステムをつなぐアーキテクチャの設計に取り組める点や、運用フローまで見通して考えていく設計に携われる点がエンジニアとして難しくもあり面白い点かと思ってます。基盤としては珍しく、自分たちの開発がSmartHRの売上に直結し見えやすく、全体の成長を支えている実感をえやすいユニットでもあると思います。
今後の挑戦
SmartHRが様々な領域へ展開していく中で、「どういう売り方が最適なのか」を常に問い続けることが重要です。他のチームがどれだけ良いものを作っても、ユーザーに届かない、あるいは使ってもらいにくいセットでの提供では、せっかくの価値が活かされません。
ユーザーが使いたい機能を最適な料金で提供する──このプロダクトビジョンを掲げ、「本当にこれでよいのか」を問いかけながら、理想の実現に向けて挑戦を続けています。
関連記事はこちら
共通データ基盤チーム —— 従業員データの履歴管理と柔軟な拡張
共通データ基盤チームは、SmartHR全体で共通して利用される従業員や組織に関するデータの中核を担っています。
取り組んでいること
SmartHRでは、従業員の異動・昇進・組織変更などが日々発生しています。共通データ基盤チームでは、そうした変化を「いつ・誰が・どこに所属していたのか」といった時系列データとして正確に記録し、他のプロダクトから容易に参照・活用できる仕組みを構築しています。
また、企業ごとに管理したい従業員情報は多様です。「資格情報」「スキルタグ」「評価項目」など、各社の独自項目を柔軟に扱えるデータ構造を設計・提供し、標準化と柔軟性の両立を目指しています。
この基盤を通して、各プロダクトが共通のデータをもとに機能を拡張しやすくなり、SmartHR全体で一貫したユーザー体験を提供できるように目指しています。
SmartHRの基本的な機能からオプション機能まで幅広く触れる機会があります。また、新規で取り扱えるようにしたデータについてリリース直後はお客様からの反応は薄めですが、各プロダクトでの開発が進みデータが利用されるようになると様々な反応が各プロダクトを通して見えて面白いです。
今後の挑戦
今後、よりデータを活用しやすい状態を整える施策を加速させていきます。新たに利用できるデータを増やすスピードを高めるため、開発プロセスや基盤の改善にも取り組んでいます。
関連記事はこちら
データ集約・活用API基盤チーム —— プロダクト横断データ統合の実現
SmartHR では、巨大な「基本機能」と、文書配布・年末調整・タレントマネジメントなどの複数プロダクトでサービスを構成しています。
各プロダクトは独立したDB/リポジトリを持ち、主に REST API で基本機能と連携してきましたが、プロダクトを跨いで各アプリの「従業員」にひもづく情報を取得したいケースが増えました。
そこで、「評価×サーベイ×スキル」のように、プロダクト横断で必要なデータを取りに行くのには、既存の個別API連携だけでは難しくなっていきました。データ集約・活用API基盤チームはこの課題に対し、プロダクト横断で従業員情報を取得・検索できるAPI基盤を提供します。
取り組んでいること
データ集約・活用API基盤チームでは、SmartHR全体に分散している従業員データを、Apollo Federation(GraphQL Federation:分散されたGraphQLスキーマを統合する仕組み)で統合し、どのプロダクトからでも必要な情報を一元的に取得できるようにしています。
さらに、Trino(分散クエリエンジン)によるデータベースフェデレーションを導入し、複数のデータベースを横断して検索・ソート・ページネーションを実現。
これにより、プロダクト間のデータ活用が容易になり、SmartHR全体で「データが自然につながる」基盤が整いつつあります。
データ集約・活用API基盤チームの魅力は、複数のプロダクトをつなぐことで全体像が見えてくるところにあります。
従業員のオンボーディングからオフボーディングまで、どのフェーズでどのプロダクトが関わり、そこで生まれたデータが別の場面でどう活用されるのか——。
それらが少しずつ繋がっていく過程は、まるでパズルのピースが徐々に埋まっていくようなイメージです。1つの改善が複数のプロダクトに波及し、SmartHR全体の体験を変えていく。そのスケール感と仕組みを設計する面白さが、このチームの醍醐味です。
今後の挑戦
従業員情報は、SmartHRが取り組む領域の”要”となるデータです。
この重要性は今後も変わらず、従業員データプラットフォームの使命は、各プロダクトで自然に蓄積される価値ある情報を、プロダクト間で自在に活用できる状態にすることにあります。
まだリリースから2年ほどの基盤であり、仕組みとしてはまだまだ発展途上です。現在はデータ集約・活用API基盤チームが連携のハブとして各プロダクトをつないでいますが、今後はプロダクトチーム自身が主体的にデータを連携・活用できる環境を整えることが次の目標です。そのためには、ガイドラインやツール整備を進めつつ、データ提供と利用のサイクルをプロダクト側に根づかせる必要があります。
道のりはまだ長いですが、「データが自然につながる世界」を実現することが、私たちの挑戦です。
関連記事はこちら
グループ企業管理チーム —— 複数企業を跨ぐ統合管理基盤
SmartHRはこれまで「1社向け」の前提で作られてきましたが、近年ではグループ全体で横断して使いたいといった利用ニーズが高まっています。グループ企業管理チームは、そうした新しいニーズに応えるため、アーキテクチャやデータ構造の見直しを含む基盤開発を進めています。
取り組んでいること
グループ企業管理チームは、複数企業を跨いで人事・労務・タレントマネジメントを統合的に運用できる基盤の整備を進めています。単なる機能追加ではなく、既存のアーキテクチャやデータ構造を見直しながら、これまで”単一企業利用”を前提としてきた仕組みに新たな層を加えていく取り組みです。
グループ企業管理チームの面白さは、既存の大規模システムに新しい概念を組み込む難しさそのものが、成長の機会にもなっていると考えています。
既存への影響を最小限に抑えつつ、将来の拡張にも耐えられる設計をどう実現するか。その試行錯誤の過程は決して一筋縄ではいきませんが、チームで議論を重ねながら最適解を見つけていくプロセスには大きなやりがいがあります。
今後の挑戦
チームは現在、グランドデザインに基づいた基盤構築の初期フェーズにあります。今後は「仕組みを提供し、各プロダクトチームが自律的に拡張できる状態」へと進化させていく段階です。
関連記事はこちら
従業員データリアーキテクチャチーム —— モジュラーモノリス化による持続可能な基盤
プロダクトの中核である従業員データベースのリアーキテクチャや技術的負債の解消を担っています。基盤の改善を通じて、全社的な開発生産性とプロダクトの持続的な進化を支えることがミッションです。
取り組んでいること
現在、SmartHRのコアサービスである「基本機能」において、モジュラーモノリス化を進めています。これまで一枚岩だった巨大なシステムを、明確に分離されたモジュール構造へ再設計する取り組みです。
従業員データはSmartHR全体の根幹を支える情報であり、あらゆるプロダクトから参照・更新されます。そのため、構造変更の影響範囲は非常に広く、横断的な理解と慎重な進行が欠かせません。この取り組みを通して、全社的に開発しやすく、変化に強い基盤を目指しています。
影響範囲が広いからこそ、成果は社内の多くのチームに波及し、プロダクト全体に大きなインパクトを与えます。難易度の高い課題に挑みながら「どう解決すべきか」を設計段階から深く関われるため、ソフトウェアエンジニアリングの本質的な面白さを実感できます。
今後の挑戦
複雑で扱いにくい従業員データを開発者が安全かつ効率的に利用できるように専用インターフェースを開発していきます。技術的負債の解消を継続しながら、より持続可能で拡張性の高い基盤を築いていきます。
外部サービス連携基盤チーム —— 外部サービス連携の共通基盤化
外部サービス連携基盤チームは、SmartHRの各プロダクトが外部サービスと安全かつ効率的にデータ連携できる仕組みを開発しています。
これまでプロダクトごとに個別実装されていた外部サービスの認証処理やジョブ管理、通知、監視などの仕組みを共通化し、各プロダクトの開発速度を向上させます。ユーザーにとっても一貫した体験を享受できるようになります。
取り組んでいること
外部サービス連携に関わる認証やデータ同期、通知などの共通基盤の開発を進めています。各プロダクトが共通基盤を利用することで、外部サービスとの連携処理を素早く提供できるようになることを目指しています。
どこまでの機能を基盤として共通化し、どこからを各プロダクトに委ねるべきか機能スコープの見極めが重要です。1つの改善が複数プロダクトの開発速度や体験に波及するなど、レバレッジが大きい点はまさに基盤の醍醐味だと思います。基盤としての価値を最大化するためにも、各プロダクトそれぞれの状況に合う利用形態を選択できるような柔軟な設計が求められます。ソフトウェアエンジニアとしての力量が試される、おもしろい課題だと思います。
今後の挑戦
チームはまだ立ち上げのフェーズで、まずは外部サービス連携基盤として掲げているマイルストーンを着実にクリアし価値を実証するフェーズであると考えています。小さく作り検証するサイクルを速く回し、堅実に基盤構築を進めていきます。
おわりに
プロダクト基盤開発本部は、SmartHRの事業を“支える”だけでなく、“加速させる”存在です。
私たちが整える基盤があるからこそ、各プロダクトはより速く・安全に・高品質に進化していけます。
「長期的な視点で、会社全体を支える設計をしたい」
「難しくても、意味のある課題に挑みたい」
そんなエンジニアにとって、プロダクト基盤開発本部は最高の環境です。一緒に、SmartHRの事業をリードする“基盤”をつくっていきませんか。
We Are Hiring!
ご興味ある方は是非一度お話させてください。
元の記事を確認する