こんにちは、エンジニアのクロ(@kro96_xr)です。バックエンドを中心にフロントエンドやらインフラやら色々担当しています。
今回はいつもと少し毛色を変えて、イベントレポ兼採用寄りのお話をしたいと思います。
なお、タイトルでメタバース企業と銘打ってしまいましたが、他社の状況はわかりませんのであくまでSynamonの場合と捉えていただけますと幸いです。
はじめに
Synamonでは様々な求人を出しており、その中にバックエンドエンジニア(=サーバサイドエンジニア)の求人もあります。
↓記事執筆時点での求人↓ herp.careers
しかしながら、採用チームから「メタバース企業のバックエンドエンジニアって何をやっているのかイメージが付きづらい」という声があると聞きました。
たしかに、VRあるいはメタバースというとUnityやUnrealEngineといったゲームエンジンを使った開発をイメージする方が多いのかもしれません。しかし、実際にはこれまでのWebサービス開発と同様にバックエンドエンジニアが活躍する機会は多くあると思っています。
今回はそのような疑問を少しでも払拭すべく記事を書いていきたいと思います。
本題に入る前に
SynamonではSYNMN(シナモン)というメタバースアプリを開発、オープンベータ版を公開しています。これ以降で出てくる"メタバースプロダクト"あるいは"プロダクト"といった言葉はこちらを指しますので、触ってみていただけるとイメージが湧きやすいかもしれません。
バックエンドエンジニアの役割について
まずはじめにバックエンドエンジニアの業務内容や役割について簡単に見ていきます。
システム概要図(超簡略版)
プロダクトのシステムを超簡略化して各エンジニア、モデラーの役割を割り振ると下記のようになります。
※書いてから気付きましたがWeb管理画面のWebサーバや、ストレージ等の記載が漏れています。超簡略図なので許してください。
バックエンドエンジニアは主にWebAPIの開発を担当しています。どうでしょう、この図を見ると他のWebサービスやスマホアプリ開発と変わらないのではないでしょうか?
バックエンドエンジニアとして要件定義、設計、実装、テスト、運用の経験があればスキル的には大きなズレなく活躍できるのではないかと思います。
また、Web管理画面のデザインや実装については他企業ではデザイナーやフロントエンドエンジニアの領域かと思いますが、Synamonではバックエンドエンジニアが業務委託の方と一緒に作っています。ここは少し特殊な点かもしれません。
インフラについて
そして、当然のことですがAPIサーバやデータベースなどを動かすためにはインフラ構築が必要となります。
インフラチームが別である会社も多いかと思いますが、Synamonではサーバサイドチームとしてバックエンドエンジニアが兼任しています。
Synamonでは主にAWSを使っていますが、AWSに限らずGCPやAzure等のクラウドを用いたインフラ構築、運用の経験をお持ちの方はスキルが活かせると思います。むしろ教えてください。
メタバースでの具体例
それではメタバースっぽい具体例を挙げてみます。
メタバースを構築する要素としてまず思い浮かぶのがアバターなどの3Dモデルかと思います。 SYNMNでは空間に必要な3Dモデルを事前にクラウドストレージにアップロードしています。
そして、ネイティブアプリ側で使用する前に必要なファイルをダウンロードしています。
実際にはファイルの種類によって処理が変わっていたりセキュリティ考慮したり色々やっていますがここでは省略しています。
書いてみると当たり前かもしれませんが、このような機能の実装にバックエンドエンジニアが関わっています。イメージ湧きましたでしょうか?
そして、これから正式リリースに向けて様々な機能開発が待っています!
続いて、同様のテーマについて話すトークイベントあったのでそちらについても触れておきます。
イベントレポ
実は、バックエンドエンジニアの役割がわかりづらいという声は前からあり、9月末にTwitterスペースで『バックエンドエンジニアがメタバース業界に飛び込んで、活かせたスキルと新たに身に着けたスキル』というテーマでトークイベントを行いました。
このイベントでは、SIer⇒Web業界とキャリアを築き、現在Synamonでバックエンドエンジニアとして働いているうぃすきーさんと私が話をしています。
このトークの中から、いくつか簡単に抜粋していきたいと思います。
Q.Web開発の経験で活きたところは?
管理画面やネイティブアプリから叩かれるWebAPIを開発しているため、スキルセット的にはWeb業界でもメタバース業界でもあまり変わらない。一般的なWebAPI開発に必要な要件定義、設計、実装、テスト周りの経験は活きていると思う。
補足)こちらはこの記事の前半で書いた通りです。
Q.メタバース業界だから苦労する点は?
同期処理や大規模トラフィックあたりは今まであまり経験が無いところなので、やろうとしたら苦労したと思う。Synamonではリアルタイムネットワークチームが別にあるのでそのあたりは分業化されている。
オンラインゲームやソシャゲのバックエンド経験がある方であればバックエンド、リアルタイムネットワーク両面で活躍できのではないか。
Q.どういう人であればメタバース業界のバックエンドエンジニアとして活躍できると思うか?
・メタバースに興味をもっていること。そしてそれに対して自分のスキルを活かして貢献したいというモチベーションがある方。
・スタートアップ全般に言えることだと思うが、自分でなんでもやりたい方、そしてやりきれる方。
Q.入社して成長したなと思うことは?
・スタートアップのため、分野を問わず自分が責任をもってやっており全方位に成長していると思う。
補足)例えば私の場合は、AWSでインフラ構築をした経験がほぼありませんでしたが、現在ではゴリゴリに触っています。
・何が事業成長に繋がるのかわからない、勝てるかもわからない中で「未知に立ち向かう力」が養われている。
以上、短いですがイベント内でお話しした内容をまとめてみました。
結論としては、
- メタバースを創っているからといってバックエンドエンジニアは既存のシステム開発から大きく離れたことはしていない
- むしろスタートアップへの適正(幅広い業務範囲への対応、自分で業務を進める推進力など)の方が重要かもしれない
といったところでしょうか。
おわりに
今回は、メタバース企業(=Synamon)におけるバックエンドエンジニアの役割について簡単にまとめてみました。
もし、ご質問やご指摘等ございましたらTwitterのDM等でご連絡いただけますと幸いです。
そして興味を持っていただけた方はお気軽にカジュアル面談にお越しください!