As an Online Software Engineer, you implement solutions connecting millions of players in our online multiplayer games. You will design, develop and support online features such as authentication, matchmaking, progression and in-game store for DICE's future titles. We ask that you have an understanding of the different network topologies used in gaming and interaction with the different online services powering DICE games. As a part of our game team, you are expected to write high-performing systems with limited hardware and networking requirements to ensure optimal user experience for the players. You will report into a Technology Craft Manager.
Responsibilities
- You will work with game design, user experience, product and analytics teams to identify online system's needs, evaluate requirements, write specifications, and design and implement complex systems and interfaces.
- Write well designed, efficient and testable software.
- Work toward excellence in software craftsmanship, and work with peers to improve software design
- Exchange knowledge and experiences with fellow engineers on relevant modern technologies as well as on best practices for developing online systems.
Requirement
You probably have experience working on complex consumer software products and experience in gaming is beneficial. You are comfortable talking to us about:
- Algorithms, design patterns, debugging and memory/performance optimization.
- Distributed systems with high performance and reliability
Other Skills and Abilities
- Passion about games and game development
- Expertise in C/C++
- Architectural knowledge in different network topologies used in gaming
- Excellent written and verbal communication skills in English
歴戦のゲームサーバー開発者を求めている感じ。 DICE、ということで、BattlefieldとかのゲームサーバーはC/C++で書かれているのだろう。 C/C++の経験が求められるサーバーサイド求人は、ゲーム以外にはあまり見ない。
We are looking for an experienced Backend Engineer, who is passionate about developing systems and services to support the live operations and online gameplay for our millions of users. You will work in small teams that work together to create solutions for our games, using modern technologies and frameworks deployed to cloud-based infrastructure. You will work with multiple existing systems; some developed here at DICE, some developed externally. This will require working with a lot of different teams within EA and DICE. You will report into a Technology Craft Manager.
Responsibilities
- You will analyze game designs and propose technical solutions for how they can be achieved.
- Develop distributed, resilient, and high-performing back-end services using Scala.
- Adapt central EA technologies to meet game design needs.
- Use modern open-source stacks including Scala, gRPC, Finagle, Linkerd/Envoy.
- Deploy services on cloud-based infrastructures such as Kubernetes.
- Oversee performance and load testing at the service level.
Requirements
- Experience in distributed, scalable, resilient, high-performing systems
- Knowledge of Git, or similar distributed source management system
- Experience with continuous integration and delivery
Nice to Haves
- Experience with functional languages (Scala, Clojure, Erlang-Elixir, Kotlin, Rust, Swift, F#)
- Experience with cloud deployment, preferably AWS
- Good knowledge of Linux
- Knowledge of C++ or C#
- Knowledge of Kubernetes
- Experience with Docker or similar container formats
- Contributions to Open Source projects is a plus
ゲームそのものの開発ではなく、ゲームの運用を支えるシステムを開発するポジションかな? Scalaの経験者を求めているのが、ゲーム業界の求人としては珍しいかも。 特に関数型プログラミング言語の経験を求めていることから、ベターJavaとしてではなく、Scalaの関数型プログラミング言語としての特性を活かした開発をしているのだろう。