
ゲームエンジニアの業務内容
エンジニア組織について
当社のエンジニア組織は以下の図の通り横断グループであるインフラグループと、各アプリごとのアプリグループにわかれています。
また、インフラグループ以外のエンジニアは必ずいずれかのアプリグループに所属する決まりになっており、基盤開発グループや研究グループのような横断組織がないことが特徴です。
これは会社のビジョンである『熱狂的に愛されるコンテンツをつくる』に取り組むために、会社の文化としてアプリに愛着をもってもらうことや当事者意識を大切にしているためです。
各グループには開発リーダーが1〜2人程度設定されています。

※ 概要説明のための図なので、実際にはグループ数、人数比率などはこの通りではありません。
グループを横断する組織的な取り組み
当社ではチーフエンジニアとチーフ補佐という役割が設定されており、チーフエンジニア・チーフ補佐と各グループの開発リーダーが定期的にコミュニケーションを取ることで、横断組織をなくしながらもエンジニア組織全体で取り組みも実施しています。
例えば、全アプリグループ横断で使用する共有ライブラリーXは、運用アプリグループAのエンジニアOさんが開発し、新規アプリグループBとCのPさんとQさんがレビューするというような進め方をしています。
以下の図の通り、チーフエンジニア・チーフ補佐についてもいずれかのグループに所属しています。

※概要説明のための図なので、実際にはグループ数、人数比率などはこの通りではありません。
エンジニア視点での当社の特徴
- 比較的少数で対応しているため一人一人の裁量が大きい
- いずれかのアプリグループに所属する(インフラグループ以外)ため、アプリ開発・運営に注力できる
- クライアント(Unity)、サーバー(Ruby on Rails)の両方を対応できる
- アプリグループに所属しながら、グループ横断利用のソフトウェア開発に携われる可能性がある
- 自社IPコンテンツでのゲーム開発ができる(他社IPコンテンツを利用していません)
- 京都で開発できる(オフィスは四条烏丸にあります)
エンジニアに必要なもの
テクノロジースタック
クライアント | サーバー |
|---|---|
![]() | ![]() |
HEKKではクライアント開発に Unity(C#) 、サーバーサイド開発に Ruby on Rails を全アプリ共通で利用しています。基本的にはどちらに力を入れるかはそれぞれ考えていただきながらも、クライアント・サーバーどちらも対応していただきます。
その他のテクノロジースタックは以下の通り。
用途 | 名称 |
|---|---|
コミュニケーション | Slack, Kibela |
バージョン管理 | Git(GitHub) |
クラウド | Amazon Web Service |
アセット配信 | CloudFront, Amazon S3 |
ウェブサーバー | Nginx |
アプリケーションサーバー | Puma |
CI | Jenkins |
DB | Aurora |
DWH | BigQuery |
モニタリング・分析 | New Relic, Datadog |
エラーモニタリング | Bugsnag |
仮想化 | Docker |
エディタ | Rider(C#), RubyMine(Ruby) |
テクノロジースタックを見ていただくとわかる通り、可能な限りグローバルスタンダードなテクノロジーを使用することで世界のテクノロジー発展の恩恵を受けられるようにしています。
スタンダードなテクノロジーを使用して、インゲーム開発で独自性を出せることが理想的な開発組織の形と思っています。

