株式会社エウレカ(以下: エウレカ)は、恋活・婚活マッチングアプリ「Pairs(ペアーズ)」を運営する企業です。今回、Backendの中でも、決済や通知系の共通基盤の開発を担うPlatform BackendチームのDaisukeさん、Yamaguchiさんに業務内容やAI活用についてお話を伺いました。
👉Daisukeさん:2020年入社。決済を中心とした各種基盤の整備、AIを活用した開発の推進を担当。
👉Yamaguchiさん:2022年入社。主にデータストアや検索基盤などのリプレース・リファクタリングを担当。
この記事は、Pairs Careerの記事を一部改変して掲載しています
これまでのキャリア
Daisukeさん:テスターとしてエンジニアのキャリアをスタートし、その後はバックエンドで経験を積んできました。エウレカに入社し、現在のPlatform Backendチームが立ち上がる前はProduct Backendチームの配属でしたが、特定のプロジェクトに入るというよりは、開発生産性の向上に向けた基盤・仕組みづくりを担当していました。そのため、チームが変わった今も、本質的な仕事内容はあまり変わっていませんね。
Yamaguchiさん:これまでアドテク領域のバックエンド開発やモバイルSDK開発を中心に、ソフトウェアエンジニアとしてキャリアを重ねてきました。長らくBtoB領域に携わってきましたが、多くのユーザーに直接価値を届けられるプロダクト開発に挑戦したいと考え、エウレカに入社しました。エウレカでは1年半ほど前にProduct Backend(以下:PBE)チームからPlatform Backendチームに異動になりました。業務内容が変わったことで、開発プロセスや基盤の改善を通じて、チーム全体の生産性を高めるにはどうすれば良いかを考えるようになり、エンジニアとしての意識が変わったと思います。
大変だけど、解きたい課題がここにある。ペアーズの共通基盤を支えるPlatform Backendの役割とやりがい
Platform Backendチームの役割について教えてください
Yamaguchiさん:ペアーズのバックエンドを支える共通基盤を設計・構築し、継続的に改善することがPlatform Backendチームの役割です。目指しているのは、プロダクト開発の速度と、システムの保守性・信頼性を両立することです。Platform Backendでは、バックエンドチームが長期的に速く動き続けられるよう、プロダクトのロードマップには載せにくい技術課題や基盤整備に取り組んでいます。
ペアーズの共通基盤を扱う中で、どんなところにやりがいを感じますか?
Yamaguchiさん:ペアーズはコード量・トラフィック・データ量がどれも大規模で、それがシステムの難しさに繋がっています。大量トラフィックの環境では、小さな最適化でも大きな効果が出る一方、小規模なサービスでは表面化しにくい問題が起こることもあります。またデータベースにあるテーブルの扱い1つとっても、レコード数が多い場合には対応を工夫しなければなりません。こうした大規模サービスならではの要求に向き合い続ける事は大変ですが、成長につながりますし、それ以上に「自分が解きたい」と思える仕事が続いているのが、今Platform Backendで働いていて一番好きなところです。
Daisukeさん:Platform Backendが開発した基盤をPBEチームやAIチームに使ってもらい、その結果として新しい価値がユーザーに届く、というのが基本的なアプローチです。例えば、通知系の共通基盤を刷新したことで、ユーザーに必要な情報を適切なタイミングで届けられるようになりました。また、基盤側に新しい決済プラットフォームを追加し、それをPBEやフロントエンド(クライアントサイド)につないでもらうことで、新しい決済手段が使えるようになります。細かい部分では、テストを便利にするためのツールや、日々のプログラミングが楽になる仕組みを提供したりもしています。間接的ではありますが、ペアーズの利便性や快適性を根底からサポートできていることに誇りを感じます。
左からDaisukeさん、Yamaguchiさん
中長期の視点とAI活用で、長く安全に使い続けられる仕組みをつくる
技術課題に対して意識していることや、工夫をしていることはありますか?
Yamaguchiさん:目の前の課題を解決するだけでなく、中長期的な改善計画を立てることを意識しています。特に中長期の事業計画を踏まえ、今後どのような機能やシステム要件が求められるのかを見通しながら、必要な技術的な打ち手を先回りして考えることを重視しています。また、常にスケーラビリティとサービスの安定性を意識しています。例えば、通常のDBクエリはもちろん、調査などで一時的に実行するアドホックなクエリでも、想定以上の負荷を与える可能性があります。そのため、クエリの実行計画や対象となるデータ量、キャッシュの活用方法などを慎重に検討しています。
Daisukeさん:技術課題に向き合うときは、「何のために変えるのか」だけでなく、「既存の開発や運用にどう組み込むのか」まで考えるようにしています。どれだけ良さそうな案でも、既存の運用にうまく乗らなかったり、後からしんどくなりそうだったりするなら、一段階手前で立ち止まって考え直すことが多いです。共通基盤は多くのチームに長く使われるため、利用する側に無理がなく、Platform Backend自身も継続して運用できることが重要です。新しい仕組みを導入する前に、運用負荷や問題が起こり得る箇所を洗い出し、できるだけ先回りして対処します。技術的に優れているだけでなく、無理なく定着し、安定して使い続けられることを重視しています。
AI Agentを用いた開発は当たり前になりつつありますが、どのように活用していますか?
Yamaguchiさん:共通基盤の変更では、同じような修正を多くの箇所に適用することがあります。AI Agentは調査やコーディングを加速してくれますが、出力は確率的です。大量の修正をそのまま任せると、出力のばらつきや修正漏れが生じ、確認コストも大きくなります。そこで、大量の変更をAIに直接任せるのではなく、静的解析やコード変換など、同じ入力に対して一貫した結果を返すツールの作成にAIを活用しています。例えばRedisからValkeyへの移行では、既存コードを新しいコード形式へ機械的に変換するツールを作り、作業時間を大幅に削減できました。
Daisukeさん:共通基盤の開発は影響する範囲が広く、変更するコードの量も多くなりがちです。そのため、手作業だけで進めるのはリスクと作業量の両面でどうしても限界があります。また、AIを活用する場合も、広範囲にわたる変更に対してシステム全体の整合性を保ちながら、100%正確にコントロールしきることは、現状のAI単体では困難です。だからこそ、仕組みやツールを介して「人間が安全に制御できる状態」をいかに設計するか、というアプローチが僕たちの領域では重要だと考えています。
Yamaguchiさん:AIは積極的に活用していますが、必要に応じて判断できることも大切にしています。よりうまく使いこなすという意味でも、技術書などを通じた基礎学習は続けています。
Daisukeさん:本当にその通りですね。最終的に人が介入して判断する必要がある限り、エンジニアとして学びを止めてはいけないなと感じます。
「週3日のモブプログラミング」で思考をすり合わせる。知識の属人化を防ぎ、迅速に意思決定するチームの仕組み
チームの強みや雰囲気についてはいかがですか?
Yamaguchiさん:Platform Backendの場合、バックエンドの深い基盤部分から、アプリケーションに近い上のレイヤーまで、かなり広い技術領域を見る必要があります。ですが、メンバー全員がそれぞれ異なる専門性や強みを持っているため、チーム全体でアンテナを張り、幅広くカバーできていることが最大の強みだと思います。
Daisukeさん:現在Platform Backendにいるメンバー全員が、過去にPBEを経験していることも大きいですね。プロダクトの機能面や、開発側の痛みを身をもって知っているからこそ、現在の「使いやすい基盤づくり」に活きていると感じます。
Yamaguchiさん:PBEチームとは以前は同じチームで、現在は別のチームになっていますが、今もかなり密に連携できているのが良いところです。心理的な距離も近く、お互いを尊重しながらコミュニケーションを取れているので、やり取りも非常にスムーズですね。
チームの働き方・特徴について教えてください
Daisukeさん:メンバー全員が集まって実際に手を動かし、議論する、いわゆるモブプログラミングを、週に3日ほど実施しています。意図的に、全員で思考を擦り合わせる時間をスケジュールに組み込んでいます。
Yamaguchiさん:週3回と聞くと多く感じるかもしれませんが、Platform Backendは決済や通知、翻訳基盤など守備範囲が広く、扱うテーマも多岐にわたります。そのため、日々相談したいことや議論したいことが自然と生まれ、モブ会でも話題が尽きることはありません。メンバー間で背景知識や判断の過程を共有できるため、知識の属人化を防ぎ、チームとして素早く意思決定するための場にもなっています。
Platform Backendチームの1日
Daisukeさん:朝9時ごろにオフィスへ出社し、まずは前日のうちに確認しきれなかったPull Requestのレビューがあれば対応します。レビューが終わったら、11時のチームミーティングまでは自分のタスクを進めることが多いです。ミーティング後はその場で必要になった確認や対応を行います。たとえばシステムのエラーログの確認やメトリクスの詳細分析などです。区切りがついたところでランチを取ります。午後は日によって異なりますが、ミーティングに参加したり、自分のタスクを進めたりして、18時ごろに退社することが多いです。
AI時代のエンジニアの役割とは。AI開発の高速化と安定化に挑み、自らの領域を広げていく
エンジニアとして今後どのようなキャリアを築いていきたいですか?
Daisukeさん:最近のAIの進化は本当に速くて、正直なところ数年先のキャリアを明確に描くのは難しいと感じています。そんな中でも、その変化を支える仕組みづくりや、開発者体験の改善には引き続き関わっていきたいと思っています。AIが開発を加速させてくれる今、これからはAIをいかに安全かつ効率的に活用していくかという観点で、開発プロセスそのものを最適化し、推進していく役割がますます重要になると感じているからです。中長期の視点で見ると、また状況が変わっているかもしれませんが、短期的にはエンジニアがより本質的な価値創出に向き合える環境の構築に取り組んでいきたいです。
Yamaguchiさん:今後は、これまで培ってきたバックエンドの専門性をさらに磨きながら、モバイルや機械学習など、周辺領域にも対応できる力を身につけていきたいと考えています。特に、自身の学習支援にAIを活用することで、新しい領域にもスピード感を持って挑戦し、より幅広い課題を解決できるエンジニアを目指したいです。また、技術そのものを追求するだけではなく、会社の成長戦略や事業課題を理解したうえで、技術的なアプローチによって具体的な価値を生み出せるキャリアを築いていきたいと考えています。
この記事を読んでいる方へのメッセージ
Daisukeさん:表舞台で目立つ新機能を作るよりも、裏方のポジションに興味を持てたり、「仕組みの効率化」そのものにやりがいを感じられる人がPlatform Backendに向いていると思います。僕は、コードを自動生成するツールを作ったり、毎日のルーティン作業をスクリプト化して自動化するのが好きです。Platform Backendはスケジュール管理においてもある程度エンジニアに自由と裁量があるチームなので、その時間を活かして、目立たないけれど技術的に新しいことにどんどん挑戦していきたいという強い姿勢を持った人と、ぜひ一緒に働きたいですね。
Yamaguchiさん:時には、地道で泥臭い作業に向き合わなければならない場面もありますが、そうした課題に粘り強く向き合い、技術で少しずつ改善していくことを楽しめる人には、とても面白い環境だと思います。自分の担当領域だけでなく、周囲のエンジニアが開発しやすい仕組みを整えることにやりがいを感じる人や、大規模トラフィックを支えるシステムの難しさに向き合いたい人にとって、Platform Backendは多くの挑戦機会があるチームです。
👉 Follow Life at Pairs on LinkedIn