株式会社GENDA

正社員

データエンジニア・MLOps エンジニアとして以下に従事
- データパイプライン全体の変更対応
- データマート整備
- ダッシュボード作成・運用
- AWS から Databricks への機械学習開発基盤移行対応
- CI 導入など機械学習基盤の整備

Modified

2025-05-21

Table 1: 会社概要・雇用形態 (2024年時点)
事業内容 グループ各社の事業成長の支援および経営管理
資本金 197億6,465万円(資本剰余金含む)
売上高 連結:556億円(2024年1月期)
従業員数 連結:12,056名(2024年8月31日時点)
上場/非上場 上場
雇用形態 正社員
勤務地 フルリモート (居住地 北海道札幌市)
年に数回汐留本社へ出社
所属 [2024/11 - 現在] IT戦略部 データチーム

1. [データ] カラオケ事業会社のデータ利活用推進

1.1. 概要

  • 様々な意思決定をデータに基づいて行うために必要なデータ基盤の構築運用とデータ活用方法の提案

1.2. 期間

  • 2024/11 - 現在

1.3. 規模・役割

  • 役割:リーダー
  • 規模:4名
    • データエンジニアリング全般:2名 (自分含む)
      • 内訳
        • データパイプライン構築:メンバー1名
        • dbt によるデータマート構築:私1名
        • ダッシュボード作成:私1名
    • 事業会社側役員との折衝等担当 (BizDev):1名
    • 事業会社側経理担当:1名

1.4. 担当業務

  • POS データやアプリDBのデータを Snowflake に集約するデータパイプライン構築・運用
    • 補足:Snowflake に転送後 Databricks からテーブルを参照しています
  • 用途に応じた dbt によるデータマート構築
  • データ基盤上のデータを利用したダッシュボード作成・運用
  • データ基盤 (Databricks) やデータ利活用方法の啓蒙

1.5. 機能開発・実装詳細

  • データパイプライン構築
    • MWAA を用いて事業会社側の SFTP サーバ上の CSV ファイルをダウンロードし Snowflake のテーブルへデータを追加する
    • データパイプライン全体を Terraform で管理している
    • あるいは直接受領したファイルを Snowflake へ手動追加する
  • dbt によるデータマート構築
    • Databricks で dbt Core ジョブを実行し Databricks 上にデータマートを構築する
  • ダッシュボード作成
    • Databricks のダッシュボード機能を利用する

1.6. 目的・背景

  • 開発が生じる要因
    • データパイプライン構築
      • M&A によりグループインした企業の POS データを新たに取り込む
      • 目標数値など連携対象が増加した際に適宜取り込む
      • IPコラボの情報などのマスターデータを営業サイドから受領する
    • dbt によるデータマート構築
      • ダッシュボード作成に必要なデータ集計処理時間の短縮のために dbt によるバッチ処理に切り出す
    • ダッシュボード作成
      • 料金体系の変更など施策の効果を監視するために可視化したいデータの要望を受ける

1.7. 課題

  • 人員不足による開発遅延
    • 私がデータ転送部分の開発・改修を自分の手で直接実施はせず他メンバーに任せるという業務分担状況で、なおかつグループインする企業が増え続けている都合でデータ転送部分を担うデータエンジニアの手が回りづらい状況が続いていました。
    • 経営目線で求められるダッシュボードを作成する上で必要なデータへの知見や技術をもった人間が私しかいないため私がボトルネックになっています。

1.8. 工夫した点

  • 私がデータ転送部分の開発・改修に深くコミットしていないという業務分担状況で、なおかつグループインする企業が増え続けている都合でデータ転送部分を担うデータエンジニアの手が回りづらい状況が続いている

後段の開発作業の工数を削減する目的で、現状の実装から最小限の変更で対応できる要件となるよう事業会社側と交渉をまとめました。 実装作業こそ自分で実施しないものの、実装内容を100%理解できているため業務の切り出しを最適な形で行うことができました。

  • 経営目線で求められるダッシュボードを作成する上で必要なデータへの知見や技術をもった人間が私しかいないため私がボトルネックになっています。

現状も続いている課題であって大きな成果はまだ出せていません。 現在事業会社側では全社的にトップダウンな意思決定を伴いつつDX推進中になるため、事業会社側のメンバーの工数の確保をトップダウンで実施してもらい、その時間を活用して私の手で人材育成を行う流れを検討しています。 生成AIを補助に利用する方法などを提示しつつできる形で関与できるメンバーを増やしていければと思います。

1.9. 成果

  • ダッシュボード
    • 事業会社側の経理部門により Excel で毎日作成されていた売上速報をダッシュボードにより完全自動化できました。
    • 週次で実施している全国のエリア統括者と役員の参加する営業会議向けに作成していた週報の作成をほぼ自動化できました。
    • 事業会社側の担当者から追跡したいデータに関する要望が出てくるようになり、データドリブンな意思決定をできる体質に一歩近付きました。
  • データ基盤
    • マーケティング施策の効果検証に利用するデータを揃えることで効果的なマーケティング施策立案に貢献しました。

1.10. 担当フェーズ

  • ヒアリングや提案による以下の要件整理
    • データパイプライン改修
    • ダッシュボード新規作成・項目追加
  • 開発指揮
    • データパイプライン改修
  • 開発作業
    • dbt によるデータマート構築
    • ダッシュボード新規作成・項目追加
  • 運用作業
    • データパイプライン不通時の原因調査
    • データマートやダッシュボードの障害解消

1.11. 開発環境

  • GitHub
  • AWS
    • MWAA
  • Snowflake
  • Databricks
  • dbt Core
  • Terraform

2. [データ] ゲームセンター事業会社のIPマスターデータ作成支援

※IP:知的財産 (Intellectual Property)。ゲームやアニメのタイトルなどを指しています。

2.1. 概要

  • IP名、IP・キャラクターの関係性、景品・IP・キャラクターの関係性を整理したマスターデータを作成する

2.2. 期間

  • 2025/04 - 現在

2.3. 規模・役割

  • 役割:リーダー
  • 規模:4名
    • マスターデータ設計・システム設計:私1名
    • kintone アプリ PoC 担当:1名
    • 事業会社側メンバーとの調整担当兼 kintone アプリ実装担当:1名
    • データパイプライン構築:1名

2.4. 担当業務

  • データ入力用の kintone アプリ設計
  • kintone アプリからデータ基盤への連携に必要なデータパイプライン設計
  • kintone アプリの運用方法検討

2.5. 機能開発・実装詳細

  • kintone アプリ
    • IP名、IP・キャラクターの関係性、景品・IP・キャラクターの関係性を表すマスターデータへのデータ追加・修正を行う
  • データパイプライン
    • kintone アプリから Snowflake へのデータ転送を行う
    • データパイプライン全体を Terraform で管理する

2.6. 目的・背景

  • IPやキャラクターを包括的に管理する仕組みが社内外ともに存在せず、景品選定も担当者の経験則に依存しており改善が求められる状況でした。
  • 景品の売上実績やIPの流行に関する情報をデータとして蓄積していき更に景品選定に活用するサイクルを作っていきたい狙いがあります。

2.7. 課題

  • 以下の要求があり、入力からデータ基盤への連携までどのようなシステムが最適か検討する必要がありました。
    • 景品を卸す業者に一次情報を入力してもらう kintone アプリの導入が進められている最中であった
    • 責任分掌の観点からデータの修正や管理を調達部門に自律的に実施してもらう必要がある
    • 毎日数十件のデータ入力が必要でありデータ入力担当者の負担を極力軽減させたい
  • 当初利便性を考慮して Notion によるデータ入力を検討していました。Notion では誤入力が起こりやすいという欠点があるため Notion 上の仮のマスターデータと、データ基盤上に別途真のマスターデータを用意しておき、レビューを行った後に両者を同期するという運用を検討しました。
    • この構成の場合レビュー工程が都度入ることで入力担当者の負担が大きくなることが予想されました。

2.8. 工夫した点

  • kintone アプリの仕様を調査していくうちに入力データへのバリデーションを設定でき誤入力を防げることが分かりました。これにより当初考慮していなかったマスターデータ管理用社内 kintone アプリの導入を決めました。
    • この方向転換によって課題をほぼ全て解消できました。

2.9. 成果

  • 開発中

2.10. 担当フェーズ

  • マスターデータの設計
  • システム全体の要件定義・設計

2.11. 開発環境

  • データ入力アプリ
    • kintone
  • データ基盤
    • GitHub
    • AWS
      • MWAA
    • Snowflake
    • Terraform

3. [MLOps] 機械学習開発運用環境の改善

3.1. 概要

  • 社内で運用されている機械学習モデルの開発・運用ともに継続改善を行う

3.2. 期間

  • 2024/11
  • 2025/03 - 現在

3.3. 規模・役割

  • 役割:リーダー
  • 規模:私1名

3.4. 担当業務

  • 機械学習関連の改善策立案・設計・実装

3.5. 機能開発・実装詳細

  • リポジトリへの CI/CD 導入
    • Linter/Formatter を導入し Python/SQL/Terraform のコード品質を確保する
    • Staging/Production へのデプロイを GitHub Actions の手動実行で行えるようにする
  • デプロイ手順改善
    • Production 環境へのデプロイ実行はレビューを伴う形へと改善する
    • リリースタグを用いた標準的なリリース管理を行う運用手順を整備する
  • スコアリング結果のプロダクトへの連携システム構成の変更
    • スコアリングをプロダクトアプリと同じ AWS アカウント内の ECS で実施していた構成から、より開発をしやすくスケーラビリティの確保が容易な Databricks でのスコアリング実施に変更する
  • [検討中] 機械学習に利用するデータのデータマート化
  • [検討中] プロダクトへのデータ反映確認の自動化
  • [検討中] 学習データの増加に対応できるような処理改善
  • [検討中] 機械学習モデルの精度を継続監視する仕組みの導入
  • [検討中] テストの導入
  • [検討中] モノレポ化

3.6. 目的・背景

  • 取り扱う事業の増加・学習データの増加に対応していくために開発・運用を改善が求められている

3.7. 課題

  • 数名のインターン生にロジック部分の開発に集中してもらうことで成果を出そうとしている中で、開発・運用に手作業が多く含まれることからコントリビューションの難易度が高くなってしまっている
  • 対象事業のアクティブユーザー数が増加することで学習データが増加しシステムのスケールが必要となる
  • 対象事業が増加する際の工数増加を懸念して新たな機械学習活用を提案しづらい状況にある

3.8. 工夫した点

  • まずできる所から改善を進めていき1年かけてゴールを目指すというマイルストーンを立て、恩恵を実感してもらいつつ協力を得ながら進める方針を取った点

3.9. 成果

  • データサイエンスチームで最も注力しているオンラインクレーン事業の景品レコメンドシステムに関して CI/CD 導入・デプロイ手順改善を行いインターン生のコントリビューション難易度を下げることに成功しています。

3.10. 担当フェーズ

  • 機械学習関連の改善策立案・設計・実装

3.11. 開発環境

  • GitHub
  • GitHub Actions
  • AWS
    • ECS
    • RDS
    • S3
  • Databricks
  • dbt Core

4. [その他] 開発環境等へのAI導入推進

4.1. 役割

  • チーム内へのAI導入は私が主導して進めています。

4.2. 所感

  • データエンジニアチームのコーディング作業では単調なカラム修正などが多いことから導入メリットが大きいです。
  • データサイエンスチームのコーディング作業ではコアとなる機械学習の実装に関して AI がまだあまり役に立たないことから一般的な Python コーディングの支援の観点で導入を進めています。
  • データ分析支援に MCP を活用できるか検討中です。感触は良いです。

4.3. 各種ツールの検討状況 (2025年4月時点)

  • GitHub Copilot
    • コード補完は有用なので継続利用していきたい
  • GitHub Copilot Chat
    • 後続の AI エージェントに比べて優位性がない
  • Devin
    • 初回の環境構築・スタートアップスクリプトの作成を実施
    • PR作成に限らない用途での利用例を見せてチーム内で更なる活用を促進
  • Aider
    • 任意の開発環境で利用できる CLI ベースの AI エージェントとして Aider の調査を実施
    • 任意の環境で AI エージェントを利用できるという観点で有用
      • LLM の API 利用が必要で後述の Cursor を利用する場合2重課金になってしまうためあくまでも最終手段
  • Cursor
    • 社内で利用可能であったため検討を実施
    • VS Code の fork であり VS Code の資源が活用できる点と既存コードを加味したコーディングが最もスムーズな点からローカル開発環境として最良の選択肢と考えています
    • データサイエンスチームでは Cursor + VS Code の Databricks 拡張の利用を検討しています
  • GitHub Copilot Agent Mode (VS Code)
    • Cursor に比べて既存コードを考慮しない挙動になり Cursor の次点となる印象
  • MCP
    • Databricks MCP サーバー
      • LLM に実際に試行錯誤させながらデータ分析用の SQL を書かせることができる感触を得たのでビジネスサイドで SQL が書けない方にもデータ分析に参入してもらうための MCP 利用推進策を検討中です。
    • Cursor の活用
      • 公式ドキュメント・社内ドキュメント・他のリポジトリなどコンテキストの理解に各種サーバーを利用できるため Cursor を MCP クライアントに据えた開発環境改善方法を検討中です。

5. [その他] 開発業務以外の活動

5.1. 記事執筆・掲載

日付 概要 リンク
2024/12 - 現在 GENDA テックブログ執筆 uma-chanさんの記事一覧 - Zenn

5.2. 採用活動

  • カジュアル面談実施
    • SNS にてカジュアル面談を実施している旨宣伝を行い面談に繋げました。
  • 転職媒体での候補者選定
    • 自主的に採用業務への関与を申し出て以降、現在まで継続的に候補者選定業務を担当しております。