みなさんこんにちは。ピクシブで採用担当をしているkamikoです。
本日はピクシブで働いている社員が、普段どのような仕事に携わっているのか紹介したいと思います。
今回は「誰もが自分の3Dキャラクターを持ち、キャラクターを使った作品作りや、VR/AR空間でのコミュニケーションを楽しめる環境を多くの人に届ける」ことを目的として始動した、ピクシブの3Dキャラクター投稿プラットフォーム、VRoid Hub (https://hub.vroid.com/)の開発・運用を行なっているエンジニア(https://recruit.jobcan.jp/pixiv/show/b001/205367)の業務について皆様にお伝えできればと思いますので、是非ご覧くださいね。
まずは、自己紹介をお願いします
hare : VRoid Hubのサーバサイドエンジニア兼リーダをしていますhareです。ピクシブには2018年にエンジニアとして中途入社してpixivision, VRoid SDK, VRoid Hub, VRoid Mobileといった複数のプロジェクトで、PHPやRuby on RailsからReact、Unityなど幅広い分野のエンジニアリングを行ってきました。
プライベートでも3DCGを触っていて、中途応募で選考が進んでいるうちにピクシブが3D事業を行うということを聞き興味が出て最終的に入社を決めました。
hanakla : VRoid Hubのフロントエンド屋さんのHanakla(花倉)です。2016年度にピクシブに新卒入社し、PHP / Railsによるサーバサイドの開発を経由してフロントエンド屋さんになりました。
ジオシティーズの時代あたりからインターネットの人間だったので、””インターネット””を感じる楽しい会社に入りたいな〜と思っていたらピクシブに入っていました。pixivのメンテナンス、FANBOXのベータ版開発、FACTORYとpixivSketchでのフロントエンド/サーバサイド開発を経てこのチームに居ます。 数学にはめっぽう弱いのですが、3Dキャラクターの文化は多少嗜んでいました。Adobe社に足以外の全てを向けて寝ています。
pixivコミックで採用されているオープンソースのReact向けFluxフレームワーク「Fleur」の設計開発もやっています。
FMS_Cat : VRoid Hubのフロントエンド・3DCG周りのエンジニアリングをやっておりますFMS_Catです。ピクシブには2018年に中途入社して以降、VRoidプロジェクト全般に渡ってWeb・Unityの3DCGやUI等に関わる業務を行ってきました。
入社前よりWebで3DCGを扱うことを得意としていましたが、ピクシブで新たに3D事業をやるということを聞いて入社をしました。hareさんも同じ経緯なんですね。知りませんでした……
なるほど、全員がVRoid Hubのエンジニアとして活躍されていますが、それぞれが担当している業務はどんなものですか?
hare : 自分は主にサーバサイドの設計・実装を中心にやっています。あとはリーダ業務としてメンバーの1on1のようなコーチングだったり、VRoid SDKを利用している開発者の方や連携企業様とのやりとりなど、裏方のような業務もあります。
所属は『VRoid Hubのエンジニア』ですが、VRoid Mobileや企画LPなどVRoidプロジェクトのサーバサイドに関わる業務に関してはほぼ自分が中心になって進めています。
最近では、フロントエンドの実装にも手を出し始め、一機能を実装する際にインフラのアーキテクチャの検討からフロント実装までほぼ全て自分だけでやったこともありますね。
hanakla : 私は基本的にフロントエンド専門で、VRoid Hubのフロントエンドの技術選定・設計・実装やLPのコーディング、それらに関わるデザイナーやビジネス職との調整や実現性調査などを行っていました。
最近は新機能を実装する際にRails側の設計・開発もしており、サーバサイドからフロントエンドまでをもう一人のフロントエンドエンジニアと担当しています。 具体的に何やってるかはまだ言えませんが、「「どえらい大変なこと」」をやっています。正気を疑うくらいDBを叩き倒すことをしなければいけないゆえに、うまい設計能力が問われておりとても楽しいです🥳
FMS_Cat : 私は3DCGに関わる業務が特に多いです。3Dアバターの規格である『VRM』で記述されたキャラクターをWeb上で魅力的に表現するために、アバターを読み込み表示するための実装をしたり、その描画の最適化に取り組んだりしています。
また、VRoid Hubの開発を通じて培った知見を活かし、VRMの仕様の検討会に参加したり、Web上でVRMを扱える『@pixiv/three-vrm』というオープンソースのJavaScriptライブラリの開発・メンテナンスを行っています。必要に応じてWebフロントエンドやサーバサイドのコードを書くこともあります。
業務を行う上でのやりがいはどんなところですか?
hare : 広く色々な技術に触れることができる、というところですかね。VRoid HubのサーバサイドのエンジニアとしてはRuby on Railsを中心に触ってもらうことになりますが、インフラ部分でAWSを触ることにもなりますし、VRoid MobileではPlayFabというmBaaSを触ることになります。
それ以外にも、VRoidプロダクトのデータを分析することもあるのでGoogle AnalyticsやBigQuery, Firebaseといったものも触ります。
さらに、VRoid SDKの開発に携わるとなるとUnityとC#を触るといったことにもなります。
まだまだ、VRoidプロジェクトは発展途中のプロジェクトです。今後のプロジェクトの方針によっては既存のものでは対応できず、新しく技術選定からやらないといけない場面も出てきます。そのような場合には既存の技術に囚われず、目的を達成するのにもっともいい技術を選定していくこととなります。結果として新しいことに触れるという機会が増えてきます。
色々なことにチャレンジしてみたい、というチャレンジ意欲が高い人にはとても向いていると思います。
hanakla : 色々な技術に触れることができる、というのは本当に良い経験だと思います。チームの状況や要求に応じて、臨機応変に考えたり動いたりし、なんでもかんでもいい感じにするのは難しいこともあるのですが、どの道の専門家も大体近くにいるので、いきなり『太平洋のど真ん中に投げ出されて泳がされる』といったことにはならず、安心かつ挑戦的に技術チャレンジができます。 「どこまで挑戦するか」というのも、ビジネス的要求と自分の野心の間を裁量することが出来ます。
FMS_Cat : VRoidプロジェクトのサーバサイドは、当たり前ですが、3DCGにまつわる事柄を扱うシチュエーションが多いです。そのため、他のプロダクトでは滅多に扱うことのないデータを扱ったり、3DCG特有の課題をサーバサイドの力で解決していくことも多々あります。開発の途上では、UnityやWebGLなどといった特殊なフロントエンドに従事するエンジニアとコミュニケーションを取り、もしくはそういった技術を自ら触りながら、検討を重ねることもあると思います。
hareさんも言う通り、新しい技術も含めていろいろな解決手段をひねり出し、自分なりの最適解を導き出す点はやりがいを大いに感じられると思います。
今後やりたいこと、まだ手が足りていない領域はどこですか?
hare : やはり圧倒的に足りないのがサーバサイドの領域ですね。以前までは自分以外にもサーバサイドのエンジニアが所属してたのですが、所属が変わってしまったので自分一人で回している状態です。更にリーダ業務等の兼ね合いで新規機能の設計・開発や、既存の課題を解決するということがおろそかになりがちで、開発サイクルのスピードが落ちているのを感じています。
HanaklaさんやFMS_Catさんにも協力してもらっていますが、そうすると今度はフロント側が進まない、ということになってしまいますのでやはり専任で対応できる人が欲しいですね。
hanakla : サーバーサイドの人員が本当に足りない、たすけて。「Railsやりたかったからやるか〜」といってRailsをやっていますが、進捗が芳しくないです。 これからも色々な新機能開発が発生するはずなので、RailsでのAPI・DB設計・リアルISUCONなら任せろ!!!という方にぜひ来て欲しいです。
FMS_Cat : 私は3D周りの機能拡充やパフォーマンスチューニングにもっと手を付けたいのですが、全体ではサーバサイドやフロントエンドの工数が圧迫しており、なかなか時間を確保できないのが現状です。
VRoidプロジェクトを経験することで新しく得られるスキルには、どんなものがありますか?
hare : データを元に開発をしていく経験ですね。新規開発する上で結構既存のデータを見てサーバのスペックを決めたりとか、テーブル設計を考えて高速に処理できるようにしたりとか考えることが多いです。今のモデル投稿数だとこのくらいのサーバを追加したりすればいけるだろう、みたいな感じです。
そのため、「データを管理し活用する」というのは結構重要視しています。
hanakla : 「サーバサイドエンジニアだけど、フロントエンドもやってみたいなぁ」ということがあれば、細かいタスクからフロントエンドに入って、最終的に「新しい機能作るぞ〜」となった時にフロント側も全部やる、みたいなルートを取ることが出来ます。
また、新機能の企画段階からエンジニアが参画するため、役職に関わらず、新しいサービス・機能に対しての観察力・思考力・提案力を鍛える機会があります。 その際、VRoidの周辺で形成されるコミュニティを定量的・定性的、時として感情的に観測することで”多様性のインターネットへの洞察”を得られるのも楽しいポイントです。
FMS_Cat : 3Dアバターを扱うWebサービスというモノ自体がドメインとして特異のため、3DCGの性質やアバター文化に寄り添ったプロダクトをゼロベースで考えていくことが必要となります。hanaklaさんも言う通り、エンジニアもプロダクトづくりに参画していくことができる社風です。
そのため、3Dアバターというドメインにおいて要求される体験を、技術面に意識的になりつつチームで考え・創り上げていくという経験ができると思います。
VRoid Hubのサーバーサイドエンジニアチームにジョインしてくれるエンジニアを募集しています
hare : VRoid Hubのサーバサイドエンジニアは今本当に足りていません。サーバサイドのエンジニアとして実力・実績に自信のある人、チーム全体を引っ張り、日々発生する問題を着実に解決できる気概のある人が必要であると考えています。
VRoid Hubのサーバサイドエンジニアは従事する範囲が広く、VRoid HubだけでなくVRoidプロジェクト全体の下支えになる重要なポジションです。将来的にはVRoidプロジェクトのサーバサイドはすべてこの人に任せれば大丈夫、そういう風に言えるような活躍をしてもらうことを期待しています。
以前VRoidプロジェクトのnorioがpixiv insideのブログでも語っていましたが(https://inside.pixiv.blog/2020/07/27/180000)「未来にあって当たり前のものを作り続ける。生み出し続ける」というビジョンに共感し、これからのAR/VR時代に一緒についていきたいと考えるエンジニアは、ぜひエントリーお願いします!!
hanakla : VRoidプロジェクトによって3Dキャラクター(あるいは創作キャラクター)が格段に作りやすく、広がりやすくなりました。それに伴って、今まで日の目を浴びづらかったオリジナルキャラクターというジャンルが盛り上がりつつあります。そういった新しいデジタル創作のムーブメントがどうやったら盛り上がるか、どうなってしまったら不幸かというケースを主観的・客観的に考え、その理想と現実の間をいい感じに引き寄せてやるぜ!という気概と実装力がある方は大歓迎です!
FMS_Cat : VRoidチームは、3DキャラクターがVRoid Hubを通じて今後様々な場面で活躍する未来を目指しています。VRoid Hubのサーバサイドは、3Dキャラクターの配信・コミュニケーションの基盤となり、VRoidプロダクトを通じて3Dキャラクターで楽しむためには不可欠です。3Dキャラクターが世界中で輝く未来のため、あなたの力を貸してください!
皆さん、ありがとうございました。
それでは、皆さまこのあたりでごきげんよう。さようなら。