RECRUITインタビュー
このページは、リクルート活動の一環として
外部のインタビュアーに委託し、取材を行っています。
開発環境エンジニア編
プロジェクト全体を
効率化で支援する仕事
本日は「開発環境エンジニア」のお二人に来ていただきました。
自己紹介をお願いします。
松本
モノリスソフトにデザイナーとして入社し、今年で21年目です。
エフェクトデザイナーやマップモデラーを経験していく中で、
スタッフのサポートや作業の効率化などに興味を持ち、
テクニカルアーティスト(以下、TA)も兼務するようになっていきまして。
徐々に開発規模が大きくなっていき、そうした作業の需要が増えたこともあり、
デザイナーの技術サポートを行うTAを専門で担当するようになりました。
その後、プロジェクトの全般的な開発環境の整備やサポートも手がけるようになり、
今は引き続きTAとしての仕事もしながら、開発環境エンジニアとして働いています。
柴原
前職は家庭用ゲーム機向けのゲーム制作会社で、
プログラマーと開発支援業務を兼務していました。
学生の頃から開発支援に携わりたいという想いがあり、
そのきっかけとなったのは、当時ゲーム会社で働く人から聞いた
「みんなゲームを作るために一生懸命だけど、
それ以外のことに多くの時間を奪われている」という話でした。
自分はツールやシステムを作るのが好きなので、そうした負担を減らすことで、
ゲーム全体のクオリティ向上に貢献できるのではないかと気付いたんです。
その後、ゲーム業界に入り経験を積み、
規模の大きなプロジェクトを手がけているモノリスソフトなら、
開発環境の整備に対するニーズも大きく、自分が望んでいた業務に
100%専念できるのではないかと考え、転職しました。
現在入社5年目です。
「開発環境エンジニア」は、比較的新しい職種と聞きましたが、
モノリスソフトではどのようなお仕事をされているのでしょうか?
松本
プロジェクトによっても多少異なるのですが、
手順の単純化や自動化を目的とした「支援ツール」の作成をはじめ、
効率的でミスを減らすワークフローの提案・構築・改善や、
新たなシステムや機材、既存のソフトなどの導入前の検証、
開発環境全般についての資料作成や情報周知、問い合わせや要望への対応など、
仕事の範囲は多岐にわたっています。
柴原
要するに「ゲームの開発環境をよりよくして、
プロジェクトに貢献する」ということですね。
その目的を実現できるのであれば、手段はある程度どんな形でもいいんです。
デザイナー経験のある松本さんと、プログラマーを経験してきた私では、
視点や解決のアプローチが異なっても構わないと考えています。
環境を支援する立場と聞くと、開発現場から一歩離れた印象をうけますが、
どのような位置付けになっているのでしょう?
松本
環境支援と言うとPCやサーバーを管理しているシステム部門もありますが、
そういったバックオフィス組織とは異なり、私たちはプロジェクトに配属されるので、
開発チームの一員としてタイトルに深く関わっていくことになります。
私の所属するプロジェクトの場合、プログラマーと同じテクニカルセクション内にある
「技術サポート」という班の所属です。
柴原
自分は松本さんとは別のプロジェクトで、
プログラマーセクションの中にある開発環境に特化した班に所属しています。
プロジェクトへの関わり方としては、各セクションを横断し
非効率な部分や困り事をヒアリングしながら課題を見つけ、
TAやプログラマーの方々と協力しながら解決に繋げます。
そのため、開発現場にはかなり近い距離で、全体に寄り添っているポジションですね。
なるほど。TAとの連携もあるとのことですが、
開発環境エンジニアとTAの違いはどのようなところにあるのですか?
柴原
TAは、「モデリングTA」や「エフェクトTA」など、
ある分野に特化して効率化や自動化などの支援を行っています。
一方、私たち開発環境エンジニアは、プロジェクト全体の
ワークフローの構築や、効率化・自動化などを行うのが仕事の中心です。
松本
開発現場の効率化や自動化の業務は、
昔はリードプログラマーやディレクターを中心に行われていました。
そこから開発の規模の拡大に伴い、専門分野を深めていくTAや、
全体を広くカバーする開発環境エンジニアへと次第に細分化されてきた、
という経緯があります。
柴原
そのあたりの職種の境界線は、業界内でもまだ曖昧なところがありまして。
私たちとかなり近い仕事内容だったとしても、
他社さんでは「開発環境エンジニア」という呼び名ではなく、
「ジェネラリストTA」や「ビルドエンジニア」、「SRE」、
「パイプラインエンジニア」、「ツールプログラマー」、「QAエンジニア」・・・
など異なる名称が使われていることもあります。
また、専任ではなく兼務されている方も多いのではないでしょうか。
具体的に、どのような作業を行っているのでしょう?
柴原
例えば、ランチャーの整備です。
開発スタッフが毎日、作業を始める時に開くツールで、
MayaやPhotoshopなどの各種ツールを立ち上げるためのボタンや、
最新のバージョンでゲームを起動するまでの準備を支援する
さまざまな機能が配置されています。
これがより便利になるよう、常にブラッシュアップを続けているんです。
松本
私のほうでは、開発環境を簡単に整えられるセットアップツールを作成しました。
上から順番に実行ボタンを押していくだけで、
ランチャーなど開発に必要なツールや設定を自動で行ったり、
手順のページを開いたりするようなものです。
セットアップが済んでるかどうかのチェック機能も付けていますので、
抜け漏れがないかがわかりやすく、ミスを低減することができます。
柴原
スタッフがゲーム開発に専念できるように、
手順の簡略化や自動化はあらゆる面で進めていますよね。
過去の事例では、Jenkinsによる確認環境の自動化があります。
ゲーム開発では、各セクションで日々大量のデータが作成・更新されるのですが、
そのデータ量と同じだけ、ゲーム機で思ったとおりに動くかどうかを
確認する作業が発生します。
これらを自動でテスト・確認し、エラー報告なども行う仕組みを作成しました。
もう少し詳しく教えていただけますか。
柴原
例えば、プログラマーがソースコードを更新するごとに
自動でビルドとアップロードを行い、もしエラーが出た場合は
内容をチャットに通知するようにしました。
また、別のスタッフのカットシーンの取り組みとして、
シーンごとに組み込まれているキャラクターモデルや背景モデルなどのアセットを
データベース化しておき、データが更新されるたびに関連するシーンを生成し、
確認用の動画を録画、アップロードするまでを自動化したというものがあります。
各スタッフは生成された動画をチェックするだけで済むようになっています。
Jenkinsに関しては、当社ホームページで公開している
『TECH BLOG』でも紹介していますので、興味のある方はそちらもご覧ください。
作るものも多岐にわたっていますが、
どのようなプログラミング言語を使用しているのでしょうか?
柴原
私は、今はPythonを使うことが多いです。
プロジェクト内で以前から使われている言語としては、
他にもC#、Javaベース、PowerShell、Visual Basicなどさまざまですが、
共通の言語に揃えておいたほうが
担当者が変わった時、スムーズに作業へ入れるので、
結果的にPythonが主流になりつつありますね。
松本
私は、Python、VBScript、あとはC#あたりですね。
目的に合わせてその時々で最適と思うものを選択していますので、
この言語でなければいけない、というようなこだわりはありません。
エフェクトデザイナーをしていた頃から、少しずつ独学で学んできて今も勉強中です。
現場からの感謝の声を
モチベーションに
日々の業務では、どのようなことが求められているのでしょう?
柴原
開発現場からの「こういう問題を解決したい」という相談に対して、
相談された内容をそのまま遂行すべきか、別のアプローチを取るべきか、
プロジェクトが最もよくなる方法を選んで提案する責任があります。
例えば、アイデアがいろいろ出ていたとしても、
実現にはシステム側とアプリ側など、複数人の作業が不可欠な場合、
それぞれのスケジュールやコストの面から難しい状況もあり得ます。
どれが実際に打てる手なのか、プロジェクト全体の視点をもって
提案することが求められます。
松本
私の場合、開発環境に関するあらゆる問い合わせを
一時窓口として引き受けているのですが、
その中には、PCなど機材の故障や「データが出力できない」など
別セクションでないと解決できないものも混在していて。
対応の遅れがスタッフの作業進捗に影響してしまうので、
どんなケースもいち早く解決することが求められます。
その対策として、汎用の問い合わせフォームを用意しました。
問い合わせしたい内容を入力して送信すると、
グループウェアへ自動的に書き込みが行くだけでなく、
担当セクションにも通知が飛ぶようにしています。
また、トラブルが起きた時に本人でも対処できるよう、
マニュアルも日々管理しています。
相談や依頼を受けて仕事が始まるようですが、
そういった話のない時はどうしているのでしょうか?
松本
私たちの仕事は、どちらかというと「言われたからやる」のではなく、
「こうすればもっとよくなる」というところを自分から探し
提案・改善をしていくことが大事なんです。
手が空いた時は、新しいアイデアを実行するチャンスなので、
プロジェクトの期間中ずっと、何かしら作業をしています。
柴原
技術の進歩とともに開発環境も日々変わっていくので、
仕事は尽きないですね。
正直なところ、アイデアに対して人が足りていない状態なので
一緒にモノリスの開発環境を豊かにしてくれる仲間を大募集中です!
私自身、試してみたいことは山ほどありますし、
現場にある課題の解決・改善を、キャパの限りこなしていくというのが、
開発環境エンジニアに求められてることだと思っています。
お仕事をするうえでの「こだわり」や意識していることを教えてください。
柴原
自分たちが「この施策をすることでよくなる」という確信のもとに
楽しんで実行していくことを大事にしています。
それを踏まえたうえで、ちゃんと成果を残すことにもこだわっています。
やりたいことをやった結果、たいして効率が上がらなかった、
となるとチームにとってよくないですから。
松本
私は、押し付けをしないことを心がけてます。
いくらこちらが便利だと思ったツールでも、
相手が納得して使わないと意味がないので。
みんなの作業効率を上げることや、
みんなが使いやすく便利になることを第一に考えたいので、
ヒアリングの場では、こちらの考えを伝えつつ相手の意見もしっかり引き出して、
お互いがよいと思えるものを提案するようにしています。
皆さんがとくにやりがいを感じるのはどんな時ですか?
松本
ツールを使ってくださってる皆さんから、
「便利になったよ」と言われた時はやっぱり嬉しいですね。
あと、共有情報としてトラブル事例集をたくさん用意したり、
手順書を作ったりもしてるんですが、そういったものを
「役立ってるよ」と言われた時もすごく嬉しいです。
皆さん結構、感謝の言葉を伝えてくれるんですよ。
柴原
そうなんですよね。
他の開発職の方は、タイトルがリリースされた時になってようやく
自分がやったことに対する評価を目にしたり、耳にしたりできるんですけど、
私たちは納品したら即反応をもらえるところが一番のご褒美だと思ってます。
社内には褒め上手な人も多いのか(笑)、
「これ、最高ですね」とか、「神ツールですね」みたいに言われると、
次も仕事を頑張ろうとモチベーションが上がりますね。
開発環境エンジニアに必要なスキルはどのようなものですか?
柴原
支援ツールを通してプロジェクト内の効率性を高めていくことが主な役割のため、
先に挙げたプログラム言語を用いた実務経験をお持ちであると
合流しやすいと思います。
ただ、開発環境は常に変化するものです。
求められる知識や言語もどんどん変わっていきますので、
大事なのは学び続ける姿勢だと感じています。
ゲーム制作会社で働いた経験の有無も必須ではないと考えていて、
自分が触れたことのない技術にも臆さない積極性や、
学んだ技術を自分なりに咀嚼して周囲に広めていくような経験を
お持ちの方は、力を発揮しやすいと思います。
松本
自分で計画してツールを作成し、それを他者に展開した経験があれば、
私も前職や技術面のスキルはそれほど重要視しなくてよいと思っています。
ゲーム開発に関する知識は、入社した後から学んでも十分間に合うと思うので。
TAであれば、どうしてもグラフィック寄りの知識が豊富な人でないと
難しい部分もありますが、開発環境エンジニアは
必ずしもそれが必須ではないところが一番の違いではないでしょうか。
どのような人が開発環境エンジニアに向いてるのでしょう?
松本
自分が手がけたものが前面に出るわけではないので、
「縁の下の力持ちとして支えていくのが好き」な人が向いていると思います。
柴原
私もそう思います。
「チーム全体の成果が、自分の功績になる」と考えられる人が
マッチしているでしょうね。
短期的には、目の前の開発職のスタッフ、
プログラマーやプランナー、デザイナーに喜んでもらえること。
長期的には、開発環境をよくすることで商品の質が向上していき、
お客様に喜んでもらえることを原動力にできる人には、
とても楽しい仕事だと思います。
松本
さまざまな職種の方とやりとりすることが多いので、
人と対話しながら貢献していきたい方に向いていると思います。
あとは、自分で問題を見つけて行動していける人ですね。
よりよい開発環境の実現を
目指して
モノリスソフトで働いて、成長できた部分はどのようなところでしょうか。
松本
今お話ししたことにもつながるのですが、課題解決のために必要な知識を探して、
現場で使えるように取り込んでいくのが基本的なスタイルなので、
日々の仕事が成長に直結している部分も多いと思います。
常に新しいことを学び、実践しているという感覚です。
柴原
ここが成長できた、と言い表すのが難しいくらい
モノリスソフトに入社してから多様な知識や経験が得られています。
ゲーム開発者向けのカンファレンスには積極的に参加させてもらえますし、
そこで得た情報を「どう思います?」と聞いて回ると、皆さん興味を
示してくれて、人を巻き込みながら考えを深めることができています。
新しい技術の提案をポジティブに受け止めてもらえるので、
「こういうことをやりたい」と手も挙げやすいと感じており、
学んだことを経験や実績に変換しやすいですね。
スキルアップのために日頃から取り組んでいることはありますか?
松本
情報処理系の資格の学習書籍を読んだりしています。
プログラミングの技術だけでなく、セキュリティについても詳しく紹介されているので、
幅広い知識を得るという意味でも役立つんです。
プライベートと両立しながら、
手がけられるジャンルを広げるための活動をいろいろと行っています。
あと、私もゲーム開発者向けのカンファレンスに参加して、
取り入れられるネタがないか探したりしています。
そういえば柴原さんは先日、社内でCEDECの感想会を開催されてましたよね?
柴原
はい。これまでもプログラマーの中では何回か実施していたのですが、
それを今年は全社規模に拡大して声がけをすることにしました。
技術交流はもちろんのこと、これをきっかけに
開発環境の改善に興味を持ってくれる仲間を増やせたらと思いまして。
中目黒、大崎、京都の各事業所からさまざまな職種のスタッフが集まり、
お互いによい刺激を受ける場になりました。
今年が好評だったので、来年も継続できたらいいなと思っています。
今後チャレンジしたいことはありますか?
松本
現在は、担当プロジェクトのサポートだけを手がけることが多いのですが、
それをもっと汎用化して、どのプロジェクトでも使えるような形に持っていくなど、
会社全体に普及させていければと考えています。
例えば、先ほど紹介したトラブル解決のマニュアルなどは、
プロジェクトにかかわらず共通している項目も多いと思うんです。
同じ悩みを抱えていたり、別々に解決しようとしていた部分を共通化できれば、
その部分に投じていたコストの低減にもつながり、
違う課題の解決に時間を割けるのではないかと考えています。
柴原
私は、業界の最先端技術に追い着くという一大目標がありまして。
そのために今後も、業務の中でいろいろと新たな取り組みを進めていくつもりです。
自分たちの取り組みや今後の課題を定期的に社内の勉強会でシェアして
協力者を増やしたり、自分の手がけたことを他のスタッフに任せたりしながら
開発環境整備に携わるスタッフの層を厚くしていき、
チーム全体のレベルアップにつなげていきたいと考えています。
この会社に入ってよかったことは何ですか?
柴原
一つの仕事を長期的な視点で深めていけるので、
先を見据えた改善策を検討できるのがいいところですね。
過去の施策もきちんと評価してもらえる一方で、
「次はもっとよくしていこう」という前向きな議論もしやすいです。
また、カンファレンスの参加率も高いので、みんなが知っている前提で話ができるのは、
結構大きなメリットですね。今後もこの環境を活かしていきたいなと思っています。
松本
私は、長く働ける労働環境があることですね。
出産や育児などのライフイベントに対しても配慮していただけますし。
それに、自分から動けばチャンスがもらえる機会も多いです。
だから私もデザイナーを経て、今の仕事に就くことができたのだと思います。
応募の際、どのようなことを意識すれば、
実力や考え方が伝わりやすいでしょうか。
松本
成果物が目に見えないことが多い職種だけに、
どのような資料を用意すればいいのか悩む方もいらっしゃると思います。
例えば、過去に作ったツールを説明する資料であれば、
単に機能を紹介するだけでなく、制作の意図や背景などが
きちんと伝わるように書いてあるとよいのではないでしょうか。
相手に説明する力も含めて、見るべきポイントが絞りやすくなると思います。
柴原
自分が応募した時に意識したのは、
新しい技術にはどのようなメリットがあって、
どう導入すればワークフローに浸透させられるか、
ということをイメージしやすく伝えることでした。
課題の存在に気付けていること、その解決のためのスキルが身に付いてること、
それをわかりやすく伝えるコミュニケーション能力があることをアピールできると
強みになるのではないかと思います。
最後に、入社を検討されている方へ向けてメッセージをお願いします。
柴原
私はこの会社に入ってから、
自分のやりたいことを自分のペースで頑張り、
その結果「よくやったね」と褒めてもらえるという、
とても充実した「開発環境整備ライフ」を送ることができています。
私と同様、開発環境の仕事に興味がある方がいらっしゃったら、
ぜひモノリスソフトを検討していただきたいですね。
松本
モノリスソフトの開発環境エンジニアは、まだ人数も多くはなく、
自由な発想で仕事を進めていける余地が十分にあると思います。
一緒にやっていこうという熱い思いのある方に、ぜひご応募いただきたいです!