職種紹介

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

はじめに:理工系(ネットワーク)の
業務関係について

理工系(ネットワーク)には、主にお客様向けのサービス・システムの開発・運用を行う「ネットワークサービス開発」と、主に社内向けのサービス・システムの開発・運用を行う「コーポレートIT」の2種類が存在します。どちらも、Webやネットワークに関するIT技術を活用して業務を行うという点で共通しており、さまざまな業務領域で協働することがあります。業務概要図を通して、各業務の関係性や業務の内容をご説明します。

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

お客様にインターネットを通してさまざまなサービスを提供する仕組みを開発・運用する業務です。Go、Kotlin、Java、Ruby、JavaScriptなどのプログラミング言語を用いてWebアプリケーションを開発し、それをパブリッククラウドに構築したサーバー上で動かしてサービスを提供します。また、そのサーバー上のプログラムと連動して動作するゲーム機本体、ゲームに組み込まれるシステムソフトやライブラリをC++を用いて開発したり、スマートデバイスアプリケーションの開発なども行います。

フロントエンド開発

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

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

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

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

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

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

バックエンド開発

バックエンド開発とは?

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

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

Nintendo Switchなどのハードウェアでは、「ニンテンドーeショップ」でのゲームソフト販売や「ニュース配信」など、ネットワーク通信を通してさまざまなサービスをお客様にご提供しています。また、「Splatoon3(スプラトゥーン3)」に連携する「イカリング3」のように、さまざまなゲームに連携するWebサービスの開発・運用なども行います。

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

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

サーバーインフラ開発(SRE)/分析基盤開発

サーバーインフラ開発(SRE)とは?

サーバーインフラ開発(SRE)とは、Amazon Web ServicesやGoogle Cloud Platformなどのパブリッククラウドを利用したさまざまな規模のサーバーインフラの開発・運用、サーバー管理のコード化、運用監視の効率化などを行う業務です。バックエンド開発者などと協力して、アプリケーションのパフォーマンス改善なども行います。また、開発者が円滑に開発するための開発基盤の開発を行うのもサーバーインフラ開発(SRE)の大事な業務です。

分析基盤開発とは?

分析基盤開発は、サーバーインフラ開発と同様にパブリッククラウドを活用して、ゲーム機やゲームソフトのデータを収集したり、分析をするシステム基盤の開発や運用を行います。また、社内外の関係者が分析を行うためのツールの選定、開発、運用と合わせて、自分たちでゲーム機本体やゲームから収集した大量のデータの分析業務も行います。

任天堂におけるサーバーインフラ開発(SRE)/分析基盤開発の役割

必要なインスタンス数や取り扱うデータの規模はさまざまですが、大規模なトラフィックやデータを取り扱うシステムも存在します。新しいサービスやゲームのリリース、負荷に対するサーバーインフラのスケールの自動化の仕組みの開発や、イベントなどによる急激なアクセス負荷への対応を行い、お客様や利用者に安定・安全にサービスを提供します。また、このような大規模なトラフィックのデータを円滑に分析できるようなデータの構造化やシステムの開発・運用を行います。

システムソフトウェア開発

システムソフトウェア開発とは?

ゲーム機本体が提供する本体機能やそれに付随するネットワークサービスの開発など、ゲームをより快適に、より楽しく遊ぶための周辺機能を開発する業務です。ゲーム機上のプログラムは主にC++を利用し、サーバーサイドはRuby、Goなどを利用したアプリケーションサーバーの開発を行います。

任天堂におけるシステムソフトウェア開発の役割

ニンテンドーアカウントや Nintendo Switch Online など、ゲーム機本体が提供する本体機能の増加に伴って、システムソフトウェアの業務は増え続けています。さまざまな本体機能がインターネットを経由してデータのやりとりを行うため、システムソフトウェア開発を行ううえでネットワークの知識は必須です。ゲーム機のネットワーク接続率の向上に伴って多くのゲーム機がサーバーに接続するため、安定したサービス稼働を実現するために、ゲーム機上のプログラムとサーバーのプログラムを適切に連動させて負荷を軽減させる必要があります。その他、オペレーティングシステム(プラットフォームソフトウェア開発)やグラフィックスおよびオーディオ(ミドルウェア開発)などの技術領域と連携するケースも多く、幅広く技術を理解してつなぎ合わせていく役割が求められます。

セキュリティ対策

セキュリティ対策とは?

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

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

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

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

ゲームネットワーク開発

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

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

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

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

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

『スプラトゥーン2』

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

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

スマートデバイスアプリケーション開発

スマートデバイスアプリケーション開発とは?

Swift、Kotlin などを利用してゲーム機本体の機能やゲームの機能、アカウントと連携するスマートデバイスアプリの開発を行います。バックエンド開発メンバーやサーバーインフラ開発(SRE)メンバーと連携して、スマートデバイス向けのアプリで必要なサーバー開発・運用も行います。

スマートデバイスアプリケーション開発の役割

スマートデバイス向けの『Nintendo Switch Online』アプリや『Nintendo みまもり Switch』アプリなど、主にゲーム機本体やゲーム機本体上のゲームの機能と連携するアプリ本体やサーバー機能の開発を担当します。 また、これらのアプリが OS のバージョンアップなどで動かなくなったりしないように運用・保守も担当します。

スマートデバイスにはゲーム機とは違った機能や体験があるので、それらを活用した機能を開発できる技術力と、ゲームと組み合わせることでより便利に楽しくなる機能を提案できる創造力が必要です。また、スマートデバイスの開発環境は日々進化をしていますので、最新のトレンドを追いかけつつその都度適切な技術を選択できる知識も必要とされます。

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

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

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

また、2023年4月に設立されたニンテンドーシステムズ株式会社は、任天堂と一体となってネットワークサービスの開発・運用を行っています。業務によっては、任天堂からニンテンドーシステムズの東京本社・京都開発室へ出向して、密接な協力をすることで任天堂が提供するネットワークサービスを支えています。

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

↑