データエンジニアの仕事とは? より良いコンテンツづくりに不可欠なデータ活用のプロフェッショナル【サイゲームス仕事百科】

サイゲームスでは、ゲームをより面白くするために分析基盤を整えています。ユーザーのみなさんにより楽しいコンテンツを提供するための一つの方法としてデータを分析し、その結果を参考にしているのです。これまでの施策の改善を検討したり、新たな施策のヒントに繋げたりしています。
このデータ分析を安全かつ迅速に行えるように、日々環境を整備しているのがデータエンジニアです。
今回は、分析環境を整える役割を担うデータエンジニアの仕事について、マネージャーへの取材を基に解説します。

ゲームのクオリティーを高めるために
膨大なデータを扱いやすい環境に整える

データエンジニアの役割は、データ分析がしやすい環境を提供することです。
みなさんがゲームをプレイすると操作したキャラクターのステータスや、どこまでステージを進めたのか、仲間にしたキャラクター、バトル後に入手した武器やアイテムなど、様々なデータが作られていきます。

これらのデータを収集・分析してなんらかの傾向を見つけ出すことで、改善すべき点や強化すべき点、ユーザーのみなさんが何を求めているかなどが見えてきます。ゲームのクオリティーを高めるための方法の1つとしてデータ分析は重要です。

一言でデータ分析といっても、ログインしているユーザーの方々の人数を調べるといったシンプルなものから、「ユーザーのみなさんはこのイベントをどのくらい楽しんでいるのか」といったかなり抽象的な課題まで様々です。抽象度が高ければ高いほど、より多くのデータを組み合わせて複雑な調査をする必要がありますが、そのためには堅牢かつ使いやすい分析環境が必須となります。この分析環境づくりこそが、データエンジニアの大きなミッションです。

データエンジニアの主な仕事内容

データエンジニアの主な業務は大きく分けて二つです。一つは、前述の通り、データの分析基盤の構築。分析するのは主にデータマイニングチームなので、彼らが使いやすい環境にすることを念頭に置いて開発しています。ただし、ゲーム開発者など他部署の人も使う場合があるので、それも考慮しながらデータ分析環境の仕様を決めています。

▲分析基盤の全体概念図

ゲームが生成するデータは社内の分析用データベースに取り込んでから分析する必要があります。ゲーム内のデータに直接アクセスして分析すると、ゲーム側に負荷がかかってしまうからです。また、生成されるデータが素のまま、いわゆる「生データ」の状態では単なる数値の羅列であるなど、分析できる状態ではないものがあります。生データを加工して使い勝手の良い形式に整形するのが我々の腕の見せどころです。加工は可能な限り自動化を推進していますが、どうしても自動化がしにくい部分もあるため、必要に応じて手動で加工するなどきめ細かな対応をしています。

サイゲームスでは「Snowflake」というデータベース製品(データウェアハウス※)を使用しています。これにより、テラバイト級のデータをいつでも分析可能な状態にすることができ、複雑な分析処理も短時間で行うことが可能となっています。

※ データウェアハウス……複数システムからデータを収集して統合し、時系列ごとに蓄積が可能なデータベース。分析に特化しており、高い検索性と分析機能を備えている

もう一つ、BIツール(※)のデータの作成も我々の大きな仕事です。BIツールはサイゲームスの各運用タイトルに関するユーザーの動向など、各種の情報を提供するもので、経営陣からタイトルを運用しているスタッフまで、様々な職種の方が利用します。各種集計結果を朝イチに確実に提供することが我々のミッションです。

※ BIツール(ビジネスインテリジェンスツール)……企業が持つ様々なデータを収集・分析し可視化して、ビジネスの意思決定に役立てるソフトウェアのこと

データエンジニアの業務フロー

ここでは、データエンジニアの業務フローを紹介します。

1.データ分析の方針決定

新規タイトルの立ち上げが決まったタイミングで、我々データエンジニアも始動。まずはタイトルに関わっているエンジニアやプロジェクトマネージャーと共に、データの取り方や出し方を決めます。どんな形式にするかはゲームの種類によって、またそのゲームが採用するインフラによっても異なるもの。流用できそうであれば既存の仕組みを採用し、新しい仕組みが必要な場合はデータエンジニアチームが開発します。

2.データ収集・提示方法の調整

運用が始まったら、タイトルの運用状況あるいはイベントや周年、ユーザーの増減などに合わせてデータの取り方・出し方を調整していきます。

各タイトルの対応とは別に、分析基盤自体も3〜5年程度の間隔でリニューアルをします。データ分析基盤は非常に変化の激しい領域なので、数年おきに刷新が求められるのです。先ほどお話しした「Snowflake」への全面移行はリニューアルにあたります。
分析基盤の移行は大仕事で、より良い環境を追求するために必要なことです。環境づくりでは単に新しい技術やサービスを追いかけるのではなく、より良いコンテンツづくりに貢献できるように技術的な挑戦を続けていく姿勢で取り組んでいます。

例を挙げると、2021年にリリースした『ウマ娘 プリティーダービー(以下、ウマ娘)』は当初から大型タイトルになることが予想されていたので、扱うデータ量も桁違いに大きくなると想定しました。ちょうどその時期に大量のデータを処理する仕組みを開発していたので、『ウマ娘』のリリースに合わせて導入しました。
このシステムではサーバーレスアーキテクチャー(※)を採用。コストを抑えつつ、瞬間的なピーク(負荷増大)に対応できるようになりました。実際、『ウマ娘』のデータは既存タイトルを遙かに凌駕するスピードで処理できています。

※ サーバーレスアーキテクチャー……システム設計や構築の手法の一つで、常時稼働するサーバー(仮想マシン)やミドルウェアを用意する必要がなく、プログラムコードを記述するだけでシステムを作成できる。サーバーの管理が不要、拡張性がある、コスト面で有利といった特徴がある

さらに、別案件でデータをもっと速く取得できるようにしたいと要望があるので、現在はリアルタイムに近い処理を実現できるように新しい仕組みを開発しているところです。

データエンジニアに必要な
スキル・マインド

ここでは、データエンジニアに求められるスキルとマインドについてご紹介します。

■データベースの本質の理解と最新情報の収集を怠らない姿勢

特定のデータベース製品について詳しいことよりも、「データベースとは何か」という本質の理解が重要です。最近はクラウドベースの環境が主流になっており、技術や製品・サービスなどの更新スピードが速いですが、データ分析環境は特にそのスピードが速いと感じています。従って、特定の製品に対する造詣が深いことよりも、製品に縛られずに機能の比較や評価を正しく行い、最適な選択ができることのほうが重要といえます。加えて、最新情報のキャッチアップを怠らないことも大切です。

■Pythonのスキルやインフラに関する知識

現状、分析基盤開発にプログラミング言語のPythonを使用しているため、Pythonの知識は必須です。
また、データ分析のための環境を構築することが我々の仕事なので、SQL(データベースを扱うためのプログラミング言語)だけでなく、インフラやAWSなどのクラウドサービスの知識があると強みになります。

■ゲームを楽しみ理解する

データエンジニアの仕事はゲームづくりに直結はしません。だからといって、ゲームの理解なしには生み出されるデータを読むことはできませんので、いちユーザーとしてコンテンツを楽しむことが大切です。そうするとゲームのクオリティーアップのためにデータを正しく読み取れるようになります。
データはいわばユーザーの努力の結晶です。このような見方ができるのも、データエンジニアならではかもしれません。

■粘り強さ

データエンジニアに限らずエンジニア全般にいえることですが、粘り強さは重要な資質です。何かトラブルが起こったとき、原因を探すために根気強くデータと向き合い、課題に向かって粘り強く、責任感を持って取り組めるかが求められます。それから、カオスな状態をきれいに整理することが好きな人、深掘りしたい人には向いている職種だと思います。
もちろん、これらのスキルやマインドにとらわれず、色々な人の力が必要です。多様な人が集まることでサイゲームスのデータ基盤を支えられると考えています。

データエンジニアのやりがい

サイゲームスには、『グランブルーファンタジー』のような長期運用のタイトルや、『ウマ娘』などのような大規模のタイトルがあります。こういったタイトルのデータを業務で扱えるのは、サイゲームスのデータエンジニアの醍醐味です。

また、データエンジニアはインフラ寄りの仕事からSQLを使ってBIツールのデータを作るといったことまで担っているため、かなり幅広い業務を経験できるのも魅力だと思います。

データエンジニアは基本的には裏方の仕事であり、あまり目立たないように思われるかもしれませんが、分析基盤は最高のコンテンツを作る上で非常に重要なものでやりがいを感じています。データエンジニアはプロジェクトの開発陣と密に連携を取って業務を進めているので、コンテンツづくりに貢献しているという実感が湧きやすいです。実際にプロジェクトの人たちから感謝されることも多く、それがやりがいに繋がっています。

手応えを感じたエピソードとしては、前述の「Snowflake」への全面移行です。
企画段階から関わって製品を選定し、トライアルを経て採用を決め、実際に各タイトルに導入するまでの全工程を実施。タイトルごとに順次移行をしていきました。
移行後には分析担当者から「ものすごく使いやすくなった!」という言葉をもらうことが多く、やりがいを感じました。
移行のためのプロジェクトは2年がかりで遂行するという大仕事であり、やり終えたときの感慨はひとしおでした。

データエンジニアのキャリアについて

他のエンジニアと同様、大きくはマネジメントとスペシャリストの二つの方向性があります。スペシャリスト方向に進む場合も一つの技術・スキルの一点突破ではなく、インフラの知識から手を動かしてSQLを書くところまで、オールラウンドの知識が求められるところがデータエンジニアの特徴といえるでしょう。

サイゲームスのデータエンジニアの場合、チーム内での業務の幅が広いので、経験を積んでいくことで自然とオールラウンドにスキルアップできる環境です。一定の経験を積んだ後は、本人の希望や適性に沿って、チームを運営したり人を育てたりしたい人はマネジメントに、技術を突き詰めたい人はスペシャリストに進むことになります。深い知識を身に付けるためには、自己研鑽も必要です。

データエンジニアとして一人前と認められるには、依頼者の依頼内容をよく聞いた上で、相手が実現したいことをきちんと理解し、プロとして適切な対応ができるようになることが条件。エンジニアですからハードスキル(専門的、技術的な知識)が求められるのは当然として、さらにコミュニケーション能力や問題解決能力といったソフトスキルが身に付いていれば、一人前といえます。

データエンジニアを目指す人へのアドバイス

就職活動の際にデータエンジニアを目指す人、あるいは第二新卒で志望する人には、「データ」とは何かということを真剣に考えて欲しいと思います。
我々はエンジニアでもちろん技術力も大事ですが、扱っているのは「活きたデータ」です。データの先にはゲームをプレイしているユーザーのみなさんがいます。ここにどのくらい意識があるかによって、仕事の質は大きく変わってきます。

一方、経験者でデータエンジニアを志す人は、やはり即戦力たり得ることが求められます。業務の内外を問わず、多種多様なデータベースを触ってデータベースの本質を理解することが大切です。高度なハードスキルを備えていると対応できる業務が広がり、様々な課題にチャレンジできます。

他に大事なのは、会話のやり取りの中できちんとコミュニケーションが取れることでしょうか。どれくらいのソフトスキルがあるのかは、面接の際に見るポイントの一つです。

ちなみに、エンジニアなので1日の大半は一人で集中して作業することが多いのですが、1日1回はチーム内でコミュニケーションの機会を設けています。それから、やはりゲーム会社なのでゲーム好きな人が多く、雑談でゲームの話題が出ることもよくあります。
データエンジニアとしてゲームの面白さを追求したい方は、サイゲームスのデータエンジニアに興味を持っていただけるとうれしいです。


以上、データエンジニアの仕事についての解説でした。

★あわせて読みたいエンジニアにまつわる記事