職種紹介

理工系の仕事ネットワークサービス開発

ネットワークサービス開発とは?

お客様にネットワークを通してさまざまなサービスを提供する仕組みを開発・運用する業務です。Java、Ruby、Go、JavaScriptなどのプログラミング言語を用いてWebアプリケーションを開発し、それをパブリッククラウドやオンプレミスに構築したサーバー上で動かしてサービスを提供します。

フロントエンド開発

フロントエンド開発とは?

フロントエンド開発はネットワークサービスにおいてお客様との接点であるUIのデザインやプログラム実装をする業務です。

任天堂におけるフロントエンド開発の役割

任天堂では、ネットワークサービスを世界中のお客様にご利用いただくために、ゲーム機本体だけでなく、スマートフォン・タブレット・PCなど、それぞれの環境に最適化した状態で提供しています。

その中で、フロントエンド開発職種は、任天堂のネットワークサービスが、今後、数多くの言語、国、デバイスへ長期的に広がることを視野に入れた設計や開発環境の選定をしたうえで、実装まで行います。

また、サービスをリリースしたあとも、お客様の環境やニーズの変化に対応するために、常に世界の動向をチェックし、デザイナーやバックエンドエンジニア、マーケッターなど、他部門との密な協働によって改善を続けます。

バックエンド開発

バックエンド開発とは?

Java、RubyやGoなどを利用したWebアプリケーションサーバーの設計・開発や、インフラエンジニアとともに大規模なネットワークインフラの設計・開発を行う業務です。複数人で開発を行うことが多いため、高いコーディング能力だけでなく、メンバー同士が協力し合ってより品質の高い成果物をスピーディーに作ることが求められます。

任天堂におけるバックエンド開発の役割

Nintendo Switch、ニンテンドー3DS、Wii Uといったハードウェアでは、『マリオカート』『Splatoon(スプラトゥーン)』ほか多くのゲームのネットワークプレイをはじめ、「ニンテンドーeショップ」でのゲームソフト販売、「Nintendo Switch Online」や「ニュース配信」など、ネットワーク通信を通してさまざまなサービスをお客様にご提供しています。

これらのサービスを支えるサーバーは、新しいサービスと共に新たに開発され、日々改善・機能追加を行っています。任天堂では内製開発を中心に、サービスの特性に応じて外部委託先の協力も得て、開発・運用を行います。

IDE(統合開発環境)は開発者自身が選定します。こちらはIntelliJを使った開発画面です。

サーバー/ネットワークインフラ開発

サーバー/ネットワークインフラ開発とは?

Amazon Web ServicesやGoogle Cloud Platformなどのパブリッククラウドを利用したさまざまな規模のサーバー/インフラの開発・運用、データセンターでのオンプレミスサーバーの構築および運用、サーバー管理のコード化、運用監視の効率化などを行う業務です。大規模になればなるほど、効率的に開発・運用することが求められます。

任天堂におけるサーバー/ネットワークインフラ開発の役割

近年はパブリッククラウドを用いた開発が大部分を占めていますが、オンプレミスも利用しており、用途・規模などに合わせて使い分けています。規模は数台程度から数百台までさまざまです。どのような規模であっても安定性、パフォーマンス、コストを意識して開発・運用をしています。必要に応じて、運営・運用の作業を効率化するためのツール開発や、安定性・信頼性向上のためのプログラム開発も行います。新しいゲームのリリースやイベントなどによる急激なアクセス負荷への対応も行います。

セキュリティ対策

セキュリティ対策とは?

セキュリティに関する開発・運用方針の策定、セキュリティ検証の実施、セキュリティ面における開発者のサポート、セキュリティインシデント発生時の対応、セキュリティ系管理ツールの開発・運用を行う業務です。常にセキュリティ動向にアンテナを張り、情報収集をするとともに、対象システムのことを良く理解し、それに合ったよりよい対策を提案・実施できる力が必要となります。

任天堂におけるセキュリティ対策の役割

任天堂のネットワークサービスを利用するお客様が増えることで、システムの規模も大きくなると予想されます。一方で、その拡大に伴い、セキュリティに対する危惧も同様に大きくなりつつあります。このような背景の中、任天堂のサイバーセキュリティ態勢構築・高度化への取り組みを進めることで、セキュリティに関する技術的な対応(診断・実装など)だけでなく、社内関連部署や社内外のエンジニアとのセキュリティに関連した多岐にわたる調整事などを幅広く行う業務です。現在は、任天堂ゲーム機用のネットワークサービスが主な対象となりますが、今後、スマートデバイス関連、社内システム関連など対象を拡大していく予定です。

開発中のシステムに対して脆弱性診断を実施し開発者に対してフィードバックを行います。

ゲームネットワーク開発

ゲームネットワーク開発とは?

インターネットを介して遠く離れた友だちや世界中のプレイヤーとの対戦や情報共有を可能にする技術の開発に加え、オンラインゲーム開発用通信ライブラリの開発やゲームごとのサーバー開発を行います。

任天堂におけるゲームネットワーク開発の役割

『大乱闘スマッシュブラザーズ SPECIAL』のインターネット対戦、『スーパーマリオメーカー 2』のコースデータのやりとり、『Tetris®99』の多人数対戦などを実現するための仕組みづくりを担います。

ネットワークを活用した遊びを作る際には、多くのお客様が利用しても快適に遊べ、サーバーが安定稼働状態を維持し、サーバーの運用費用がむやみにかからないようにするなどの観点を踏まえて開発を行う必要があります。また、より良い体験ができるように、ゲームの企画や仕様検討段階からネットワーク視点の提案をゲーム開発者に行うこともあります。このようなモノづくりをするためには、基礎から新しいことまでネットワーク・サーバー技術をよく把握し、それらの中から最適なものを利用する必要があります。加えて、遊び・品質・コストをバランス良く実現する能力も求められます。ネットワークで世界中の人を繋ぎ、新たな娯楽体験を提供できる業務です。

『スプラトゥーン2』

Wii Uの『Splatoon(スプラトゥーン)』は大変多くのお客様に遊んでいただき、Wii Uを代表するゲームタイトルとなりました。そのため、Nintendo Switchの『スプラトゥーン2』でも同じように多くのお客様に遊んでもらうことが発売前から期待されていました。

『スプラトゥーン2』の開発では、大規模な接続を想定したサーバーのテストとそこで見つかった問題箇所の修正を何度も繰り返し、安定稼働に向けた改善を行いました。

ネットワークサービス開発に求められること

任天堂の仕事というとゲーム開発のイメージが強いですが、お客様にネットワークを通してさまざまなサービスを提供するための、ネットワークサービス開発も非常に重要な役割です。ネットワーク系エンジニアも多く在籍しており、WiiやニンテンドーDSの頃から、現在のNintendo Switchに至るまで10年以上、任天堂のネットワークサービスを支え続けてきました。 ネットワークサービスを支える技術は日々進化し続けているため、ネットワークやシステムに関する情報収集や技術習得は常に行わなければなりません。

また、任天堂が提供するネットワークサービスには大小さまざまなものがあり、そのほとんどが何年にもわたって使われるため、長期的にサービスを継続することを意識する必要があります。それぞれのサービスごとに適切な技術を採用し、安定した高品質なサービスを提供できるように、日々取り組んでいます。

  • 『ゼノブレイド2』 © 2017 Nintendo / MONOLITHSOFT
  • 『大乱闘スマッシュブラザーズ SPECIAL』 © 2018 Nintendo Original Game: © Nintendo / HAL Laboratory, Inc.

関連するキーワード