スマートフォン向け戦国ゲーム『戦国炎舞-KIZNA-』を大ヒットさせているサムザップは、さらなる成長のため、新卒社員の採用と研修を強化している。今回、同社のエンジニアにインタビューを行い、新卒研修の一環として行われているトレーナー・トレーニー制度について聞いてみた。
■原則毎日、面談する
―――:まず、お二人の仕事内容を紹介してもらえますか。
Kore:私はエンジニアで、Akiのトレーナーを担当しています。普段の業務はサーバサイドがメイン業務ですが、ネイティブのクライアントの実装やリーダー業務としてマネジメントなども一部行っています。
Aki:2014年4月より、新卒としてサイバーエージェントに入社し、新卒研修を経て、5月中旬からサムザップに配属され、現在に至っています。ネイティブエンジニアとしてUnityを使った開発を行っています。いまはモック開発がメインです。
―――:すぐにサムザップに配属というわけではなかったのですね。
Kore:サイバーエージェントでは、グループの新卒エンジニア向けの研修が用意されています。通常、3ヵ月ほど終了するのですが、その中でも研修期間中に優秀な成績を出している場合、7月以前に配属が決定されることもあります。Akiの場合、成績が優秀だったこと、早く現場で働くことを希望していたこともあり、1ヵ月半ほど前倒しで配属されました。
―――:Akiさんは期待のエンジニアなのですね。さて、早速、本題に入りますが、トレーナー・トレーニー制度について教えていただけますか?
Kore:サイバーエージェントグループにある新卒社員のトレーニング制度です。在籍している社員がトレーナーとなって、1年間、新卒社員をマンツーマンでサポートします。トレーナーが上長となることが多く、今回もAkiには私が担当しているプロジェクトに加わってもらいました。具体的な取り組みとしては、ほぼ毎日面談を行い、業務の進捗状況の確認や助言などを行ないます。日々の業務内容だけでなく、3ヵ月、半年、1年などと目標を設定し、その進捗も確認するといったことも行っています。
―――:1年間、ほぼ毎日面談ですか。
Kore:はい。新卒社員の成長を支援する仕組みとしてはうまく機能していると思います。新卒エンジニアとして入社し、OJTとして業務に入っているわけで、それなりのケアが必要になりますが、席が近いこともあり、気軽に相談に乗れます。メンタル的な部分でも頼りにしてもらっているのかなと感じています。
Aki:そうですね。ほぼ毎日、面談の時間を設けてもらえるので、精神的な支えになります。面談では、開発業務の報告や業務上困ったことについて相談することができ、トレーナーからはそれに対する改善策・解決策などアドバイスを示してもらえるので、本当に助かります。
―――:口で言うのは簡単ですが、業務をしながらとなるとお互い大変じゃないですか?
Kore:私自身、大学卒業後に入社した会社は別の会社でした。そこでは入社後1ヵ月は毎日面談してもらえましたが、その後、徐々に3日ごと、1週間ごととその期間が長くなりました。本当に聞きたいことがあるのに、1週間後まで待たないといけないこともあり、困った経験がありますので、多少無理しても時間を設けています。大事な人材ですし、いま手を抜いてしまうと良くない影響が出るかもしれません。サムザップでもルールではないのですが、毎日面談して進捗を見ようという流れになっています。
■開発ノウハウや基礎事項まで教える
―――:アドバイスを出すときに気をつけていることはありますか?
Kore:詰まってしまった時、解決する手法をすぐに示すのではなく、ヒントを出していき、自分で解答を導き出せるように心がけています。いわゆる"ちょい出し"です(笑)
Aki:私の立場からは"ちょい出し"してもらえているのかはまだわからないです(笑) Unityという会社としても新しい技術を使っているのですが、C#だけでなく、Java、C++の知識が必要になる時もありますので、それに関するアドバイスは本当にありがたいですね。通信関係やPHPも知らないことが多いので、基礎知識から教えてもらうこともあります。
―――:1年間にわたって毎日面談してもらえるのは嬉しいですね。エンジニアの方にお話を聞くと、技術な部分だけでなくノウハウもより重要であると聞きます。例えば、トラフィックの捌き方やメモリ管理などですが、こういった点に関して伝えたことはあるのですか?
Kore:そうですね。Akiはモック開発を担当していますので、当初からメモリ管理に関しては意識するように伝えました。ネイティブ開発をする上で重要なポイントとなります。描画関係では、ドローコール(draw call)を少なくする作り方や、Unityはシーンの切り替えが遅い傾向にあるので、それを少なくする作り方なども伝えてきました。今後、通信関係のことを伝えていきたいですね。
Aki:アドバイスにしたがって、メモリ管理とドローコールに関してはかなり気を使っています。アニメーションの組み込みでどの程度のメモリを使うのか、きちんとテストしてから実装するようにしています。
Kore:配属後すぐにメモリ管理のテストツールを勉強がてら作ってもらいました。「Unity」で使ったメモリの使用量を計測し、それをサーバ側に送って表示するというものです。あるプロジェクトでメモリ管理が十分にできていなかったために、アプリが頻繁に落ちるという経験をしましたから。
―――:先ほど長期的な成長も見ていくということでしたが、どういったことをされているのですか?
Kore:目標に関しては1年や半年で立てていますので、それに対してどう進捗しているかをチェックします。技術的な部分に関しては、当人に不足している技術に関して勉強の仕方や参考書を紹介したり、社内外のセミナーや研修などを紹介して行ってもらったりもしています。またトレーナーの間で情報共有もしていますので、こういうジャンルの技術習得ならば、この本が良い、このセミナーがいいといった情報をもらうこともできます。
―――:トレーナー・トレーニーとして半年過ぎたになるわけですが、振り返っていかがでしょうか?
Kore:これまで3人担当してきました。それぞれ成長の仕方が多様です。Akiの場合、本人が努力しているからですが、予想以上に早く成長しています。新卒エンジニアなので業務量を調整していたのですが、本人が「任せてもらえれば、どんどんやります」という姿勢なので、とにかく成長が早いです。これからが本当に楽しみです。私は新規プロジェクトの立ち上げに従事することが多いのですが、コアメンバーとなって活躍することを期待して、「こういった時はこうするんだよ」などと教えています。
Aki:私は、この半年ほどで通信関係を含めてネイティブとサーバサイド双方の知識を得ることができました。いまはネイティブに力を入れていますが、1人でゲームをきちんと動く形で実装できる状況に近づきつつある、という実感があります。今後は、仕事の精度を高めつつ、設計の技術なども学んでいきたいですね。
■隣接領域の基礎的なスキル習得を推奨
―――:サムザップさんではサーバとクライアントは分けているのですか?
Kore:基本的には分けますが、最近はエンジニアのスキルの幅を広げる取り組みを行っています。クライアントサイドのエンジニアがサーバ側を勉強して、逆にサーバサイドもクライアントサイドの勉強をするようにしています。インタフェースなどの部分でクライアントとサーバサイドで調整を行うことが多いので、それが一種のロスになるからです。スペシャリストにはならなくても、お互いの業務知識を習得しておくことで、開発を円滑に進めることができます。
―――:はっきりと分ける会社が多いですよね。
Kore:そうですね。実は私も当初、サーバサイドがクライアントサイドの勉強をするのに抵抗のある人がいるかもしれないと思っていたのですが、「Unityに興味があって触ってみたいです」と話すエンジニアが多いですね。逆にネイティブのエンジニアも「サーバサイドのことを知りたい」と話す人が多いので、自分の担当しているプロジェクトでは半年の目標としてお互いの業務知識を修得することを推奨しています。
―――:通常業務を行いながらだと大変ですよね?
Kore:新しい業務知識を身に付けるわけですから、業務量を減らして学習時間を設けてあげる必要があります。プロジェクトごとの状況もありますので、すぐに全員…とはなりませんが、やれるところから少しずつ取り組んでいます。業務量は変えずにサーバサイドの勉強もしなさい、というのでは体を壊してしまいますからね。
Aki:私のプロジェクトでは、アニメーターやプロジェクトマネージャなどにもUnityを使う取り組みがあります。Unityの使い方を知っておくと、例えば、アニメーターが自分の制作物がどういう風に実装されるかを知ることができ、効率良く実装できる形で制作物を渡すことができます。またプロジェクトマネージャもちょっとした調整であれば自分で行えるようになります。
―――:なるほど。お互いの業務知識を知っておくことで効率性が上がるわけですね。
Kore:はい。これまではなかなか踏み出せなかったのですが、少しずつできるようになってきました。
―――:Akiさんはこういった考え方のもとでのOJTはいかがですか?
Aki:エンジニアとしては充実感がありますね。まず、ネイティブの開発を極めることが重要ですが、サーバサイドのことを学んでおくことでネイティブ側の実装にも活かすことができます。
―――:教えることは学ぶことと同じといいますが、教える側にとっても学ぶことが多いんじゃないですか?
Kore:確かに教える側になると変わりますね。何となくわかっていたことでも、実際に教えるとなると「これでいいんだっけ?」という疑問や不安が出てきます。説明するためには、しっかりと知識を固める必要がありますので、私自身も知識やノウハウを見直す機会になり、成長することができていると実感します。あと、予想もしなかった質問が出る時があり、「こういう切り口での疑問もあるのか」という気付きも多いですね。
―――:サイバーエージェントグループとしての研修以外に何か研修制度はあるのですか?
Aki:新卒研修は終わったのですが、ネイティブやサーバサイドについて、具体的な技術やノウハウを身に付けるための研修もグループに用意されています。上長と相談しながら受講しています。
■仕事を通じて成長したい人にはぜひ来てほしい
―――:目標を教えてください。
Kore:トレーナーとしてはAkiをメインエンジニアとして率先してチームを引っ張っていける人材に育てたいという目標があります。開発スキルという点では順調に磨けていますので、今後はメインエンジニアとしてメンバーとの調整の仕方や、最近流行り始めているCI環境の導入による自動化などをしっかりレクチャーしたいです。私個人としてはネイティブエンジニアのスキルを身につけて、ネイティブもサーバもしっかりとできるエンジニアを目指したいですね。
―――:これまで担当した方とは連絡は取られているのですか?
Kore:そうですね。トレーナー・トレーニーの関係で培われた関係がありますから、トレーニング期間終了後も頻繁に連絡を取り合っています。例えば、2年前に担当したエンジニアは、新規プロジェクトのエンジニアリーダーとして活躍していますが、彼にとっては初めて担当する業務なので、仕事上の相談を受けています。「こういう時にはこうしたらいい」など具体的な助言もしています。トレーニーにとって信頼して相談してもらえる存在になれているのではないかと少し思っています(笑)
―――:Akiさんはいかがでしょうか。
Aki:ゲーム開発者としては「フルスタックエンジニア」といいますか、自分1人でゲーム開発ができるようになることが目標です。新規プロジェクトのメインエンジニアとして初期段階から関わって、ひとつの立派なサービスとして出せるようになりたいです。あとは次に入ってくる人たちや、Unityを学びたい人に自分が学んだことを共有できるように技術を磨いていきたいですね。
―――:メインエンジニアになるとコミュニケーション能力も重要じゃないですか?
Aki:そうですね。色々なゲームを遊んでみて、この機能や仕様は良い、面白いねなどとメンバーと話し合って仲を深めつつ、ゲームのクオリティ向上に役立つようにしたり、飲み会の設定なども自分から率先して行ったりするようにしています。
―――:メインエンジニアになるための準備は進んでいるということですね。最後に読者にメッセージをお願いできますか?
Aki:サムザップは、自分のやりたいことを口に出して言えばやらせてもらえる環境にあります。サムザップ版「ジギョつく」もありますので、積極的にアイディアを出していけば、自分の考えたアイディアが実際に事業になることも可能です。意欲的な人であれば活躍できる会社ですし、技術的にも新しいことに取り組んでいるので挑戦したい人にとっても良い環境です。教育制度も整っていますので、しっかりと成長することもできます。
Kore:サムザップでは、新卒社員は、他の会社に比べても早く業務に入ることができます。そこではいわゆるOJTでスキルを磨いていくわけですが、必ず1人のトレーナーが付いて毎日面談を行い、業務で詰まったことや困ったことなどのアドバイスを受けることができます。トレーナーだけでなく、先輩の社員も助言をしてくれます。新卒だけでなく、2年目の社員が成長していくための仕組みも整ってきていますので、仕事を通じて自分を成長させていきたいという意欲的な人にはぜひ入って欲しいですね。
■関連サイト
■原則毎日、面談する
―――:まず、お二人の仕事内容を紹介してもらえますか。
Kore:私はエンジニアで、Akiのトレーナーを担当しています。普段の業務はサーバサイドがメイン業務ですが、ネイティブのクライアントの実装やリーダー業務としてマネジメントなども一部行っています。
Aki:2014年4月より、新卒としてサイバーエージェントに入社し、新卒研修を経て、5月中旬からサムザップに配属され、現在に至っています。ネイティブエンジニアとしてUnityを使った開発を行っています。いまはモック開発がメインです。
―――:すぐにサムザップに配属というわけではなかったのですね。
Kore:サイバーエージェントでは、グループの新卒エンジニア向けの研修が用意されています。通常、3ヵ月ほど終了するのですが、その中でも研修期間中に優秀な成績を出している場合、7月以前に配属が決定されることもあります。Akiの場合、成績が優秀だったこと、早く現場で働くことを希望していたこともあり、1ヵ月半ほど前倒しで配属されました。
―――:Akiさんは期待のエンジニアなのですね。さて、早速、本題に入りますが、トレーナー・トレーニー制度について教えていただけますか?
Kore:サイバーエージェントグループにある新卒社員のトレーニング制度です。在籍している社員がトレーナーとなって、1年間、新卒社員をマンツーマンでサポートします。トレーナーが上長となることが多く、今回もAkiには私が担当しているプロジェクトに加わってもらいました。具体的な取り組みとしては、ほぼ毎日面談を行い、業務の進捗状況の確認や助言などを行ないます。日々の業務内容だけでなく、3ヵ月、半年、1年などと目標を設定し、その進捗も確認するといったことも行っています。
―――:1年間、ほぼ毎日面談ですか。
Kore:はい。新卒社員の成長を支援する仕組みとしてはうまく機能していると思います。新卒エンジニアとして入社し、OJTとして業務に入っているわけで、それなりのケアが必要になりますが、席が近いこともあり、気軽に相談に乗れます。メンタル的な部分でも頼りにしてもらっているのかなと感じています。
Aki:そうですね。ほぼ毎日、面談の時間を設けてもらえるので、精神的な支えになります。面談では、開発業務の報告や業務上困ったことについて相談することができ、トレーナーからはそれに対する改善策・解決策などアドバイスを示してもらえるので、本当に助かります。
―――:口で言うのは簡単ですが、業務をしながらとなるとお互い大変じゃないですか?
Kore:私自身、大学卒業後に入社した会社は別の会社でした。そこでは入社後1ヵ月は毎日面談してもらえましたが、その後、徐々に3日ごと、1週間ごととその期間が長くなりました。本当に聞きたいことがあるのに、1週間後まで待たないといけないこともあり、困った経験がありますので、多少無理しても時間を設けています。大事な人材ですし、いま手を抜いてしまうと良くない影響が出るかもしれません。サムザップでもルールではないのですが、毎日面談して進捗を見ようという流れになっています。
■開発ノウハウや基礎事項まで教える
―――:アドバイスを出すときに気をつけていることはありますか?
Kore:詰まってしまった時、解決する手法をすぐに示すのではなく、ヒントを出していき、自分で解答を導き出せるように心がけています。いわゆる"ちょい出し"です(笑)
Aki:私の立場からは"ちょい出し"してもらえているのかはまだわからないです(笑) Unityという会社としても新しい技術を使っているのですが、C#だけでなく、Java、C++の知識が必要になる時もありますので、それに関するアドバイスは本当にありがたいですね。通信関係やPHPも知らないことが多いので、基礎知識から教えてもらうこともあります。
―――:1年間にわたって毎日面談してもらえるのは嬉しいですね。エンジニアの方にお話を聞くと、技術な部分だけでなくノウハウもより重要であると聞きます。例えば、トラフィックの捌き方やメモリ管理などですが、こういった点に関して伝えたことはあるのですか?
Kore:そうですね。Akiはモック開発を担当していますので、当初からメモリ管理に関しては意識するように伝えました。ネイティブ開発をする上で重要なポイントとなります。描画関係では、ドローコール(draw call)を少なくする作り方や、Unityはシーンの切り替えが遅い傾向にあるので、それを少なくする作り方なども伝えてきました。今後、通信関係のことを伝えていきたいですね。
Aki:アドバイスにしたがって、メモリ管理とドローコールに関してはかなり気を使っています。アニメーションの組み込みでどの程度のメモリを使うのか、きちんとテストしてから実装するようにしています。
Kore:配属後すぐにメモリ管理のテストツールを勉強がてら作ってもらいました。「Unity」で使ったメモリの使用量を計測し、それをサーバ側に送って表示するというものです。あるプロジェクトでメモリ管理が十分にできていなかったために、アプリが頻繁に落ちるという経験をしましたから。
―――:先ほど長期的な成長も見ていくということでしたが、どういったことをされているのですか?
Kore:目標に関しては1年や半年で立てていますので、それに対してどう進捗しているかをチェックします。技術的な部分に関しては、当人に不足している技術に関して勉強の仕方や参考書を紹介したり、社内外のセミナーや研修などを紹介して行ってもらったりもしています。またトレーナーの間で情報共有もしていますので、こういうジャンルの技術習得ならば、この本が良い、このセミナーがいいといった情報をもらうこともできます。
―――:トレーナー・トレーニーとして半年過ぎたになるわけですが、振り返っていかがでしょうか?
Kore:これまで3人担当してきました。それぞれ成長の仕方が多様です。Akiの場合、本人が努力しているからですが、予想以上に早く成長しています。新卒エンジニアなので業務量を調整していたのですが、本人が「任せてもらえれば、どんどんやります」という姿勢なので、とにかく成長が早いです。これからが本当に楽しみです。私は新規プロジェクトの立ち上げに従事することが多いのですが、コアメンバーとなって活躍することを期待して、「こういった時はこうするんだよ」などと教えています。
Aki:私は、この半年ほどで通信関係を含めてネイティブとサーバサイド双方の知識を得ることができました。いまはネイティブに力を入れていますが、1人でゲームをきちんと動く形で実装できる状況に近づきつつある、という実感があります。今後は、仕事の精度を高めつつ、設計の技術なども学んでいきたいですね。
■隣接領域の基礎的なスキル習得を推奨
―――:サムザップさんではサーバとクライアントは分けているのですか?
Kore:基本的には分けますが、最近はエンジニアのスキルの幅を広げる取り組みを行っています。クライアントサイドのエンジニアがサーバ側を勉強して、逆にサーバサイドもクライアントサイドの勉強をするようにしています。インタフェースなどの部分でクライアントとサーバサイドで調整を行うことが多いので、それが一種のロスになるからです。スペシャリストにはならなくても、お互いの業務知識を習得しておくことで、開発を円滑に進めることができます。
―――:はっきりと分ける会社が多いですよね。
Kore:そうですね。実は私も当初、サーバサイドがクライアントサイドの勉強をするのに抵抗のある人がいるかもしれないと思っていたのですが、「Unityに興味があって触ってみたいです」と話すエンジニアが多いですね。逆にネイティブのエンジニアも「サーバサイドのことを知りたい」と話す人が多いので、自分の担当しているプロジェクトでは半年の目標としてお互いの業務知識を修得することを推奨しています。
―――:通常業務を行いながらだと大変ですよね?
Kore:新しい業務知識を身に付けるわけですから、業務量を減らして学習時間を設けてあげる必要があります。プロジェクトごとの状況もありますので、すぐに全員…とはなりませんが、やれるところから少しずつ取り組んでいます。業務量は変えずにサーバサイドの勉強もしなさい、というのでは体を壊してしまいますからね。
Aki:私のプロジェクトでは、アニメーターやプロジェクトマネージャなどにもUnityを使う取り組みがあります。Unityの使い方を知っておくと、例えば、アニメーターが自分の制作物がどういう風に実装されるかを知ることができ、効率良く実装できる形で制作物を渡すことができます。またプロジェクトマネージャもちょっとした調整であれば自分で行えるようになります。
―――:なるほど。お互いの業務知識を知っておくことで効率性が上がるわけですね。
Kore:はい。これまではなかなか踏み出せなかったのですが、少しずつできるようになってきました。
―――:Akiさんはこういった考え方のもとでのOJTはいかがですか?
Aki:エンジニアとしては充実感がありますね。まず、ネイティブの開発を極めることが重要ですが、サーバサイドのことを学んでおくことでネイティブ側の実装にも活かすことができます。
―――:教えることは学ぶことと同じといいますが、教える側にとっても学ぶことが多いんじゃないですか?
Kore:確かに教える側になると変わりますね。何となくわかっていたことでも、実際に教えるとなると「これでいいんだっけ?」という疑問や不安が出てきます。説明するためには、しっかりと知識を固める必要がありますので、私自身も知識やノウハウを見直す機会になり、成長することができていると実感します。あと、予想もしなかった質問が出る時があり、「こういう切り口での疑問もあるのか」という気付きも多いですね。
―――:サイバーエージェントグループとしての研修以外に何か研修制度はあるのですか?
Aki:新卒研修は終わったのですが、ネイティブやサーバサイドについて、具体的な技術やノウハウを身に付けるための研修もグループに用意されています。上長と相談しながら受講しています。
■仕事を通じて成長したい人にはぜひ来てほしい
―――:目標を教えてください。
Kore:トレーナーとしてはAkiをメインエンジニアとして率先してチームを引っ張っていける人材に育てたいという目標があります。開発スキルという点では順調に磨けていますので、今後はメインエンジニアとしてメンバーとの調整の仕方や、最近流行り始めているCI環境の導入による自動化などをしっかりレクチャーしたいです。私個人としてはネイティブエンジニアのスキルを身につけて、ネイティブもサーバもしっかりとできるエンジニアを目指したいですね。
―――:これまで担当した方とは連絡は取られているのですか?
Kore:そうですね。トレーナー・トレーニーの関係で培われた関係がありますから、トレーニング期間終了後も頻繁に連絡を取り合っています。例えば、2年前に担当したエンジニアは、新規プロジェクトのエンジニアリーダーとして活躍していますが、彼にとっては初めて担当する業務なので、仕事上の相談を受けています。「こういう時にはこうしたらいい」など具体的な助言もしています。トレーニーにとって信頼して相談してもらえる存在になれているのではないかと少し思っています(笑)
―――:Akiさんはいかがでしょうか。
Aki:ゲーム開発者としては「フルスタックエンジニア」といいますか、自分1人でゲーム開発ができるようになることが目標です。新規プロジェクトのメインエンジニアとして初期段階から関わって、ひとつの立派なサービスとして出せるようになりたいです。あとは次に入ってくる人たちや、Unityを学びたい人に自分が学んだことを共有できるように技術を磨いていきたいですね。
―――:メインエンジニアになるとコミュニケーション能力も重要じゃないですか?
Aki:そうですね。色々なゲームを遊んでみて、この機能や仕様は良い、面白いねなどとメンバーと話し合って仲を深めつつ、ゲームのクオリティ向上に役立つようにしたり、飲み会の設定なども自分から率先して行ったりするようにしています。
―――:メインエンジニアになるための準備は進んでいるということですね。最後に読者にメッセージをお願いできますか?
Aki:サムザップは、自分のやりたいことを口に出して言えばやらせてもらえる環境にあります。サムザップ版「ジギョつく」もありますので、積極的にアイディアを出していけば、自分の考えたアイディアが実際に事業になることも可能です。意欲的な人であれば活躍できる会社ですし、技術的にも新しいことに取り組んでいるので挑戦したい人にとっても良い環境です。教育制度も整っていますので、しっかりと成長することもできます。
Kore:サムザップでは、新卒社員は、他の会社に比べても早く業務に入ることができます。そこではいわゆるOJTでスキルを磨いていくわけですが、必ず1人のトレーナーが付いて毎日面談を行い、業務で詰まったことや困ったことなどのアドバイスを受けることができます。トレーナーだけでなく、先輩の社員も助言をしてくれます。新卒だけでなく、2年目の社員が成長していくための仕組みも整ってきていますので、仕事を通じて自分を成長させていきたいという意欲的な人にはぜひ入って欲しいですね。
(編集部 木村英彦)
■関連サイト
会社情報
- 会社名
- 株式会社サムザップ
- 設立
- 2009年5月
- 代表者
- 代表取締役 日高 裕介
- 決算期
- 9月