【お仕事紹介】サーバーサイドエンジニア|ユーザーに快適なゲームプレイ環境を届ける
f4samuraiのさまざまな職種に関して、その仕事内容ややりがいをお届けするお仕事紹介マガジン。今回は「サーバーサイドエンジニア」のお仕事について紹介します!
快適なゲームプレイ環境を支える縁の下の力持ち・サーバーサイドエンジニアのお仕事の魅力や内容を詳しく説明していますので、ぜひ最後までご覧ください。
サーバーサイドエンジニアの仕事内容
サーバーサイドエンジニアとは、ゲームのサーバー側で行われる処理の設計・開発、サーバー上にあるデータ管理などを担当するエンジニアのことです。
そもそもゲームのサーバーとは、ユーザーデータやキャラクターデータなどの情報を管理している“倉庫”のようなもののことです。データ以外にもガチャの抽選ロジックや育成ロジックなどのシステム的データもサーバーに保管されています。
それらのデータをゲーム上で表示したり、システムを稼働させたりするためには、倉庫から必要データを取り出し、ゲーム上に出す役割のエンジニア(ネイティブエンジニア・フロントエンドエンジニア)に渡す必要があります。
つまりサーバーサイドエンジニアの仕事とは、サーバー上にある膨大な情報を管理・システムを構築し、必要な情報を円滑に渡してゲームを稼働させる処理設計を行うことが主だと言えるでしょう。
サーバーサイドエンジニアとして大切なことは、安定したサーバシステムを設計し、運用すること。そしてより速いレスポンスを実現することです。
そのためには、ゲームに合わせて最適かつ長期的な目線で技術選定を行い、情報を保持する仕方はもちろん、後々変更が発生したときのことまで考えて設計できる思考力と技術力が必要になります。ゲーム仕様の定義をどうプログラムに落とし込み、渡せるようにするのがベストかを、必要に応じてプランナーと相談しながら開発・実装を進めていきます。
また、モバイルゲームの場合は速さが求められることも特徴の一つです。ゲームをプレイしていて画面遷移のローディングが長かったり、ガチャを回すのに数秒かかったりしてしまうと、それだけでユーザーに多大なストレスを与えてしまいます。しかし、1秒間に膨大な数のアクセスが行われるモバイルゲームでは、それがサーバを圧迫し、挙動を遅らせる原因になりかねません。モバイルゲームならではの圧倒的な秒間リクエスト数を遅延なくさばくために、負荷テストや性能試験を重ね、パフォーマンス改善に取り組む必要があるのです。
そのためにも重要なのは、“妥協なくやり抜くこと”。たとえ発生率が0.0001%の問題であったとしても、それを見逃さず、根気よく開発・改修をしています。
サーバーサイドエンジニアに必要な技術
サーバーサイドエンジニアに求められる技術は、データベースのシステム構築やサーバ側の処理を行うためJavaなどのプログラミング言語の開発技術などが挙げられます。
たとえば、f4samuraiでは、以下のような技術を持ったサーバーサイドエンジニアが在籍しています。
さらに、プログラミングができた後、そのプログラムをどこで動かすかを考えるのもサーバーサイドエンジニアの仕事の一つです。最近ではAmazon Web Services(AWS)やGoogle Cloud Platform(GCP)といったクラウド環境の利用が増えています。専用サーバのシステムを利用するオンプレミス環境とはアクセス方法が異なるため、両方のメリット・デメリットを考慮した上で最適な場所を選択しなければいけません。
このようにサーバーサイドエンジニアは設計・開発・テスト・改善・保守・選定と、扱う技術範囲が非常に広いことも特徴と言えるでしょう。
どんな人がf4samuraiのエンジニア職に向いているの?
求められる技術については先述の通りですが、f4samuraiで活躍しているサーバーサイドエンジニアの特徴としては、以下のようなポイントが挙げられます。
1.仕組みを分解して考えられる
サーバーサイドエンジニアのプログラミングに必要なのは、成り立ちを“仕組み”として捉え、それを分解して考えられる力です。
例えば、サーバーサイドエンジニアがオーダーメイドの椅子職人だったとします。その際、お客さんから要望を聞き出す能力も大切ですが、職人として考えなければいけないのは「要望に応えつつ、きちんと座れる椅子を作る」ということです。「こんな見た目の椅子が欲しい」というお客さんの要望を鵜呑みにした結果、安定しない構造になってしまったり、少し座っただけで身体が痛くなるような椅子になってしまったりしたら、それは職人として良い仕事ができたとは言えないですよね。
そうならないためには、椅子の要素を細分化し「どうしたらお客様の要望を叶えつつ、ちゃんと座れる椅子になるのか」を考える必要があります。そうやって様々な要素を組み合わせて要望に対する提案できる能力がサーバーサイドエンジニアには必要だと言えます。
2.エンジニアとしての確固たる自信がある
上記に付随して、エンジニアとしての自信があることも大切な素養になります。
ここでもさきほどの椅子職人の例を用いると、きちんと座れる椅子を提案するには、“仕組み上譲れないライン”を見極めなければなりません。その際、見極めに自信がなかったり、定義が曖昧だったりすると「本当は違うんじゃないの?」という疑念や不安を自分も周りも持ったまま進行することになりかねません。
ここでいう自信とは、エンジニアとしての経歴や実績だけでつくものではありません。考え抜かれた設計や開発、疑念を払拭するまで重ねたテストなどに裏打ちされた自信です。つまり、自信を持って言い切れるまで考え抜く、やり抜く姿勢がサーバーサイドエンジニアとして大切な要素なのです。
3.相手の意図を汲み取る力がある
サーバーサイドエンジニアは他のエンジニア職種と比べてプログラミングの比重が大きく、特に”エンジニア感”が強い職種というイメージを持たれることもあります。周りの人と相談しながら進めるというよりは、一人で黙々と作業をするイメージを持たれがちですが、相手の意図をきちんと汲み取り、それを設計に反映させられる能力も非常に重要です。
例えば、ガチャの仕様で高レアリティキャラが出たときだけ演出が変わる、いわゆる「確定演出」がある場合、サーバーでの処理も通常のガチャとは変えなければいけません。演出の内容を決めるのはプランナーやデザイナー、実装するのは他職種のエンジニアですが、サーバーサイドエンジニアも仕様を把握し、周りのメンバーが想定している動きにする必要があります。
他職種のエンジニアと話し合えるコミュニケーション能力や、さらにその奥にいるデザイナーやプランナーの意図を汲み取れる能力もサーバーサイドエンジニアとしては重要な資質と言えるでしょう。
サーバーサイドエンジニアのやりがい
当社でサーバーサイドエンジニアとして働いているメンバーからは、以下のような声が上がっています。
積極採用中です!
f4samuraiでは、一緒に働くメンバーを積極採用中です!サーバーサイドエンジニアのポジションでは、異業種から転職したメンバーも活躍しています。
「まずはちょっと話を聞いてみたい」という方もウェルカムですので、ぜひお気軽にご相談ください!
▼ f4samurai Recruitサイト
▼ f4samuraiについて
▼ おすすめ記事
この記事が気に入ったらサポートをしてみませんか?