エニグモ開発者ブログ
https://tech.enigmo.co.jp/
海外ファッション通販No1サイトBUYMA(バイマ) を運営する株式会社エニグモのエンジニアブログです。
フィード

BUYMAのエンジニア組織はどう進化した?AI駆動時代の開発体制を紹介します
エニグモ開発者ブログ
はじめに こんにちは!エニグモの採用広報担当です。 本記事では、現在のプロダクト開発チームの体制や組織を横断した意思決定の仕組み、そしてAI駆動開発をはじめとする現在のエニグモの開発環境について紹介します。 エニグモが前回、開発組織の変更発表を行ったのは3年前の2023年のことです。 当時は『チームトポロジー』の考え方を取り入れつつ、Domain・Squad・Chapterをベースとした体制へと大きく転換しました。 それから約3年、生成AIをはじめとするテクノロジーの劇的な進化に伴い、開発スタイルや組織に求められる役割も目まぐるしく変化してきました。 今年2026年4月には、サービスエンジニア…
23日前

【無停止移行】Ingress-NGINXからNGINX Gateway Fabricへ無停止で移行する
エニグモ開発者ブログ
こんにちは。インフラグループ Kubernetesチームのmendです! 私たちのチームでは、マイクロサービスの実行環境として、AWS上のKubernetes(EKS)を活用しています。 現在、長年クラスタの入口として活躍してくれた「Ingress-NGINX」がEOLとなりましたので、次世代規格であるGateway APIに準拠した 「NGINX Gateway Fabric」 への移行を行いました。 今回は、移行を決めた背景から、 AWS Load Balancer Controller + external-dns を組み合わせた既存構成の解説、そして 「加重ターゲットグループを活用した…
1ヶ月前

ユーザーにいち早く価値を届けるために、何を先に作り、何を後から取りに行くか ― 買取保証を3フェーズで作った話
エニグモ開発者ブログ
こんにちは。BUYMA で購入者向け機能を開発している Web エンジニアの高橋です。所属している BUY チームは、BUYMA の購入者側の体験(集客と CVR)を担当しています。 2025年末、BUYMA は対象商品の購入時に将来の買取金額を提示するサービス「買取保証」を開始しました。保証期間内に申し込めば、購入代金の一部が現金または BUYMA ポイントで戻る仕組みです。 プロダクトとしてはシンプルですが、この機能はフェーズを分けて段階的に作ってきました。進め方として意識していたのは、要件を全てこなすのではなく、自分たちで課題を見つけ、いち早くユーザーに価値を届けるための落としどころを見…
1ヶ月前

Visual Intelligence 対応を支える画像検索基盤を作る:数千万枚の商品画像を扱うための設計と運用
エニグモ開発者ブログ
BUYMAが対応した iOS の Visual Intelligence の裏側で、数千万枚規模の商品画像を検索可能にする画像検索基盤をどのように構築したかを紹介します。Dataflow による分散処理、Vertex AI Vector Search を使った検索基盤、複数機能から再利用しやすいAPI設計、検索品質とコストのバランス、GPU処理のボトルネック改善など、プロダクトに組み込むための設計と運用の工夫を解説します。
2ヶ月前

BUYMA検索・MLOps基盤の裏側を紹介します~マイクロサービス化から生成AI活用まで~
エニグモ開発者ブログ
はじめに こんにちは、AIテクノロジーグループの検索チームです。 昨年公開した エニグモのAI活用を支える「AIテクノロジーグループ」について紹介します! では、グループ全体の体制と各チームの役割を紹介しました。 本記事ではそのなかの検索チームに焦点を当て、日々どんなシステムを運用し、どんな案件を進めているかをもう一段詳しくお伝えします。 検索チームは名前のとおり BUYMA の検索システムを担当していますが、それだけではありません。 データサイエンティストが開発したモデルを安定して動かす MLOps と、生成AIを使ったシステムの実装・PoC も担っています。検索基盤から機械学習の本番化、A…
2ヶ月前

AI導入でカスタマーサービス対応はどう変わる?Notion AI・Cursor活用の実践事例
エニグモ開発者ブログ
こんにちは。 エニグモのWebアプリケーションエンジニアのレミーです! カスタマーサービスに寄せられる問い合わせは、仕様確認から不具合の疑いまで内容が幅広く、エンジニアが対応にかかわる場面も少なくありません。近年はこのカスタマーサービス対応の現場でも、Notion AIやCursorといったAIツールの活用が急速に進んでいます。 この記事では、私たちのエンジニアチームがNotion AIとCursorをカスタマーサービス対応に取り入れたことで、業務がどう変わったのかを、導入前と導入後を比較しながら紹介します。「AIでカスタマーサービス対応は本当にラクになるのか?」を検討している方の参考になれば…
2ヶ月前

エニグモのセキュリティ最前線:DevSecOpsと攻めのガバナンスで全社を守る仕組みづくり
エニグモ開発者ブログ
1. はじめに こんにちは!エニグモのセキュリティチームです。 エニグモの中核事業の「BUYMA」は、世界中のパーソナルショッパーから商品を購入できる、会員数1,200万人超のCtoCのECプラットフォームです。 大規模かつグローバルなトラフィックを守るため、セキュリティの重要性は日々高まっています。 今回は、そんな当社におけるセキュリティチームの現在の取り組みや組織体制、そして今後注力していく技術的な課題についてご紹介します。 セキュリティエンジニアとしてエニグモで働く魅力や、リアルな業務の裏側が少しでも伝われば幸いです。 2. セキュリティ組織の体制とミッション エンジニアリングの現場に根…
3ヶ月前

個別商品レコメンドから検索クエリへ:アプリホームの新しいレコメンド検証
エニグモ開発者ブログ
こんにちは、データサイエンティストの髙橋です。業務では企画/分析/機械学習モデル作成/プロダクション向けの実装/効果検証を一貫して行っています。 この記事では、BUYMA アプリのホーム画面に検索クエリレコメンドを導入し、ホームレコメンド経由の CVR の向上、アプリ全体の商品閲覧ユーザー率(商品詳細を閲覧したユーザー/全体ユーザー)の改善をした事例を紹介します。 レコメンドシステム全体としては、機械学習ロジックとバックエンド実装の両方がありますが、今回は前者の機械学習ロジックを中心に紹介します。バックエンド実装は別途紹介予定です。 施策の目的 新しいレコメンドイメージ 新しいレコメンドによる…
3ヶ月前

AWSリソースの整理とコスト最適化 手動運用で掴むシステムの肌感覚と自動化への展望
エニグモ開発者ブログ
概要 こんにちは、インフラエンジニアの 加藤 です。 社内で行ったAWSのコスト最適化とリソース整理の内容をレポートします。 今回は、AWS Compute Optimizer、AWS Trusted Advisor、Amazon S3 Storage Lensを活用し、不要・過剰リソースの洗い出しから削除までを手動で実施しました。 まずはAWSの公式推奨値や手作業でのチェックを経て「どの部分を仕組み化できそうか」のあたりをつけ、今後はそれをベースに自動化や定期モニタリングの仕組みを構築していく予定です。 本記事では、具体的な実施内容や改善結果とあわせて、今後の自動化・仕組み化に向けた方針をま…
4ヶ月前

Railsで主要ページのパフォーマンス改善を行った話
エニグモ開発者ブログ
こんにちは。BUYMA TRAVELのWebエンジニアの赤間です! BUYMA TRAVELは BUYMA を運営する株式会社エニグモのグループサービスです。 1. はじめに 弊社では日本語対応のオプショナルツアー・貸切ガイド予約サイト’’BUYMA TRAVEL’’を開発・運営しています。 その中でも「エリアページ」と「スポットページ」は検索エンジンから流入したユーザが最初に訪れることの多い主要なページです。 ここ数ヶ月でユーザにとってより使いやすいページを目標に、クチコミやおすすめ商品の掲載など様々な要素・機能の追加を行ってきました。しかしその一方で表示速度が低下し、商品数の多いページによ…
4ヶ月前

XSS(クロスサイトスクリプティング)とは?脆弱性の診断方法と対策
エニグモ開発者ブログ
こんにちは。 エニグモのWebアプリケーションエンジニアのレミーです! Webセキュリティにおいて最も頻繁に発生する脅威の一つがXSS(クロスサイトスクリプティング)です。ユーザーに大きな被害をもたらし、企業の信頼を失墜させるこの脆弱性について、その仕組みから対策まで解説します。 XSS(クロスサイトスクリプティング)とは? XSSとは、Webアプリケーションの脆弱性を突き、悪意のあるスクリプト(主にJavaScript)を攻撃者が他のユーザーのブラウザ上で実行させるサイバー攻撃です。 攻撃が成功すると、以下のような深刻な被害が発生する可能性があります。 セッションIDやクッキー、個人情報の取…
5ヶ月前

スケールするための設計:BUYMA Personal Shopper API のイベント駆動アーキテクチャ
エニグモ開発者ブログ
BUYMAのPersonal Shopper API(PS-API)が、gRPC、Amazon SQS、Webhook、非同期処理を活用しながら、出品者システムとBUYMAのコアプラットフォームをつなぐ仕組みを紹介します。大量リクエストへの対応、キューによるスパイク吸収、モノリスとの連携、スケーラビリティ向上に向けた取り組みなど、イベント駆動アーキテクチャの実践例を解説します。
5ヶ月前

エニグモのアドベントカレンダー2025の振り返りと運営の工夫
エニグモ開発者ブログ
こんにちは。 エニグモ採用担当の戸井です。 普段は中途採用や採用広報を担当していますが、主にエンジニア採用を担当している関係で、エンジニア組織の「Developer Relations(DevRel)チーム」にも所属しています。 DevRelチームはエンジニア組織のアウトプット促進や勉強会の運営やイベントサポートなどを行っており、その一環としてアドベントカレンダーの運営にも携わっています。 この記事では昨年実施したアドベントカレンダー全体の振り返りと、運営の取り組みについて紹介します。 アドベントカレンダーとは? 元々は、クリスマスまでの日数をカウントダウンするために使われるカレンダーで、12…
6ヶ月前

AI駆動開発とベンチャー回帰で創る次世代エンジニア組織
エニグモ開発者ブログ
こんにちはVPoEの木村です。 会社として新年度を迎え少し経ちましたが、先月頭、エンジニア組織の今期以降の運営方針を社内向けに発表しました。今回はその方針について、ブログでもご紹介したいと思います。 テーマは「AIの最大活用〜新開発フロー・体制へ移行〜」と「ベンチャー回帰〜ビジネス成果への直接貢献〜」です。 先期の振り返り 〜再確認した内製エンジニア組織としての存在意義とAIの力〜 先期を振り返る時に欠かせないトピックとしてまず挙げられるのが、大規模メンテナンスを実施し、BUYMAのインフラ基盤をオンプレからAWSへ移行したことです。 事前に最大限リスクを取り除く努力はしたものの、一定のリスク…
7ヶ月前

AI時代のPdMの武器は「土壌」にある。BUYMAの歴史をレバレッジに、高速で仮説を形にする方法
エニグモ開発者ブログ
はじめに 株式会社エニグモでプロダクトマネージャー(PdM)を務めているKNです。2025年2月に入社し、約1年が経過しました。 前職では新卒でWeb系企業にエンジニアとして入社し、3年間従事しました。 文系出身ながらAWSでのインフラ構築・メンテナンスからバックエンド・フロントエンドの開発まで、幅広く経験しました。 その後、社内転職でPdMへとキャリアをシフトし、フィンテックサービスのグロースを担当していました。 私がエニグモへの転職を決めたのは、20年続く「BUYMA」というプロダクトが持つ圧倒的な蓄積に惹かれたからです。 しかし同時に、「歴史があるがゆえに、動きが遅く、部分最適の調整に追…
9ヶ月前

【BigQuery】過去データの再作成が超絶楽になる!ループ処理でシャーディングテーブルを一気に作成する方法
エニグモ開発者ブログ
こんにちは、エニグモの嘉松です。普段はデータ活用推進室にて、データ分析・データ活用の推進やMAツールを用いたCRM施策などを担当しています。 本記事はEnigmo Advent Calendar 2025の最終日(25日目)の記事です。1ヶ月間にわたり様々なテーマで繋いできたバトンも、いよいよ今回が最終回となります! 最終回は、データ分析・データ活用の裏側を支える技術にフォーカスし、BigQueryに関する(少しディープな)知見を共有します。 時点データとは? データ分析において、現時点のデータだけでなく「過去のある時点」のデータを保持しておくことは極めて重要です。例えば、ユーザーの注文回数、…
10ヶ月前

Ruby on Rails アプリのパフォーマンス最適化10選
エニグモ開発者ブログ
こんにちは!Webアプリケーションエンジニアのレミーです! この記事はEnigmo Advent Calendar 2025の24日目の記事です。 Ruby on Rails アプリが遅いと感じるのは、ほぼ次の3の原因になります。 DBクエリが多すぎる(特に N+1、COUNT/EXISTS の使い分けミス、インデックス不足) 不要なデータを読み込みすぎる(テーブル全て/重いカラム全て取得、あるいは全部を RAM に書き込む) ビューのレンダリング/コールバックが働きすぎる(partial の多用、重いフォーマット処理、不要なコールバック/バリデーションの実行) この記事では、効果が見えやすい…
10ヶ月前

Rails + SQL Server環境でハマったBooleanの罠
エニグモ開発者ブログ
こんにちは、WEBエンジニアのChoi(チェ)です。 BUYMAの購入者向け機能を開発するチームで、主にSEO改善の業務を担当しています。 この記事はEnigmo Advent Calendar 2025の23日目の記事です。 Railsを使用する際は一般的にMySQLやPostgreSQLが使われますが、BUYMAでは用途に応じてSQL Serverも使用しています。 最初は「どのSQLも大差ないだろう」と思っていましたが、運用を開始するとRails + SQL Server特有のトラブルに遭遇しました。 今回はその中でも、 エラーは一切出ないのに、結果だけが返ってこない という、かなり気づ…
10ヶ月前

Rails 8のSolid Queue:Sidekiqに代わる新しい非同期処理システム
エニグモ開発者ブログ
こんにちは!Webアプリケーションエンジニアのレミーです! この記事はEnigmo Advent Calendar 2025の21日目の記事です。 Rails 8がリリースされてから、バックグラウンドジョブシステムである Solid Queue に興味を持ち、調べてみました。 バックグラウンドジョブは、Ruby on Railsアプリケーションに重要な部分です。メール送信、画像処理、データ同期、キャッシュ更新、CSVファイルのエクスポートなど、これらはすべてアプリケーションの高速化とスムーズな動作を維持するために非同期で実行すべきタスクです。 長年、Railsのバックグラウンドジョブにおいて「…
10ヶ月前

アジャイルは会社ごとに別物。でも、あるあるは共通だった
エニグモ開発者ブログ
こんにちは、BUYMA TRAVEL Webエンジニア の赤間です。 この記事はEnigmo Advent Calendar 2025の20日目の記事です。 この記事では、転職をきっかけに感じたことを基に、アジャイル/スクラムの基本と、現場で起きがちな"あるある"とその対策について紹介します。 軽く自己紹介になりますが、私は2025年8月に転職してきたエンジニアです。前職でもエンジニアとして開発を行なっており、時期によってはスクラムマスターの役割も担当していました。 その経験から、転職後に「これってアジャイルか?」と戸惑ったことがあり、同じように悩む人のヒントになればと思いこの記事を書いていま…
10ヶ月前

機械学習実験を加速させる dbt による特徴量管理の実践
エニグモ開発者ブログ
こんにちは、AI テクノロジーグループ データサイエンティストの髙橋です。業務では企画/分析/機械学習モデル作成/プロダクション向けの実装/効果検証を一貫して行っています。この記事は Enigmo Advent Calendar 2025 の 19 日目の記事です。 本記事では、 dbt を利用した機械学習モデルの特徴量管理について紹介します。この特徴量管理を活用することで、機械学習を利用したプロジェクトで多くの実験を効率的に実施でき、利益増加というビジネス成果に繋げることができました。 www.getdbt.com 特徴量管理の目的・成果 数多くの特徴量を試す上での課題 dbt による課題解…
10ヶ月前

AWS Savings Plans検討をGemini Gemsで自動化する~~プロンプト作成のコツと組織管理の課題~~
エニグモ開発者ブログ
こんにちは、インフラエンジニアの森田です。 この記事はEnigmo Advent Calendar 2025の 14日目の記事です。 今回は、業務効率化のためにGoogle Geminiのカスタム指示(Gems)を作成し、 実際の業務で使ってみた使用感や気づきについて紹介します。 どのような業務に活用したか 私は直近でAWSのコスト削減に取り組んでいます。 特にSavings Plansなどを購入する際、複数アカウントのオンデマンドコストと推奨コミット額を見比べ、 その購入計画が適切かを整理する必要がありました。 これを人力で行うのは工数もかかり、ミスのリスクもあるため「辛い」作業でした。 そ…
10ヶ月前

「AIでさがす」サービスのリニューアル - BUYMA内記事コンテンツをベースにした商品提案エージェントの実現
エニグモ開発者ブログ
こんにちは、AIテクノロジーグループのエンジニアの吉田です。 本記事はEnigmo Advent Calendar 2025の 18日目の記事です。 普段は検索システム全般、機械学習システムのMLOps、AI関連の機能開発を担当しております。 この記事では「AIでさがす」サービスのリニューアルについて紹介します。 「AIでさがす」サービスとは 「AIでさがす」サービスは、BUYMAのWebサイトおよびアプリで提供している、AIを活用した商品提案サービスです。 実際の機能は以下からご利用頂けます。(BUYMAアカウントでのログインが必要となります。) 「AIでさがす」サービス ユーザーが文章で質…
10ヶ月前

Workflows + Cloud Scheduler で定期処理をサーバーレス構築(Cloud Composer との比較もあります)
エニグモ開発者ブログ
毎日追加・更新される商品データを 処理する Dataflow を実行したい、という目的に対して、Cloud Composer を使わず、Workflows + Cloud Scheduler を採用することで、管理コストと金銭的コストを最小限に抑えたアーキテクチャを構築した。
10ヶ月前

PHPerがRubyistになろうとしてつまづいたところ⑥プロセス内キャッシュ
エニグモ開発者ブログ
WEBアプリケーションエンジニアの小松です! プロセス内キャッシュの挙動に馴染みがなかったので、どういう挙動なのか。 ネットワーク越しのキャッシュとの使い分け。 他言語との比較でRails特有の仕様なのかどうか。 という疑問が湧いたので調査し、それを記事にしました。 この記事は[Enigmo Advent Calendar 2025]の16日目の記事です。 ローカルキャッシュとは何か 今回直面した疑問と調査内容 「ディスク IO を避けたいだけなら」プロセス内キャッシュが最も速い 実際に採用したコード Rails 特有の挙動 Rails サーバーが複数台ある場合の挙動 キャッシュとしての位置づ…
10ヶ月前

エニグモでは問い合わせをどう捌いているのか?ヘルプデスク業務の裏側をお伝えします
エニグモ開発者ブログ
こんにちは、コーポレートエンジニア(コーポレートITチーム)の藤田です。 この記事は Enigmo Advent Calendar 2025 の15日目の記事です。 コーポレートIT(以下CO-IT)の業務において、地味ながらも非常に重要な「ヘルプデスク業務」についてお伝えします。 「どのようなツールを使って、どのようなフローで対応し、どうやってナレッジを残しているのか」 普段あまり表に出ることのない、運用の裏側をご紹介しようと思います。 自己紹介 なぜこの記事を書くのか エニグモのヘルプデスク構成要素 ヘルプデスク対応のフロー 運用における3つのこだわり 入り口の設計:「優しさ」と「セキュリ…
10ヶ月前

GCSToSFTPOperatorでハマった
エニグモ開発者ブログ
こんにちは!WEBアプリケーションエンジニアの小松です! 今まで主に EC サイトの WEB エンジニアとして仕事をしてきて、Airflow を触るようになったのはエニグモに入社してからでした。 BUYMA では、広告媒体向けのフィード生成や外部パートナーとのデータ連携、在庫データの収集など、毎日大量に発生するバッチ処理を Airflow に任せています。 人手では絶対に回せない規模なので、Airflow は影の立役者のような存在です。 そんな Airflow を動かしている基盤が Google Cloud Composer なのですが、会社全体でオンプレサーバーからクラウドへ移行していく流れ…
10ヶ月前

ローコードAIツールDifyをエンジニアが使ったら?コードブロックでハマった7つの落とし穴
エニグモ開発者ブログ
こんにちは、AIテクノロジーグループの辻埜です。 本記事は Enigmo Advent Calendar 2025 の12日目の記事です。 普段はデータサイエンティストとして機械学習を用いたシステムの開発運用や、社内のAI活用推進を担当しています。 近年、生成AIの活用が進む中で、エニグモでも社内のAI活用を推進するため、Difyという生成AIアプリ開発ツールを活用した取り組みを行っています。Difyは非エンジニアでもAIを組み込んだワークフローを簡単に構築できるツールです。 dify.ai 社内での導入初期に、使い勝手はどうか?どんな場面で有用か?を調査するため自分でも使ってみたところ、いく…
10ヶ月前

BigQueryのデータをAIでフィルタリング!手動→自動化→コスト最適化の3ステップ
エニグモ開発者ブログ
こんにちは、AIテクノロジーグループの竹田です。 本記事は Enigmo Advent Calendar 2025 の11日目の記事です。 本稿では、BigQueryで抽出したデータに対して「金額に関する記述が含まれているか」をAIで判定する方法を、段階的に進化させながら紹介します。 この記事を書いた背景 私は元々検索システムの運用保守やMLOpsのOps周りを担当していました。 しかし、ここ最近は生成AIが実用的なツールとして利用できるようになり、業務でもAIを活用した対応が急増しています。 そんな中で直面したのが、「BigQueryで抽出した大量のテキストデータに対して、AIで判定処理を行…
10ヶ月前

PHPerがRubyistになろうとしてつまづいたところ⑤Facade
エニグモ開発者ブログ
こんにちは。WEBアプリケーションエンジニアの小松です。 私はこれまで主に EC サイトの開発に携わってきて、普段は PHP を中心に書いてきました。本格的に Ruby on Rails に触れるようになったのは、エニグモに入社してからです。 Rails のコードベースに新しく入ると、「Rails ではこう書くのか」と驚く場面が多いのですが、その中でも特に戸惑ったのが Facade パターン でした。 Service、Presenter、FormObject あたりは PHP の現場でも馴染みがありましたが、「Facade としてロジックをひとまとめにする構造」 は自分にとってほぼ未経験。 既…
10ヶ月前