PROJECT
数百万行のコード刷新×自動生成で業務効率を向上―基幹システムの大規模リファクタリングプロジェクト
数十年以上にわたり運用してきたパーソルキャリアの大規模データベースである顧客管理システムを、抜本的に改修した「マイクロサービス化プロジェクト」。既存システムを止めずに移行しながら、開発速度を大幅に上げた実践的な手法は、社内でも大きな注目を集めています。2024年上期に事業部表彰を受けた同プロジェクトについて、立ち上げから実装までをリードする齋藤、入社2年目ながら大規模改修に挑んだ松本、そしてアーキテクチャの改善を志望し加わった田中に話を聞きました。
齋藤:プロジェクトの目的は、dodaサイトで使用している顧客管理システムにおける大規模データベースからの脱却です。このシステムにはdoda会員の情報が集約されており、長年に渡って適宜開発をし続けているので、修正コストが非常に高い状態でした。さらに、多くの社内システムがこの顧客管理システムにアクセスするので、改修時は影響範囲を一つひとつ調査する必要があったんです。
また、複数チームが同時並行で開発することで調整工数が大きくなり、リリースのタイミングにも制限がありました。こうした“技術的な課題”と“組織的な制約”を同時に解消し、dodaサイト全体の開発速度を上げるために、このプロジェクトがスタートしました。
齋藤:SIerや事業会社での開発を経て、2020年9月にパーソルキャリアに入社しました。前職ではシステムアーキテクチャの改善を担当していましたが、COVID-19の影響でプロジェクトが中断してしまったんです。
システムを根本から改善したいという強い思いがあり、パーソルキャリアならその領域に深く携われると知り、転職を決断しました。入社後はユーザー向け機能の開発を経験し、1年ほど経過した頃に自ら提案してマイクロサービス化プロジェクトを立ち上げたんです。
松本:2022年4月に新卒で入社し、dodaサイトにおける保守やセキュリティ強化のツール導入を担当していました。入社半年後には別のチームに異動し、チームリーダーとして新機能の開発を進めながら、アプリケーション基盤やアーキテクチャにも興味を持つようになったんです。ちょうどその頃に、「dodaサイトのマイクロサービス化プロジェクト」を知り、2023年10月に正式にプロジェクトへ参画しました。
田中:パーソルキャリアには2023年4月に中途入社し、当初はdodaサイトの開発を担当していました。実は採用面談で齋藤さんと話す機会があり、アーキテクチャに関わる仕事に挑戦したいと伝えていたんです。半年ほど経った頃に齋藤さんに声をかけてもらい、松本さんと同時期にプロジェクトに加わりました。
齋藤:そうなんです。田中さんとは採用面談で会ったときに、前職では業務上の課題をプライベートの時間も使って解決したと聞き、そんな意識の高い田中さんとぜひ一緒にはたらきたいと思ったのを覚えています。最初は別のチームへ配属となり残念でしたが、すぐに実現できて良かったです。
齋藤:近年、マイクロサービスの手法が確立されてきたことで、この顧客管理システムが抱える課題を解消できると確信したからです。これまでにも、さまざまな改善策を試してきましたが、既存の仕組みを大きく変えずに進めていたことで実際には軽微な改修にとどまっていました。しかし、抜本的な改善を先送りにするほど課題がさらに積み上がってしまうことに懸念を抱き、プロジェクトの推進を決断しました。
齋藤:改修範囲がかなり広いため、領域を「会員機能」「認証認可」「企業情報」「求人情報」「進捗管理」の5つに分け、将来的な効果の高さを考慮して取り掛かる優先順位を決めました。次に、領域内を機能別に細分化して担当を割り振り、改善を進めていったんです。一方で、既存のシステムやサービスに影響しないよう、運用を止めずに移行する必要もありました。そのため、改修中に既存データとマイクロサービスで作成されたデータを比較する期間を設け、問題がなければリリースしていく段階的手法を採用したんです。
さらに、マイクロサービス化は初めてのため、特定のメンバーだけに知識が偏らないよう注意しました。例えば、新たに導入したシステムやクラウドサービスは、都度ドキュメント化して全員に共有し、ナレッジを蓄積していったんです。また、設定されたコードの背景を調べながら一つひとつ読み解き、丁寧に改修を進めていきました。
齋藤:マイクロサービス化に着手する前に、そもそもの仕組みから整備する必要があった点ですね。
松本:データ比較は、まず既存の処理を見直すところから。重複を防ぎつつ不要なデータを削除して移行するという工程に時間をかけましたね。既存のデータをそのまま許容する選択肢もありましたが、システムの最適化を目指していたので、一つひとつ段階を踏んで取り組むことにこだわりました。
田中:データを比較する期間を設けたことで、軽微な修正も随時結果を検証でき、データの適正化につながりましたね。地道な取り組みは大変でしたが、結果的にマイクロサービス化だけでなく、システムの仕組みとデータの整備も実現できたので、大きな成果を得られたと思っています。
齋藤:一つは、新しい手法で課題を解決した斬新性が評価されたのだと思います。組織としても現状の顧客管理システムには多かれ少なかれ課題があることは以前から認識していましたが、解消方法が確立していませんでした。そうしたなか、サービスを分割し段階的に進めることで、安全に大規模改修を実現できたことが理由だと考えています。
もう一つは、システムを移行して終わりではなく、運用面も含めて“あるべき状態”を明確にしながら取り組んだことだと思います。既存システムの不具合を修正し、ユーザーにもデータ補正を伝えるなど、将来的な運用も見据えて取り組んだ点が認められたのだと感じています。
齋藤:何といっても既存のデータシステムに依存しない状態を目指す第一歩として、実際にマイクロサービス化を実現できたこと自体が大きな成果だと思っています。誰もが課題に感じていながらもなかなかテコ入れができてこなかった部分でもあるので。また、マイクロサービス化できたことで、今後の開発環境が大きく変わると期待できるからです。
実際、実装後に障害が起きた際に、既存システムだと6日ほど改修に時間がかかるところを、新システム環境下では事象発見から約90分で解消が叶いました。解消に必要な開発速度を大幅に上げることで事業負荷を抑えることができ、安定的にサービス運用できる点にも貢献でき、非常に達成感がありましたね。
松本:1年かけて改修し、リリースした時の達成感はとても大きかったです。また、今回のプロジェクトで培った非同期システムやコンテナ環境の知識は、dodaサイト以外にも活かせると感じています。
田中:今回のプロジェクトでは、組織体制の変更までを視野に入れたプロジェクトだったと知り、その影響力の大きさを感じました。また、マイクロサービス化に合わせて開発チームを分ける構想があり、システム改善が事業や組織運営にまで影響を与えていることを実感できたのは、大きな学びになりましたね。
さらに、チーム全体で、常に“あるべき姿を追求する”意識を持っていたことも刺激を受けました。「既存の仕組みを踏襲する方が楽な局面であっても、目的を達成するために試行錯誤する」――そんな姿勢を持ち続けたいです。
齋藤:「認証認可」の領域は完了し、「会員機能」も残りわずかです。すでに「企業情報」のマイクロサービス化も進めており、4月からは「求人情報」も並行して着手する予定です。ただ技術的な改善だけでなく、長年運用するシステムを考古学的に読み解き、データの主管部署も整備していきたいですね。
田中:今後はアーキテクチャの構築や運用も担えるエンジニアとしてキャリアを広げていきたいと考えています。また、マイクロサービス化はさらに拡大していくので、拡張性や可用性を高める基盤づくりも推進していきたいです。
松本:すでにさまざまな機能の移行を進めていますが、次はデータが集中する全文検索システムのマイクロサービス化に取り組みたいと考えています。将来的にはマイクロサービスグループ以外でも、同じように抜本的なアーキテクチャの改善に携わっていきたいです。
齋藤:マイクロサービス化プロジェクトとして、「企業情報」は2025年度中にリリースし、「求人情報」も来年中に形にしたいと考えています。ただ、開発者一人ひとりが新しいアーキテクチャを十分に理解しないと、本当の改善には繋がりません。
今回のプロジェクトで培った知見を活かして、エンジニア全体のスキルアップやパーソルキャリア全体への波及を促し、より大きな影響を与えるキャリアを築きたいですね。
松本:特に魅力を感じるのは、積極的に挑戦できる環境が整っていることです。私自身、別のチームへの異動や今回のプロジェクトへの参画など、さまざまな挑戦をしてきました。さらに、自ら異動希望を出せる「キャリアチャレンジ制度」や、他部署の仕事を一定の期間に体験できる「ジョブトライアル制度」などの人事制度も充実しています。パーソルキャリアは主体的に行動できるチャンスが多いので、今後も積極的に挑戦していきたいですね。
田中:特にリモートワークやフレックス制度が充実している点に魅力を感じています。子育てをしていると、どうしても時間に制約が生まれがちですが、パーソルキャリアでは、ワークライフバランスを取りながら業務に集中でき、安心してはたらけますよ。
齋藤:勤務中でも病院や保育園の送迎のために中抜けすることもでき、業務時間を柔軟に調整できることもうれしいですね。制度の意義が全社的に浸透していることもあり、とてもはたらきやすい環境です。
加えて、パーソルキャリアには、挑戦を応援してくれる文化があります。自分がやりたいことを提案すれば、きちんと背中を押してくれる。マイクロサービス化を実現できたのも、この文化があったおかげだと思います。制度面と文化面からエンジニアとしての成長を推進してくれるのがパーソルキャリアの大きな魅力です。
取材=伊藤秋廣(エーアイプロダクション)/文=嶋田純一
※所属組織および取材内容は2025年4月時点の情報です。
※略歴内の情報は2025年4月時点での内容です。