Sheng さん ~ アソシエイト ソリューションアーキテクト

私はゲームアソシエイトソリューションアーキテクト(アソシエイト SA )として中途入社しました。ゲーム業界に特化した SA として、大手から中小のゲーム会社をチーム内で全般的に担当し、作業を分担しております。最初はアソシエイト SA が一人で大手のゲーム会社を担当することがなく、基本的に一人の先輩 SA についてお客様のサポートを共に行う形になります。徐々にお客様対応の経験を積むと一人でお客様を担当するようになります。インディーゲームから、膨大な開発費を投入して作られた AAA タイトルゲームまで、様々なゲームを支えているアーキテクチャを知ることができるのはやりがいを感じます。日本側の Game チームは海外の Game チームと頻繁に連携しているので、偶に Best Practices の共有会を開催し、海外の人気タイトルのアーキテクチャや事例を知ることもできます。そして、自分がサポートしたお客様のゲームタイトルが無事にリリースされた日は本当に喜びを感じます。どのタイトルがリリースされたのかをチーム内で共有し、一緒に事前登録してプレイすることもあります(笑)。子どもの頃は海外で日本発のゲームをプレイしていましたので、SA としてクラウドを活用して日本のゲーム業界を改革し、開発・運用をサポートしたタイトルは海外でも人気を博し、多くの人にプレイされるように努力していきます。

前職はモバイルエンジニアとして、主に通信系な Android・iOS アプリの開発を担当していました。具体的には、上流工程での要件定義や設計から始まり、設計に基づいてプログラミングを行い、実装し動作確認を完了させるという一連の流れを担当していました。そして、最終的に Google Play や App Store でのリリース作業まで一貫して経験しました。また、Selenium や Appium などのテスト自動化ツールを導入することで、開発プロセスを効率化にも取り組んでいました。

Android と iOS のバージョンはほぼ毎年アップデートされているため、逐次にキャッチアップする必要があります。そのため、毎年開催される Google I/O や Apple WWDC といった開発者向けのカンファレンスを視聴し、公式サイトのドキュメントを活用して最新の情報を把握していました。また、業務外では App Dojo や DroidKaigi などのカンファレンスにも積極的に参加し、他社のエンジニアから貴重な経験談を聞いたり、新たな気づきを得ることができました。

世の中の技術トレンド把握するために Medium、Zenn や Qiita などのエンジニアのノウハウ共有コミュニティを定期的に確認するようにしています。普段の業務もあって毎日キャッチアップするのが中々難しいと思いますが、週一くらいに勉強の時間を確保しておけば良いかと思います。

自分は学生の頃にプログラミングのスキルを身につけるために Udemy や W3Schools などの技術のオンライン学習サイトを使っていました。Java、Python、PHP、SQL、jQueryに関する参考資料や教材がたくさん載せてあります。自分の腕を試したい時は LeetCode などの競技プログラミングサイトをやってみて、アルゴリズムに関する問題を解けていけば良いかと思います。

前職はどちらかというとクライアントエンジニアでしたので、インフラやバックエンドエンジニアと比べると、AWS の経験はほとんどなく不安でしたね。前職では AWS が主催する re:Invent のイベントの概要を聞く機会がありましたが、 当時は Amazon EC2 や Amazon S3 などの基本的なサービスしか知らなかったです。入社する前に AWS の基本的なサービスについて広く学びたかったので、AWS Certified Solutions Architect Associate ( SAA-C03 ) の資格勉強から始め、AWS 公式 YouTube チャンネルを見ながら勉強していました。基本的な AWS サービスの紹介やハンズオンの動画は充実しているので、少しずつサービスを理解してから、以前の re:Inventでゲーム業界向けのセクションの動画を見ることをおすすめします。ただし、AWS のサービスは日々更新されているので、最新情報を確認したい場合は AWS 公式ドキュメントも合わせて参考にすると良いと思います。

入社後の研修が完了後、プライマリーとしてお客様を支援していきます。お客様が抱えている課題によっては、役立つソリューションを上手く提案できるか不安になったりします。その解決策として、四半期ごとに上司と一緒に Development Plan を立てています。具体的には、ハードスキルとソフトスキルの向上です。例えば、ハードスキルの面では、定期的にマネージャーとロールプレイを行ったり、ホワイトボーディングをしながらディスカッションします。ソフトスキルの面においては、自分が苦手な分野の関連書籍の読書やワークショップへの参加などを行っています。また、SA 以外のロールの方(アカウントマネージャーやテクニカルアカウントマネージャー)から日々の業務に関するフィードバックを頂きながら、日々の業務を改善しています。

また、Game チーム内には前職などでゲーム開発の経験がある SA が多く在籍しているので、社内で「ゲーム開発者の経験を聞く会」などの勉強会が不定期に開催され、ゲーム開発の経験がないチームメンバーでも気軽に質問することができます。チームメンバーはぞれぞれ得意な分野を持っていますので、各自の強みを共有するノウハウ共有の勉強会がよく行われています。以前は「 NFT を買う人を眺める会」といった NFT 売却に関するハンズオン型の勉強会もありましたね(笑)

SA の役割はお客様の技術的な課題を解決し、お客様のビジネス成長を支援することです。具体的にはアーキテクチャのレビュー、ハンズオンや勉強会などを開催しています。そのほかにも、AWS ユーザの方々に AWS の役立つソリューションや Tips を広めるためにイベントでの登壇やブログ記事の執筆を行なっています。そのなかで、日本の SA による身近なテーマで実践的なクラウドベストプラクティスを解説する、初心者の AWS デベロッパー向けのウェブマガジン「builders.flash」というものがあります。 私も何本か ゲームのノウハウについての記事を執筆していますが、ゲームで使用する技術は専門性のある内容だというイメージが強く、ゲームに特化した builders.flash の記事は閲覧数があまり伸びないという課題がありました。実際は、汎用的に役立つ技術について解説していたりするので、出来るだけ多くの人に読んでもらいたいという思いがあります。私自身、プライベートで絵を描くことが好きということもあり、記事の中で解説用のイラストを描いて、より読みやすいコンテンツにするなど工夫しています。他にも、AWS for Games の Build、Run、Grow の 3つの柱に沿って、より早くてスマートなゲーム開発や運営ができるように記事を作成し解説しています。例えば、前回のテーマは Run の柱に関連するゲーム向けデータベースでした。記事の中で紹介したコンテキストをより具体的にイメージしやすくするために、お客様からの質問や要望を直接ヒアリング出来る場を設けようと、AWS for Games Live というオフラインのイベントを開催しました。普段は会えないお客様にも参加頂くことができ、お客様からも大好評でした。これからも お客様と一緒に ゲーム業界を盛り上げられるような活動を継続していきたいと思います。