今回のインタビューは、スマホゲーム『共闘ことばRPG コトダマン』でサーバサイドエンジニアを担当している江澤です。長期インターンシップや内定者アルバイトの経験はなかったにも関わらず、入社1年で、スクラムチームのサーバサイドを任されたと言います。江澤が普段心がけていることや目指しているエンジニア像を聞きました。
──江澤さんの業務内容を教えてください。
サーバサイドエンジニアとして、『コトダマン』のサーバ運用と開発、スクラムチームでの開発を担当しています。
──プログラミングに関心を持ったのはいつ頃ですか。どんな言語の経験がありますか。
ゲームがきっかけでプログラマに憧れ、JavaScriptを触ったのが最初です。中学生の頃でしたね。その後、高専に進学すると、高専1年生の年からプログラミングの授業があって、C言語とC++、Javaなどを扱いました。高専では、「ロボコン」のプログラミング版にあたる「プロコン」という有名なコンテストが開催されていて、サークルで出場していました。
──プロコンって、どんな内容なんですか。
僕が参加したのは、競技部門で課題は画像処理でした。1枚の写真がパズルのように縦横に分割されて、位置が入れ替わっているのを元に戻す方法をプログラムに計算させて答えるというもので、一般的には「15パズル」と呼ばれています。決勝進出は1秒差で逃しました…!
──惜しい! 良い線まで行っていたんですね。大学でもプログラミングは続けたんですか。
プログラミングサークルには入りませんでしたが、趣味ではやっていましたよ。バドミントンサークルに入っていたんですけど、チームを決めるくじ引きができるスマホアプリを作りました!それから、授業の休講情報が発表されるWebページが分かりづらかったので、自分でサーバを立てて、作っちゃいました!何事も、困ったらプログラミングで解決、という感じでしょうか(笑)。使ってくれる人がいる方がモチベーションも上がりますし。
──バドミントンサークルでアプリを開発していたって、すごい話ですね(笑)。ちなみに大学での専門は?
学部と大学院での専攻は情報知能工学でしたが、研究で作成するプログラムはデータを整形するのに使う程度です。というのも、僕が所属していたのは薬の効果をシミュレーションする「量子生物学」の研究室です。
──医薬品関連なんですね。そうすると、ミクシィの事業とは少し離れているような…
薬のシミュレーションはすごく膨大な処理の計算で、研究室には約90台のサーバが用意されていたほどです。僕は強いサーバや大規模なサーバで、“解けない課題に挑んでいくこと”が好きなんですよね。
──なるほど。就職活動では、IT企業を中心に見ていたんですか。
そうですね。サーバサイドエンジニアとしての働き方を考えてみたときに、仕様書通りにコードを書くだけではなくて、「どういうアプローチで作ろう」「どういう価値を見出して、作ろう」というように、プロダクトにコミットできるような仕事がしたいことに気がつきました。ミクシィは、ただ「売れるもの」を作るのではなく、コミュニケーションを軸に「良いものを作ろう」とする姿勢に共感して、入社したら長くやっていけそうだなと思ったんです。落ち着いていて、技術に真摯に向き合うような雰囲気にも惹かれました!
──確かに、ミクシィで働くエンジニアに惹かれるケースは多いですよね。
分かります。それから、git challengeや1dayインターンシップで、社員さんに会う機会があり、サーバサイドの経験を活かしながら企画やデザインにも積極的に意見を言えるような、自分の社会人4〜5年目の姿が想像できたんです。
──『コトダマン』の配属は、江澤さん自身が希望を出されてのことでしょうか。
はい!ゲームはイベントがあると急に負荷が増えたり、定期的なアップデートがあったり、サイクルがあるので、サーバサイドのスキルを磨くのに良いと思っていました。その上で、『コトダマン』の部署は、様々な職種のメンバーで構成されるチームで開発を進める「スクラム開発」を採用していると聞いて、希望を出しました。
──スクラム開発に関心があったんですか。
特に知見はありませんでしたが、プロダクトにコミットできる機会が多いのではないかと思ったんです。
──配属されてみて、いかがですか。
良い意味で、想像以上でした(笑)。企画職の方やデザイナーの方と、「ユーザーにこういう価値を届けたいなら、こういう機能を新しく作ろう」と考えるところから関われます。むしろ、自分が提案しないと進まないくらいですね。サーバサイドエンジニアの枠を超えて、プロダクトにコミットできていると思います!
──充実しているのが伝わってきます! 江澤さん自身がチームに提案できるようになったのは、配属されてからどのくらい後ですか。
オンライン研修を受けた後、5月頃に『コトダマン』に配属されました。新卒の僕でも提案できる環境ではあったんですが、自分のキャッチアップが追いついていなくて…(苦笑)。実際に提案できるようになったのは、配属から半年後の12月頃からです。
──キャッチアップが難しかったのは、どういうところですか。
入社した当初から、コロナウイルス感染拡大の影響でリモートワークが基本でした。そういう事情で、オフィスに初めて出社したのは7月なんです。事業部は100人程度いるので、すれ違ったこともない全く知らない方と仕事をするのはハードルが高く感じられました。今は、週に1回は出社するようになったので、それぞれどういうことをしている人なのかが見えるようになり、働きやすくなりました!
──当時はリモートワークに慣れていない人も多かったと思いますし、大変でしたね。
そうですね…。それから、ミクシィに新卒で入社するエンジニアの多くは、長期インターンシップか内定者アルバイトで、チームで開発する経験を積んでいるんですが、僕はなかったので苦労しました。地方大学出身だったので、毎週関東圏に通うのは難しかったですし、研究も忙しくて、それどころじゃなかったんです…。なので、「更新フローが決まっていること」や「動いているサービスを落とさずに改修するには」など、運用の大枠を理解するところから始めました。
──そうだったんですね。ちなみに、技術面はいかがでしたか。
メインで使っているJavaは学校の授業で触っただけなので、得意ではありませんでしたが、入社後にキャッチアップすることで対応できました。でも、既存の部分を改修したら今度は関係ないところが壊れてしまう…「この関数は、ここでも使われていたのか」という長期運用されているプログラムならではの苦労がしょっちゅうありました(苦笑)。
──江澤さんが一人前のエンジニアとして、スクラムチームで提案ができるようになったきっかけは何かありましたか。
頼りにしていた先輩が異動して、スクラムチームのサーバサイドエンジニアが僕一人になったことです。「自分がやるしかないな」と、スイッチが入りました!
──今はサーバサイドエンジニアの代表として、スクラムチームに参加しているんですね。江澤さんが関わった施策や機能を教えてください。
バージョン3.2から開発に加わって、今は4.2の開発を進めているところです。最近では、作品中で同じグループのカードが手札にあると強くなる、友情コンボのような「グループ」と呼ばれる機能を実装しました。将来的にグループ機能に変更を加えたくなったときに、柔軟に対応できるようゆとりを持たせた設計にしたのがポイントです。
──配属されてから1年で、できるようになったと感じていることはありますか。
やっぱり、スクラムチームで発言できるようになったことが大きいです。「面白いゲームを作りたい」と思っているのは皆同じなので、必要なことは言ってくれるし、僕からも言おう、もっとコミットしていこうと思えるようになりました。
──課題に感じていることはありますか。
エンジニア以外のスクラムチームのメンバーに対して、分かりやすい説明をすることは心掛けています。スクラムチームにいる企画職の方は、相手にとって分かりやすい話し方をされているのに気が付いて、自分もそうなりたいと思ったんです。相手の立場を考慮した話し方ができるのは重要ですよね。
──幅広い職種の方が集まるスクラムチームならではですね。
そうかもしれません。それから、広い視野を持つこと…つまり作業の影響範囲を考えながら動くことも意識しています。例えば、サーバのメンテナンス作業が想定以上に時間がかかってしまいそうな場合は、誰に連絡するべきか考えられないと、サービスは上手く回らないんです。
──期待しています。最後に、どんなエンジニアを目指したいですか。
プロダクトにコミットするのと、良いプログラムが書けるエンジニアを目指すことは、入社当時から変わりません。ただ、日々の業務の中で運用の大切さに気付かされました。どんなに良いプロダクトを開発できても、運用が回らないとサービスとして成立しないので。そのために、プログラミングと運用のスキルを身につけていきたいです!