徹底した基礎固めと幅広い業務経験で、職務の垣根を超えて活躍できるエンジニア人材へ

gumiでは新卒採用を実施しており、その職種の一つにエンジニアがあります。gumiのエンジニアは大きく技術基盤部門(Technical Strategy & Development)とゲーム開発部門(Entertainment Engineering)の二つに分かれており、今回、新卒採用担当の荻野は、ゲーム開発部門に所属する新卒入社のエンジニア3名から話を聞くことに。入社2年目、4年目になる彼らから、研修での学びや配属後に任されている業務の実態などを聞き出します!

<登場人物>

@tsutsumi

Entertainment Engineering Director。業務システム系のエンジニアを経てゲームエンジニアとなり、2016年にgumiに入社。複数プロジェクトのマネジメントやチームビルディングを担う傍ら、自身もコーディングを行う。

@ssagra

Entertainment Engineering所属。大学(コンピュータ理工学部)を卒業後、2017年にgumiに新卒入社。主に「ファントム オブ キル」のサーバーサイドエンジニアを担当しながらも、クライアントサイドエンジニアの業務にも携わる。

@atsata

Entertainment Engineering所属。大学(システム科学技術学部電子情報システム学科)を卒業後、2019年にgumiに新卒入社。新規開発タイトルでのパフォーマンス改善に携わる。

@idante

Entertainment Engineering所属。大学(理工学部情報学科)を卒業後、2019年にgumiに新卒入社。主に新規開発タイトルのサーバーサイドエンジニアを担当しながらも、クライアントサイドエンジニアの業務にも携わる。

荻野 さやか(おぎの・さやか)

Human Resources所属。海外留学を経て大学院を卒業後、2017年にgumiへ新卒入社。新卒採用担当として、採用施策の企画から説明会や面接の実施までを一貫して担う。

荻野
今日は、みんなが研修を経て今どんな業務に取り組んでいて、gumiのエンジニア部門で働くことをどう思っているかなどを聞きたいと思います!

それにしても、こうやってZoomで話すのも新鮮だね。在宅勤務はどう?

@ssagra
はい、今は緊急事態宣言下なので在宅勤務になっていますが、毎日のチームミーティングで情報共有はしていますし、特段問題なく業務できていますよ。初めてのタスクをやるときなどに、聞ける先輩が隣にいないのが少し不便というくらいですね。
荻野
そうなんだね。在宅勤務で自宅の通信代が増えても、毎月会社から一定額の補助も出るし安心だよね。
@atsata
はい、ありがたい制度ですね。機材もすべて会社のものを家に郵送して自宅で使えているので、快適に作業できています。
荻野
それは良かった! 最近は在宅勤務でみんなを見かけることも少なかったから、今日お話しできるのが楽しみです。
@idante
「ばんぐみ」の新卒イラストレーターの方たちの記事で「だからgumiで大正解」というキャッチコピーを見て、思い返すとそう感じることも多いなと思っていまして、自分たちのことも是非話せたらと思っていました!
荻野
それは嬉しいね! ぜひみんなの本音を聞かせてください!

柔軟な業務の割り当てで、サーバーサイドとクライアントサイドどちらも担える人材へ

荻野
まず、みなさんの役割と業務を教えてください。
@ssagra
自分は「ファンキル」[1]のサーバーサイドエンジニアを担当しながら、最近ではクライアントエンジニアの業務も担っています。具体的には、アップデートの際の新機能の開発や、バグ修正などですね。

[1] gumiオリジナルタイトル「ファントム オブ キル」の略称。

@idante
僕は、新規開発中のタイトルでサーバーサイドエンジニアを担当しています。主にAPI設計ですとか、管理画面の実装、データベース設計などの開発環境の構築です。また、少しクライアントサイドの業務を行うこともあります。
@atsata
自分も新規開発中のタイトルの担当ですが、サーバーサイドにもクライアントサイドにも属さないポジションで、全体的なパフォーマンス改善を行っています。
荻野
サーバーサイドとクライアントサイド以外のポジションもあるんだね!
@atsata
はい。独立遊軍のようなイメージです(笑)。プロジェクト全体を俯瞰できるので、面白いですよ。
荻野
そのポジションは自分で希望していたの?
@atsata
研修が終わったタイミングでは、まだやりたいことがはっきりしていなかったのですが、OJT[2]のときに課題に対する着眼点を評価してくれた上司がこの業務にアサインしてくれたのだと思います。

[2] On The Job Trainingの略称。職場内訓練。

荻野
得意なことを活かせる業務を割り当ててくれたんだね。

@idanteさんはポジションの希望はあったの?

@idante
僕もはっきりとした希望はなかったのですが、サーバーサイドとクライアントサイドどちらもやってみたいなと思っていました。最終的にはサーバーサイドになりましたが、今は少しクライアントサイドの方にも関わっているので、結果的にやりたかったことができています。
荻野
そうなんだね! @ssagraさんも、同じような感じなのかな?
@ssagra
はい。僕も以前から、いずれはクライアントサイドをやりたいという希望を上司に伝えていました。業務の割り当ては、基本的にはチームとしてそのとき必要なポジションを任されるので、当然すべてが希望通りというわけではありませんが、チームのニーズと合えば比較的希望は考慮してもらえると思います。一人で両方できた方が、チーム内でどちらかの業務が逼迫したときにサポートに入れますしね。

また、自分にとっても、両方の業務を理解しておくことで視野が広がるのでプラスになっています。

荻野
なるほど、チームにとっても@ssagraさん自身にとってもメリットがあるんだ。
@ssagra
そうですね。特に新卒の場合は、役割が決め打ちにならないため、幅広い経験が積めると思います。

チーム内でのタスクの割り当ても、基本的には役職よりも能力が重視されるので、新人でも能力次第では開発規模が大きなゲームの施策を担当できる可能性もありますよ。

手厚い研修と実践的なOJTで、しっかり基礎固め

@idante
今、サーバーサイドとクライアントサイド両方の業務ができているのは、新人研修でどちらも手厚く教えてもらえたおかげですね。
荻野
私たちHR主催でやる全体研修のあとの、自部署主催でのエンジニア研修のことだね! 2019年入社の@atsataさん、@idanteさんは一緒にこの自部署の研修を受けていたと思うけど、具体的にどんな研修だったの?
@atsata
当時は、TS&D[3]とEE[4]でそれぞれ3ヵ月間、計半年間の研修を実施していただきました。 TS&Dでは環境構築やデータベース、APIなどについて学び、EEではゲーム作りの基礎を教えていただきました。どちらの研修も、実際にコードに触れて開発を行うものから座学まで、内容は多岐にわたっていましたね。

[3] 技術基盤部門。Technical Strategy & Developmentの略称。
[4] ゲーム開発部門。Entertainment Engineeringの略称。

荻野
半年も研修していると、早く業務に入りたいと思うことはなかった?(笑)
@atsata
どちらかというと逆ですね(笑)。自分は、入社当時はサーバーのことはほとんど知りませんでしたし、中途入社の方が多いgumiで業務についていけるか不安がありました。でも、長期間みっちり学ばせていただいたおかげで、今業務で求められている成果を出せていると感じます。
@idante
自分も入社当初は、どの会社でも使われているGit(バージョン管理システム)に触ったこともなかったのですが、そのような状況からでも基礎から親身に教えていただけたのでありがたかったです。研修によってゲームエンジニアに必要な基本的な知識が一通り学べ、基礎ができあがった実感があります。
荻野
ちゃんと実際の業務にも活かせる実践的な内容になっているんだね。
@idante
そうですね。もちろん研修ですべてが分かるようになるわけではありませんが、今の業務で使っている技術も研修で教わっていたので、分からないことがあったときは研修の内容に立ち返って調べたり考えたりすることができています。
@atsata
研修で行ったアプリ開発は特に業務にも役立っていますね。Webアプリとゲームアプリをそれぞれイチから自分で作り、機能を追加していく、というものです。

技術基盤部門の研修でのアプリ開発課題と、新卒社員による課題発表の様子

荻野
実際のゲームとは規模や複雑さが違うと思うけど、具体的にどういうところが業務に役立っているの?
@idante
例えばサーバーサイドでは、規模は違えどデータの処理方法が実際の業務と似ているので、どこに気を付ければいいのか分かるようになります。また、「こうやって書かないと本番ではバグが起こる可能性があるよ」というように、本番を想定したコードレビューをしていただけたのでとても役に立っていますね。
荻野
なるほど。座学やケーススタディなどの研修のあとは、さらに実践的なOJTがあるんだよね?
@atsata
はい。EEのOJTは、サーバーサイドとクライアントサイドでそれぞれ3ヵ月ずつ設けられていて、そこでさらに実践的なことを学びます。例えば、本番環境でバグの対応を行ったりしましたね。緊張感はありますが、分からないことは都度先輩に確認できます。
荻野
研修とOJTで合計1年間も育成期間があるのはすごいね。それだけしっかり教えてもらえれば安心だよね。
@atsata
はい。入社時点でのスキルはそれぞれだと思うのですが、足りない知識やスキルを補ったり、基礎力を身に付ける時間は十分にあります!
@idante
エンジニアの新卒社員は僕たち二人だけだったので、分からないところは聞き放題でしたし贅沢な期間でしたね(笑)。
@atsata
二人だけのためにここまでのプログラムを組んで、時間を割いてくれるのは本当にありがたいですね。
@ssagra
自分は二人よりも2年前の入社で、エンジニア新卒の一期目でしたが、当時の研修と比べると今はかなり内容が凝縮されていて、より実践で使えるものになっていると思いますね。研修の内容は毎年試行錯誤して改善されている気がします。業務の一環でここまでの研修やOJTを受けられるのは、正直かなり手厚いなと思います。

様々な職種との連携があることも醍醐味のひとつ

荻野
業務の進め方についても話を聞きたいんだけど、プロジェクト毎にも違いがありそうだよね。
@ssagra
自分が所属している「ファンキル」のプロジェクトでは、毎月のバージョンアップデートなど年間での更新のスケジュールをベースに開発を進めていきます。毎日チームでのミーティングがあり、そこで進捗確認しながら各自のタスクに取り組んでいく感じですね。
@atsata
今自分がやっているのはパフォーマンス改善なので、改善前の状態から予測を出して、優先度の高いものから上長に提案して改善に取り組んでいきます。結果が出たら、どれくらいパフォーマンスが改善したかをまとめて報告しています。
荻野
降りてくるタスクをこなすだけではなく、自分から提案して進めていくんだ。
@idante
@atsataさんのポジションは少し特殊ですが、サーバーサイドやクライアントサイドの担当でもリーダーがメンバーに割り振るタスク以外に、自分で課題を見つけてタスク化することもあります。僕はこの前、業務効率化施策として汎用性の高いコンポーネントの作成を提案したりしました。
荻野
配属後間もなく、そんな提案もしているのはすごい!
@ssagra
各タイトルの特性や運用の状況にもよりますが、主に東京本社で運用を行っている「ファンキル」のプロジェクトでは、リーダーから許可をもらえれば、役職に関係なく自分で見つけた課題をタスク化できるというルールもありますね。
荻野
タイトルによっては、若手のころから自主的に提案もできる環境なんだね。

@idanteさんは開発中のタイトルの担当ということだけど、普段の業務はどう進めているの?

@idante
開発中タイトルでは、プランナーが用意した仕様書をもとにゲームの様々な処理を行うコードを書いたりしています。仕様書に疑問点があるときはプランナーとも擦り合わせます。
過去に実装された機能の仕様書の一部
荻野
プランナーともやり取りがあるんだね。
@idante
はい、結構多いですね。例えば、どれくらいの頻度でキャラが追加されるのかといった運用方針によってコードを変える必要があったりするので、ヒアリングをして認識を擦り合わせることはよく行っています。サーバーサイドエンジニアはプランナーとの連携がメインになりますが、クライアントエンジニアだと、UI/UXや3DCGなどのデザイナーと関わることも多くなると思います。
@ssagra
モバイルオンラインゲームの開発や運用は、エンジニア単独ではなく、プランナーやデザイナーなどの他の職種の方々とも連携して進めるので、そこがゲームエンジニアの特徴であり、面白さだと思います。もちろん、その分、意見の衝突も結構ありますけどね(笑)。
荻野
そうなんだ! どんなことで衝突するの?
@ssagra
プランナーから「こういうことをやりたい」と提案をいただいた際に、エンジニア側で技術面、工数面、スケジュール面などいろんな観点を踏まえて「できるか、できないか」を判断していく必要があります。優先度を決めて現実的な着地点を擦り合わせていく過程で、お互いの拘りが出てくるんですよね(笑)。
荻野
なるほど。それはコミュニケーション能力も求められそうだね。
@idante
そうですね。エンジニアのリーダーから割り当てられるタスクと比べると、エンジニア以外の人たちの要望を聞いてそれに応えていくタスクは意思疎通の難易度も高くなります。ただ、そのような業務経験はエンジニアとしてスキルアップしていくために欠かせないので、若手のうちからそういった経験が積めることはありがたいですね。

長期運用タイトルで蓄積されたノウハウの活用と、先進的な技術への挑戦

荻野
エンジニア志望でgumiに応募してくださる方は、オリジナルの長期運用タイトルからユーザー数の多いIPタイトルまで、多様なジャンルのゲームを扱っていることに魅力を感じてくださっている方が多いのだけれど、実際みんなはその点どう感じているの?
@atsata
僕もその点は魅力だと感じています。まず、5~6年運用している長期運用タイトルでは、どういうタイミングで負荷がかかるかとか、どうバグを修正してきたかという経験やノウハウが蓄積されています。実際に、そのタイトルで得られたノウハウは新規タイトルでも活かされていますよね。
@ssagra
そうですね。まあ、自分が担当している「ファンキル」が開発されたのはスマホゲームが普及し出した初期の頃で、試行錯誤した形跡のあるコードも多いのですが。当初からかなり改善を重ねて知見も溜まっているので、新規タイトルを開発するときには、その知見を総動員して運用フェーズも見越した開発ができます。
@atsata
あとは、MAU[5]の多いタイトルがあるのも強みだと思います。大きな負荷にも対応できる技術やノウハウは、ユーザー規模の大きいタイトルを持っていないと得られません。

[5] Monthly Active Userの略。月間アクティブユーザー数。

荻野
たしかにそうだね。@idanteさんと@atsataさんが担当している新規タイトルはどう?
@idante
新規タイトルは、ゲームシステム自体がこれまでのgumiのタイトルにはなかった新しいものになっていまして、それに適した最新の技術も採用しています。そういう新しい技術に触れられることはいい経験ですし、先陣を切っている楽しさがありますね!
@atsata
自分も、もともと新しいことに挑戦している会社で働きたいと思っていたので、今まさにそのような開発案件に関われていてモチベーションが上がっています!
荻野
トレンドへのアンテナが高い二人にはピッタリの案件だったんだね!

最後に、みんなは今後gumiでどう成長していきたいと考えているか教えてください。

@atsata
今は新規案件を担当する中で様々なコードに触れる機会があるので、それを活かしてもっと力を付けていきたいですね。
@ssagra
自分は、最近クライアントサイドの業務をやり始めて、今後具体的にどういったことをやっていきたいか上司と話しながら進めているところですが、サーバーサイドもクライアントサイドもバランス良く対応できるスキルを身に付けていきたいです。
@idante
自分も、将来的にはサーバーサイドとクライアントサイドの両方を担当できるエンジニアになりたいです。自分の職務だけにとらわれず、幅広い分野に対応できるエンジニアを目指します!
荻野
職務の垣根を超えた人材だね! みんなと同じような志を持つエンジニア志望の学生さんたちに、今日の話をしっかり伝えるね!

技術力より大事なのは、ゲームを「より面白くしたい」という想い

荻野
お疲れ様です! @tsutsumiさんのチームで働く新卒入社の三人に話を聞いてきました! 昨年本配属になった二人も、研修で身に付けたことを活かしながらチームの一員として業務をこなしている様子ですね。
@tsutsumi
研修は最新の動向を把握しながら毎年ブラッシュアップしていて、本配属までに十分な基礎力を身に付けられる内容にしていますからね。なので、本配属になったあとは、こちらももう新卒社員という見方はしておらず中途社員とフラットに仕事をしてもらっています。
荻野
とはいえ、中途社員とは経験の差があると思うので、新卒社員が周囲についていくのは大変ではないですか?
@tsutsumi
もちろん、必要な部分はサポートしています。ただ、みんな吸収が早くて理解力もあるので、予想以上にサポート無しでも進められていますし成果もあげています。すでにプロジェクトに大きく貢献してくれていますよ。
荻野
それはすごいですね! サーバーサイドとクライアントサイド両方の業務をやっているという話もありましたね。
@tsutsumi
はい、これも意図的でして、理由は大きく二つあります。一つ目は、オールラウンダーとしてチーム全体の不足を補ってもらうためです。施策によって、サーバーサイドエンジニアが多く必要なものもあれば、クライアントサイドエンジニアが多く必要となる場合もあります。両方できる人がいるとこの負荷バランスの偏りに対応でき、プロジェクトを円滑に進められやすくなります。
荻野
なるほど! 二つ目はなんでしょう?
@tsutsumi
二つ目は、チームリーダーになるにはどちらの業務も理解しておく必要があるためです。前提として、新卒社員は将来的にリーダーになってもらうことを見据えて、採用・育成をしています。サーバーサイドとクライアントサイドの意見が対立したとき、リーダーは両者の意見を踏まえて、最適な解を導き出すことが求められます。両者の業務は独立して成り立つのではなく、相互に作用したり、影響し合ったりしますからね。双方の事情や業務を分かっていないと、判断を誤ることになりかねませんので、両方の業務を経験することはとても重要なことなんです。
荻野
だから研修でもどちらも時間をかけて教えているのですね! では最後に、@tsutsumiさんが新卒社員に求めるものを教えてください。
@tsutsumi
新卒の場合、入社時点での技術力はあまり求めていません。本配属までに必要な技術と知識を一通り身に付けられるよう、研修でしっかり教えますので。ただ、教えたことを吸収して成長してもらうためにも、好きなことだけでなく苦手なことに対しても努力できるマインドを持っていることは重要です。
荻野
仕事ですしね。できる領域を広げることは大事ですね。
@tsutsumi
そうですね。あとは、成長することや技術力を高めること自体を目的化しない人ですね。例えば、ゲームを熟知している人は、「ここをこうしたい」というプランナーさんの一言で瞬時にその意図を理解し改善点を見出せるのですが、高い技術力があってもゲームへの理解が浅いと、どんなに説明しても認識が一致せずに、的の外れたアウトプットを出してしまうことになります。
荻野
技術力を高めるのは、あくまでもゲームをより良くするための手段ということですね。
@tsutsumi
そのとおりです。もちろん、新卒社員は技術力を高めることも必要ですが、そこにばかり意識が向いてしまうと将来的に高いパフォーマンスを発揮することが難しくなってしまいます。実際、高い技術力よりも、ゲームを面白くするために技術をどう使い、何を実現していくかという視点を持っている人がチームでも活躍しています。ゲームを良く知り、良くしたいという意思があれば、それに必要な技術力は自然とついてきますしね!
荻野
納得です。本日は貴重なお話ありがとうございました!


新卒エンジニア採用の応募はこちらから!