福岡エンジニアチームが取り組む基礎重視のスキルアップと、「いつでも、何でも聞ける」環境作り

gumiの福岡支社は全体で130名ほどのメンバーが在籍し、主力タイトルである「誰ガ為のアルケミスト」など、複数本のタイトルの運営など重要な役割を担っています。そんな福岡支社のエンジニアチームでは社員育成に力を入れており、専任講師が勉強会の開催や社員への指導を行っています。今回はそのエンジニア育成の取り組みに焦点をあて、講師の井関氏と、福岡支社でDirector(部長)として、エンジニアを統括する的野に話を聞きました!

<登場人物>

井関 健人(いせき・たけと)

2010年に大学の文系学部を卒業後、基幹システムを開発・販売するIT系企業へ就職。そこでプログラミングを学び、2016年からはフリーランスとしてサーバーサイドの開発、企業向けの研修等を実施。その傍らで主にエンジニア向けの勉強会や交流会を開催。2019年からgumiに社員育成の専任として参画し、福岡支社内を中心としたエンジニア社内勉強会の開催や、新卒研修のコンテンツ企画・制作に尽力。

的野 礼峰(まとの・よしたか)

Entertainment Engineering Director。基幹インフラやECサイト、ネイティブアプリのシステム開発・運用を経験し、2012年6月にgumiへ入社。サーバーサイドエンジニアとしてブラウザゲームを中心としたタイトルの開発・運用に携わる。2020年からは福岡支社のエンジニア部長として、クライアントサイドエンジニアも含めたマネジメントを行うとともに、CSやQAと言った部門のマネジメントも行う。

専任の講師がエンジニア育成全般にコミット

大枝
本日はよろしくお願いします! まず、井関さんのご経歴を教えてください。
井関
私は、大学は商学部出身の文系で、元々はコンサル志望だったんですが、新卒で入社した会社でプログラマーとしての配属になり、未経験からエンジニアのキャリアをスタートさせました。その後、他の会社でもプログラマーとして働いた後、2016年からはフリーランスとして活動しています。独立当初、色々な勉強会に参加してコネクションを作りながら知り合いと仕事を増やしていた中で、的野さんとも知り合いました。
的野
そのあとデベロッパーズサミットという大規模な勉強会の打ち上げで偶然再会したとき、声をかけたことがきっかけでgumiでのエンジニア育成もお願いすることになったんですよね。
井関
そうでしたね。僕もちょうどそのタイミングで企業での研修なども請け負っていたりしたので、その場で引き受けてすぐ決まりましたよね。
的野
それで2019年からgumiにジョインしてもらい、週1日出勤いただいて研修資料の作成を行ってもらい、別途勉強会をする日程を設定し、社員育成に尽力いただいています。
大枝
偶然の出会いからgumiの研修講師として入っていただくことになった経緯は何かご縁を感じますね! でも、専任講師が必要なくらい、当時はエンジニアの育成強化が必要だったということかと思いますが、どういった背景だったのでしょうか?
的野
はい。もともと東京本社にはエンジニア育成の体制があったのですが、福岡では自分の手が空いているときに教えることしかできていなくて、育成の体制としては十分ではなかったんです。
大枝
的野さんの繁忙度は当時から尋常ではなかったと伺っています(笑)。実際、井関さんがジョインされてからは、どんな育成の取り組みを行っているのですか?
井関
育成全般を担っているので、その時々のニーズに合わせて内容も変わるのですが、最近では経験の浅い社員のサポートや、新卒社員の研修準備をメインに行っています。gumiに入った当初は1ヵ月に1回くらいのペースで勉強会を開催していましたね。
大枝
勉強会はどんなテーマで行っているんですか?
井関
例えば、「誰ガ為のアルケミスト」の開発環境がどのような設計で動いているかというお話や、Gitの内部的な仕組み、またそもそものインターネットの仕組みやデータベースの仕組みなどですね。
あとは、gumiに新しく入られた方でも内製した共通基盤のことが分かるように、それらの資料を作ったりしています。最近は週2日は出社しているのでその場で社員からの質問に答えたりもしていますよ!
大枝
勉強会や研修に加えて、日々の業務における質問対応もしてくれるのは心強いですね!

OJTでは習得が難しい基礎知識のインプットを推進

大枝
お二人ともエンジニア育成を大事にされているのが伝わりました。井関さんはgumi以外でも勉強会や研修をされているとのことですが、何か育成に注力されるようになったきっかけとかあるのでしょうか?
井関
自分の経験の影響が大きいのですが、最初に入った会社で未経験からプログラミングを勉強していたにも関わらず、きちんとした研修制度がなく、手探りで勉強していた部分が多かったんです。研修自体はクリアできたんですが、その場しのぎのインプットで体系的に知識を身に付けられたわけではありませんでした。最初からきちんとした勉強の仕方や基礎的な仕組みを理解する機会があれば、自分自身の成長曲線が全然違ったんじゃないかなと思うんですよね。
大枝
そんなご経験が……。先ほど伺った勉強会のテーマからも基礎に重点を置かれているのかなと思ったのですが、そういう背景があったんですね。
井関
そうですね。基礎がないところに知識を重ねても、いつか限界が来て成長が止まってしまいますから。
大枝
gumiは中途社員がメインになりますが、経験者にも基礎の教育は必要だと思いますか?
井関
必要だと思います。プログラムはみんなが便利に使えるように進化しているので、より下のレイヤーが見えなくても使えるものがどんどん生まれていて、極端な話ネットワークの知識が浅くてもネットワークを介したソースコードは書けてしまうんです。でも、いざ問題が起こったときには下のレイヤーの構造が理解できていないと対処できないことが多いんですよ。そういうこともあって大事な部分なんですけど、OJTや自習だけではなかなか勉強する機会がないんですよね。
大枝
なるほど。的野さんとしても、OJTとは別にこのような勉強の機会を作ることは大事だとお考えですか?
的野
はい。例えばクライアントサイドエンジニアがUnityで機能実装をして、その先のネットワークやサーバー上での処理を知らなくても次の開発に進めちゃうんですよね。一方で、サーバーサイドエンジニアは、自分たちが書いている裏のデータベース等のことは分かっても、ネットワークやクライアント上での処理は知らないことが多いので、そこをあまり意識せずに作業してしまう。でも、お互いに双方の領域ではない部分でバグに直面したときに、修正・解決方法が分からない事があるんですよ。特に今はゲームがマルチ化しているので、ネットワークなどの全体的な基礎知識を押さえておく重要性は高まっています。
大枝
クライアントサイド側、サーバーサイド側どちらかの知識しかないと、問題が起きたときに人頼みになってしまうということですね。
ちなみに、指導する立場のお二人は普段どうやってインプットしているんですか?
井関
自分は、基本的には本から情報収集しています。体系的に学べて出版社により編集もされていますから。ただ実は本を読むのは苦手で、習慣化できるように食後に少しずつ読むと決めています。新しい習慣を作る場合、人間の行動は既存の習慣をフックにすると習慣化しやすいそうです。食事は毎日行われる行為なので、そこをフックにするとなんだかんだ1日で結構な量のインプットができるんですよ。あとは、ラインマーカーを使って印をつけておくと、読み直した時にポイントが絞りやすく、2周目以降のインプットが効率化できます。読み終えた本の情報を整理しておきたい場合は、内容をスライド資料にまとめることもありますね。
的野
すごいですね! (笑)
自分は井関さんみたいにかっちりした方法ではないですが、日頃から流れてくる情報にアンテナを張っていて、気になったものは深堀って調べています。深堀りも、そのものの本質を知りに行くことを意識していますね。新しい知識であっても過去に学んだことに必ず関連しているので、本質が分かれば知識をどんどん自分の中で体系化させていくことができるんですよ。
大枝
習慣化することと体系的に知識を蓄積させていくこと、どちらも大事ですね。目先の技術のことだけでなく、本質を知ることでより成長できることも納得です。
的野
そうですね。とはいえ、社員からのニーズが高いのは業務ですぐに使える知識なので、そういった内容も井関さんには資料を作ってもらいつつ、私たちが重視している基礎知識のインプットも推進しています。以前は新入社員が入る都度、私がホワイトボードを使って1~2時間かけて共通基盤部分は説明していたのですが、そういった内容も井関さんに資料化してもらって皆で共有できるものになったことは良かったですね。
大枝
資料として残すことで、gumiの財産になっているんですね!
井関
資料は後から一人で見返しても理解できる内容にすることを意識して作っていますし、だいぶ知見として蓄積されてきたんじゃないかなと思います。
大枝
gumiのValueの一つであるKeep on Tryingはきちんとインプットをしたうえで挑戦することを意図していますが、まさにそのValue体現を促進するための基盤ができていることが分かりました!

知らないことを「知らない」と言える環境作り

大枝
インプットのためのツールや体制は整ってきたとのことですが、それを活用するためのチームの環境はどうでしょうか?
的野
その点はかなり重要と考えていて、誰でも、知らないことを恥ずかしがらずに「知らない」と言える環境作りは一番大事にしていますね。
大枝
なぜそういった環境を重視しているのですか?
的野
エンジニアはプライドが高い人が多いのか、知らないことを曝け出したり、誰かに聞いたりする人が少ないんですよね。そうなると成長も止まってしまうので、ちょっとでも曖昧だったら聞き直してもらうとか、もっと深いことを知りたい人がいたらつっこんで質問してもらうとか、そういったことを臆せずにできる環境があることは大事だと思うんです。
大枝
特に中途社員が多い環境だと、分からないこともなかなか聞きづらかったりしますもんね。具体的にはどういったことを実践しているのですか?
的野
例えば自分の席のすぐ後ろの壁はホワイトボードになっているのですが、質問に来た人がいたらすぐに書いて説明できるようにしています。一部の人からは怖いと思われている節もあるみたいなんですが、自分が席にいるときには誰でも質問しに来やすい雰囲気を作って、いつでも会話が始められるようにしているつもりです(笑)。
大枝
いつでも聞きに行っていいんだな、というのは安心感がありますね!
的野
その意味では、今井関さんに来てもらっていることで、自分の手が空いていない時には井関さんに聞きにいける体制にもなっています。井関さんは自分なんかよりも話しやすい雰囲気もありますし(笑)。
大枝
怖いと思われていること結構気にしてますね(笑)。井関さんから見て福岡のエンジニアチームはどんな雰囲気ですか?
井関
最近は新しい方が増えていることもあって、分からないことがあったときでも聞きやすい雰囲気の醸成は徐々に出来てきていると思います。ただ、皆さんもっと積極的に主張してもいいと思いますね。的野さんに怖い印象を持っている人もいるみたいですが、実際そんなことはなくて本当に何でも答えてくれるので! (笑)
大枝
今は一部在宅勤務をしている人もいると思いますが、そういう方へのフォロー体制はどうでしょうか?
的野
一部のチームになりますが、試験的にバーチャルオフィスツールを導入しています。お互いに話しかけやすい環境を作ろうと思っての施策ですが、課題もあるので、色々ツールも比較検討してチームにとって最適な方法を模索していきたいですね。

人一倍の好奇心と自己探求力で成長していける人材

大枝
チームとしては風通しの良い雰囲気づくりを目指しているということでしたが、人材はどんなスキル・マインドを持った方を求めていますか?
的野
中途のクライアントサイドエンジニアの場合、ネイティブアプリのゲームのコーディングをしっかりやってきたというスキル・経験面もそうですが、先を見据えた開発をできる人が良いですね。スマホゲームはコンシューマーゲームとは異なりリリース後何年も運用することになるので、実質リリースしたときがスタートとも言えます。なので、開発の段階から拡張のしやすさや改修のしやすさまでを考えながら実装できる人は、クライアントサイドエンジニアとして活躍できると思います。
大枝
なるほど、それはスマホゲームならではのスキルとも言えますね。サーバーサイドはどうでしょうか?
的野
サーバーサイドはクライアントサイドとは異なり、Web開発の経験がある方であればゲーム業界での経験は問いません。マインド的な話をするなら、大規模開発がしたいといった好奇心や、問題を解決するための自己探求力が人一倍あると良いと思います。
大枝
サーバーサイドではマインド面の方が重要なんですね。的野さんが重視している、分からないことは恐れず質問する姿勢にも繋がりますね。
的野
そうですね。最近社員には良く言っていますが、私のスキルをどんどん抜いていって欲しいと思っています。自分の強みと弱みを認識し、プライドは捨てて分からないことは貪欲にインプットしてスキルを高めていって欲しいです。
大枝
成長意欲は鍵になってきますね。では、井関さんから客観的に見て、gumiやゲーム業界のエンジニアに求められるスキルやマインドは何だと思いますか?
井関
自分はWeb系ばかりやってきた人間ですが、ゲーム開発の組織はプランナーやデザイナーなどたくさんの関係者がいるので、自分の仕事の枠から一歩外に出られるコミュニケーション能力が求められるんじゃないかなと思います。
大枝
視野を広く持って、他セクションの人にも積極的に関わりに行く姿勢ということですか?
井関
そうですね。特にゲームの運用は他のシステムと比べてアップデートやイベントの頻度が多くスピード感が早いので、自分の業務のことだけを考えて後は他人任せだと、エラーや認識の齟齬が起こりかねません。他の人の業務にも興味を持って、その領域のことも能動的に考えながら仕事を進めるという意味でも「自分の枠を超えられる」ことは重要かなと思います。
大枝
先ほど的野さんが言っていた、クライアントサイドとサーバーサイドがお互いの業務を理解しておくことの重要性とも共通する部分ですね。
最後に、ゲーム業界で働くことに興味があるエンジニアの方にメッセージをお願いします!
的野
ゲーム業界は敷居が高いと思われがちですが、特にサーバーサイドエンジニアは特殊なスキルが求められるわけではありません。興味があれば、気軽にお話だけでも聞きにきてもらえると嬉しいです!
井関
本当にそのとおりで、実際にプログラムを見てみると特殊な仕組みはなく、Web開発の経験があればソースコードも全然読めるんですよね。説明を受ければ設計も理解できるものなので、ゲームならではのアクセス数の多さに圧倒される人もいるかもしれませんが、必要以上に怯えなくて大丈夫です!
大枝
分からないことはいつでも聞ける環境はあるわけですしね!
的野
はい。知りたいことや必要なことは存分に学べる環境は用意していますので、興味を持っていただいた方のご応募をお待ちしています!