【中堅ソフトウェアエンジニアに聞く】ソフトウェアエンジニアってこんな仕事、あまたってこんな会社
ゲーム制作の中で、縁の下の力持ちとも言える職種、ソフトウェアエンジニア。技術の要でもあるソフトウェアエンジニアは、仕事について、どんな思いを持って臨んでいるのか。
今回は、会社の中でも中堅にあたる同期のソフトウェアエンジニア3人に、あまたの中でのソフトウェアエンジニアという仕事や、会社について思うことを語ってもらった。
――まずは皆さん、自己紹介をお願いします。
チェン:Cheng Chi Hung(チェン・チーホン) です。香港出身で、日本に来て6年目、入社して5年目になります。
会社では、いまは自社開発のVRプロジェクト、『Last Labyrinth(ラストラビリンス)』(2019年11月発売予定)のチームで、キャラクターの実装やサーバ管理などをやっています。
渡邉:渡邉至 です。入社はチェンさんと同じく2015年で、5年目です。会社では、新人のころから約4年、『天華百剣 -斬-』(iOS/Android用、パブリッシャー:DeNA)に、プロジェクト初期から参加しています。ソフトウェアエンジニアリーダーとして、設計やスケジュール管理を担当しています。
最近ではソフトウェアエンジニアリーダーとしての業務の他に、会社説明会で学生の皆さんの前でお話ししたり、書類選考など、採用に関する業務も一部担当しています。
藤澤:藤澤寛子です。私も入社5年目で、いまは新規スマートフォンゲームのプロジェクトでソフトウェアエンジニアリーダーをしています。
チェンさんと同じく、こちらもリリース直前なので、なかなか燃え上がっています(笑)。
※こちらのインタビュー後無事リリースされました。
『Z/X Code OverBoost』(iOS/Android用、パブリッシャー:株式会社ブロッコリー)
――お三人とも、お仕事がアツいところでお時間をいただき、ありがとうございます。
ソフトウェアエンジニアってどういう仕事?
――ここからは、トークテーマに沿ってお話を伺います。
まずは、「ソフトウェアエンジニアってどういう仕事?」です。5年目の皆さんの視点から、「ソフトウェアエンジニアは、●●です」という感じで、ソフトウェアエンジニアについて教えていただけますでしょうか。
考え込む3人・・・。
チェン:ゲーム開発では、ゲームデザイナー は、アイディアを渡す人。アーティスト は、CGや見た目の部分を作る人。ソフトウェアエンジニアは真ん中にいて、アイディアと見えるものを繋げる職業だと思っています。
――チェンさんの言葉では、「ソフトウェアエンジニアは、繋げる人」ですね。
藤澤:分かります。
渡邉:ワークフローの一番最後にいて、繋ぐ人なので、クオリティを活かすも殺すも僕たちにかかってしまうところはあるかもしれません。
――では、渡邉さんの言葉で、「ソフトウェアエンジニアは、●●です」を埋めてみると、どうでしょう。
渡邉:ソフトウェアエンジニアの仕事は、ひたすら問題を解決することだと思っています。目に見 える部分を作ることだけでなく、プロジェクトの中で起こった問題を解決するのもソフトウェアエンジニアの役目です。
例えば、ゲームデザイナーがデータを作りにくくて困っているのであれば、ツールを作って作業効率を上げたりもします。プロジェクト全体において、ソフトウェアエンジニアが解決できる問題はすごく多いと思います。
――「ソフトウェアエンジニアは、解決する人」ですね。
渡邉:新しく作るだけでなく、既存のツールや、既にあるものをどう使うか設計するのも、ソフトウェアエンジニアの役目ですね。
――では、藤澤さんはいかがでしょう。
藤澤:ソフトウェアエンジニアは、苦労人ですね(笑)。もちろんゲームデザイナーは最後までデータを設計しますし、アーティストはアート部分を制作しているんですけど、ソフトウェアエンジニアはどうしても最後の頼られる立場になりがちです。ゲームを作る中で、自動化するツールの作成であったり、問題解決し続けるのが日々のソフトウェアエンジニアの仕事だったりもしますね。
――「繋ぐ人」、「解決する人」、「苦労人」と並べると、全体的な開発フローの一番後ろを守る人というイメージですね。
渡邉:フローの最後でもあるんですが、実は最初からプロジェクトに噛んでいたほうがいいとも思います。アーティストがどこで苦労するか、ゲームデザイナーや運営スタッフにどこで負荷がかかるかを先に見越せるので、最初から参加していたほうが後でやりやすくなるんです。
藤澤:ありますね。
――問題が起こらないように、未然に防ぐのもまた、ソフトウェアエンジニアの役割だったりするわけですね。
チェンさんご担当の『Last Labyrinth(ラストラビリンス)』は、会社でも初のハイエンドですから、苦労も多そうですね。
チェン:いろいろ試行錯誤を重ねながら進めています。少しずつ調整や改善をしながら、いろいろな経験もできています。
チームでいいものを作るために、思っていることを伝え合うのが大事かなと思いますね。
――伝えて、実現してくれるのが、ソフトウェアエンジニアの役割だったりもするわけですね。
渡邉:気遣いの仕事でもありますね。ユーザーの皆さんが最後に手に触れるクライアントを作るわけですから、手触りの良さを考えるのもそうですし、ゲームデザイナーやアーティストがどういう最終形にしてほしいと思っているかを察するのも大事です。
藤澤:察する能力は大事!(笑)
渡邉:仕様書になくても、「ここには絶対にこのボタンがあったほうがいいのでは?」というところがあれば、伝えていかなければいけませんから。
――ソフトウェアエンジニア側から提案することもあるんですね。
チェン:ありますね。『Last Labyrinth(ラストラビリンス)』の場合は、チーム全員が仕様設計にも参加しています。
ソフトウェアエンジニアとして、一番うれしかった瞬間は?
――では、次のトークテーマは、「ソフトウェアエンジニアとして、一番うれしかった瞬間は?」をお聞きしたいと思います。
藤澤:私は、経験してきたプロジェクトの数は多いんですが、これまでリリースに立ち会ったことがなかったんです。
今回担当しているプロジェクトで初めて、ユーザーに告知されるタイミングを経験したのが、一番嬉しかったですね。エゴサーチまでしちゃいました(笑)。作ったものが初めて世に出るのは、やっぱり嬉しいです。
――やはりユーザーにお目見えするタイミングは、嬉しいものなんですね。
渡邉:僕も『天華百剣 -斬-』では、公開前のイベントに行かせていただいて、ハッシュタグも常にチェックしたりします。今回のキャラクターは評判良かったな、とか。ときには「うっ!」となることもありますけど(笑)。
――運営型のゲームでは、それも多くありそうですね。
チェン:『Last Labyrinth(ラストラビリンス)』は、イベント出展が多くあるので、そこでお客様の反応を見るのは嬉しいですね。
――VRタイトルということで、ネットで見るのと体験するのとでは、ユーザーの反応もかなり違いそうですね。
チェン:お客様に直接褒めてもらえるのは、とても嬉しいです。
――では、渡邉さんはいかがでしょう。
渡邉:月並みかもしれませんが、『天華百剣 -斬-』で、自分が工夫して入れた実装について、パブリッシャーの方に「いいね!」といっていただけたときは、嬉しかったですね。
他にもたくさんあったと思うんですが、運営を長くやってきましたので、結構覚えていなかったりもします。
――ランニングが長いゲームだと、印象が変わっていくこともありそうですね。
渡邉:いまは仕事の喜びについても、ただゲームが動いて嬉しいというところから、プロジェクト全体が上手く行っている嬉しさを感じることが多くなってきました。
――中堅らしい喜びですね。では、最後はチェンさん。
チェン:『Last Labyrinth(ラストラビリンス)』は脱出アドベンチャーゲームでパズルや謎解き要素が強いので、お客様がギミックに成功したり失敗したりする、そのひとつひとつが嬉しいです。チーム全体の企画、パズルや謎解きの設計が成功した結果ですから。
――『Last Labyrinth(ラストラビリンス)』は脱出ゲーム的ですから、ユーザーがギリギリ失敗するくらいが一番ちょうどいい設計なわけですね。
チェン:そうですね(笑)。ちょうどいい具合の難易度にハマってくれれば、一番嬉しいです。
ソフトウェアエンジニアとして、一番悩んだことは?
――次のトークテーマは、ソフトウェアエンジニアとしての悩みを伺えればと思います。
渡邉:実は、記憶に残っている悩みがあまりなくて……。
チェン:えーっ!
藤澤:一流発言だよそれは!(笑)
渡邉:いや、自分の限界より上のことに挑戦していない、ということなのかもしれないんですけど。
なので、むしろ他の人の悩むポイントを聞いてみたいです。
――では、藤澤さん、どうでしょう。
藤澤:私が悩んだのは、ソフトウェアエンジニアリーダーになったときです。それまでアプリのクライアント開発の経験しかなかったんですが、スマートフォンゲームの開発にはサーバソフトウェアエンジニアの知識も必要なんです。それを求められたときが一番悩みました。
リーダーとしてプロジェクトに入ってすぐに忙しくなりましたので、業務経験の中で自分でサーバを触る時間がなかなか作れなくて。それでも知識が必要なタイミングは来ますから、悩みましたね。
――なるほど、クライアントソフトウェアエンジニアとサーバソフトウェアエンジニアは、似て非なるものなわけですね。
藤澤:全然違いますね。たまに話が通じなくなるくらい(笑)。いまもまだまだ勉強中で、悩んでいる最中です。
――チェンさんはいかがでしょう。
チェン:やはり、問題解決が上手く行かないときは、常に悩みます。
――ソフトウェアエンジニアとしては、最も根源的な悩みですね。そういうときは、どうやって突破するんですか?
チェン:普通は、問題発生箇所について、ゲーム全体からだんだん縮小して、ピンポイントにまで突き止めるのが一般的な方法です。これが、一番つらい時間ですね。
――極めて地道ですね。
チェン:開発は楽しいですけど、問題解決は基本的につらいです(笑)。
――ソフトウェアエンジニアとしては、喜びとも表裏一体ですね。
藤澤:問題解決は大変なんですけど、解決できたときが、たぶん一番テンションが上がるときだったりもします。
チェン:ですよね!作っているときはテンションが高くて、問題発生したらガクッと下がって、解決したら上がります(笑)。
――そこはソフトウェアエンジニアならではかもれませんね。ゲームデザイナーなどの職種には、あまりそこまでの波はなさそうですし。
藤澤:中毒性がありますね。みんな、あれが面白いから、ソフトウェアエンジニアをやっているのかもしれないです(笑)。
渡邉:それで分かったんですけど、解決した記憶があるから、自分の中でもう悩みとして捉えていないのかもしれないです。
本当に悩むのは、自分で解決できないことかなという気がします。例えばワークフローの問題は、自分だけでなく他の職種の人員体制が関わったりしますから、より大きな悩みはそこで生まれているかなと。
――中堅になったことで、マネジメントの悩みが入ってくるわけですね。でも、ソフトウェアエンジニアの悩みは、突破することでなかったことにできるというのは、独特ですね。
中堅から見る、あまたってこんな会社
――少し趣向を変えて、みなさんが所属している、あまたという会社がどんなところか伺いたいと思います。他のお知り合いなどから他社の話を聞いたりして、気づくことはありますか?
藤澤:パッと思いつくのは、人間関係が楽です。仕事をしていくうえで、誰かがミスしたとしても、周りがカバーして助けていくことがよくあります。なので、環境が優しい。働いていて嫌だなということもあまりないので、働きやすい環境かなと。
渡邉:悪い人はいないですよね。サポーター気質の人が多い、という話が出たこともあります。「俺が俺が」より、他の人の喜びが嬉しい、というタイプが多いような気がします。
藤澤:尖った人が少ないのかもしれないです。
渡邉:それは、強みでもあり、弱みでもあるのかもしれないですけど。
――チェンさんの『Last Labyrinth(ラストラビリンス)』チームは、経験の深いクリエイター気質の方が多そうなイメージがありますが。
チェン:チームはみんな経験もあって、技術面では非常に強いですね。でもパーソナリティでは、優しい方が多いです。それと、あまた全体でもそうなんですが、このチームは特に外国人が多いです。
――確かに、海外事業部やブランチがない会社で、これだけ外国籍の方が多い(※全社員の約20%)会社は珍しいかと思います。香港から来て1年で働き始めたチェンさんから見て、あまたは働きやすいですか?
チェン:僕は日本語は下手ですけど、皆さんテンションを合わせてくれて、ゆっくり喋ったり、説明を交えたりしてくれます。
社内にいろいろな国のカルチャーがあって、会社全体で交流もできています。「この国ではこうなんだ」と発見がありますね。香港は国際都市でもありますから、少しこの会社と似ている部分もありますね。
渡邉:そういえば、最近講習会などに出て、あまたは結構、真面目な会社なのかな、ということに気づきました。特に出社時間は遅刻厳禁で、かなり堅いかもしれません。
――朝はキッチリ揃いましょう、という感じなんですね。
渡邉:それも大事なことで、みんなが同じ時間にいるのも、最善のコミュニケーションだったりもするんです。細かいニュアンスをすり合わせるときは、言葉を交わすのが重要ですから。
ソフトウェアエンジニアはドキュメントを書くのが下手だというのもあるんですが(笑)。
チェン:ありますね(笑)。
渡邉:数値を伝えるだけでなく、それがどういう意味を持つのか、ソフトウェアエンジニアでない人が分かるように伝えることを求められるので。
藤澤:それは本当にある……!
――チェンさんも藤澤さんも、非常にうなずいていますね(笑)。
藤澤:ソフトウェアエンジニアは、ソフトウェアエンジニア以外に通じる言葉で話せる人が少ないんですよ。絶対に技術的な専門用語が入ってきてしまうので。一生懸命話していると、他の人がポカーンとしていたことも結構ありますね(笑)。
相手がちゃんと咀嚼して理解してくれているかまで見られている人が少ないかもしれません。
チェン:ソフトウェアエンジニアが説明をしている中で、相手に分からない言葉、ソフトウェアエンジニア語で言ってしまうと、やはり上手くいきません。相手に分かるように説明するのは一番大事です。
渡邉:このあたりは、違う職種同士で、お互いにあるかもしれませんね。それぞれでしか知り得ない情報がありますから、他の職種の人も同じようなことを思っているかもれません。
中堅ソフトウェアエンジニア、5年後の目標
――では最後に、5年後くらいにどうになっていたいか、簡単でいいので、目標について伺えれば。
チェン:ゲーム開発者として、自分が作ったゲームを世界中に広げるのが一番の目標です。日本だけでなく、世界中に広げたいですね。
――『Last Labyrinth(ラストラビリンス)』は最初からワールドワイドリリースですから、早くも近づきそうですね。
チェン:はい。『Last Labyrinth(ラストラビリンス)』は、いろいろな言語にも対応しています。まずは発売できるように、頑張っています。
――では、渡邉さんは。
渡邉:僕自身は、ソフトウェアエンジニアという職種自体には、それほどこだわりがなくて。専門学校に入って勉強をするときに、絵がかけるわけでもないので、とりあえず手に職をつける意味で、ソフトウェアエンジニアになりました。そうしてソフトウェアエンジニアリーダーなどをしていくうちに、プロジェクトの中であるいは会社の中でと、より大きい単位での問題を解決していくことを考えるようになってきました。
今後はソフトウェアエンジニアのスキルはもちろん、マネジメントのスキルも合わせて身につけていきたいです。いろいろな教養や知識を身につけていきたいと思っているところです。
――中堅として、ステップが変わってきた感じですね。
藤澤:私はどちらかというと、ソフトウェアエンジニアをやり続けたいですね。
私も志望動機は渡邉さんとほぼ同じで、絵も描けない企画もできない、じゃあソフトウェアエンジニアだ、という感じだったんです。コードを書くところから、いまはリーダーとしてチームを見る立場をしているんですが、逆に、どうしても自分で実装したい欲が強く出てくるんです。手塩にかけて作りたいんですよ。
なので、いま丁度、そのあたりで揺れている最中です。
――スペシャリストを目指す心もあるわけですね。
藤澤:そこまでは……うん、言い切りたいですね(笑)。
――皆さん、5年の経験の中で、それぞれに思いがありますね。
今日はありがとうございました。