As part of the Online Team on one of our most iconic brands, you will design and implement features to link players to first party services and Ubisoft servers.
You will be responsible for creating, debugging, maintaining and optimizing the game’s online services, and related tools, server side and client side. You will work closely together with Game Designers and Gameplay Programmers from different sites worldwide. Your main missions will include:
- Understand the online intentions of the project, collaborate and brainstorm with Game Designers and present to them technical possibilities for new innovative online-connected features,
- Take ownership of game features from conception to implementation to post-launch live support,
- Server-side programming – Develop/Maintain services:
- Design, prototype, and implement fault-tolerant online services prioritizing scalability, availability and security; including the provisioning of dedicated servers,- Perform load tests, analyse results, suggest improvements and optimize whenever necessary,
- Collaborate with devops teams to design and optimize the server-side infrastructure, and for debugging infrastructure issues
- Client-side programming - Maintain and improve upon the game’s multi-platform online engine in C++:
- Use primitives to implement individual consoles’ features and provide a platform-agnostic API to be used by higher-level engine abstractions,
- Write and design code to leverage multithreading to optimally parallelize engine tasks where possible,
- Evaluate external as well as internal Ubisoft libraries to find the best fit for our engine based on the project’s current and future needs,
- Educate, mentor and train gameplay programmers to use asynchronous engine features optimally
- Maintain code quality and enforce best practices - keeping performance, maintainability and scalability requirements in mind,
- Ensure the smooth communication with other game teams worldwide (both technical and non-technical),
- Counsel and mentor less experienced programmers.
- Good knowledge of C++ programming: Object Oriented language features, concurrent programming using threads and synchronization, design patterns,
- Good knowledge of C# .Net Core or GoLang programming,
- Experience with networking protocols (UDP/TCP/HTTP),
- Experience in the development of REST APIs,
- Knowledge of database programming with SQL and/or NoSQL databases (Redis, MongoDB, etc.),
- Deep interest in online video games,
- Experience with Revision Control systems like Perforce or Git,
- Experience CI/CD (Gitlab), automation and DevOps oriented technologies (Docker, Kubernetes),
- Excellent oral and written communication skills in English,
- Experience in the video game industry with one or more shipped titles,
- Knowledge of current web technologies and protocols,
- Experience working with cloud providers, especially Amazon Web Services or Google Cloud,
- Experience with Linux and Linux shell scripting.
We are an equal-opportunity employer and value diversity at our company. We do not discriminate on the basis of race, ethnicity, religion, gender, sexual orientation, and age or disability status.