Senior Engine Programmer


UBISOFT

Company Description

Ubisoft Singapore is one of the top game development studios in the APAC region. Part of Ubisoft’s global network of studios, we’ve been creating memorable gaming experiences in Singapore since 2008.

With over 300 employees from 30+ different nationalities, we are a diverse bunch of creatives redefining the world of digital entertainment for millions of players across the globe.

Job Description

The Senior Engine Programmer supervises some parts of the engine, as defined by the Lead, and makes propositions concerning the choice of specific engine modules.

He/she can validate specific engine features and contribute to enhancing their performance and the game quality. He/she also coaches less experienced programmers.


get Jobs in Canada on telegram

Qualifications

Responsibilities & Requirements

Analysis

  • Has good knowledge of the language used by the development team, object-oriented development (most likely C++). Produces robust meta programming solutions.
  • Relevant experience working on AAA titles, current and next-gen consoles
  • Is able to identify problems in the engine or middleware, and propose technical solutions or improvements.
  • Evaluates and compares engine or middleware strengths and weaknesses.
  • Is able to identify problems in the engine or middleware, and propose technical solutions or improvements.
  • Evaluates and compares engine or middleware strengths and weaknesses.
  • Analyzes requests and raises flags, foresees potential issues, proposes different options.
  • Is able to use reverse engineering when documentation is lacking in order to understand the purpose of a piece of code.
  • Modifies (cleans up) existing code to improve its design, structure, and/or clarity without changing the external behaviour.
  • Is able to research and experiment with unconventional techniques and new approaches to contribute to technology advances for his project or studio.

Software Design

  • Has a practical approach to software design (does not get lost in paradigms) and plays an important role in team software design reviews.
  • Keeps code efficiency in mind from the start and choose optimal solution based on the available information.
  • Uses data modeling to structure and organize data.
  • Uses templates & design patterns appropriately.
  • Designs modules or components to be integrated in a complex system.
  • Is consulted on major software design decisions for the project.

 Implementation

  • Participates in the definition of coding standards & methods used on the team.
  • Has strong knowledge of the advanced features of the software development environment and associated tools (i.e. Visual Studio, Perforce…).
  • Has strong knowledge of the strengths, weaknesses and limitations associated with the different platforms.
  • Is able to integrate large-scale modules or components (could be from other projects) while minimizing the impact on the rest of the programming team.
  • Encourages technology sharing across projects.
  • Determines when refactoring is necessary and / or appropriate and knows how to do it well.
  • Performs code reviews for peers (detects errors, design flaws).

Debugging

  • Is comfortable with debugging unfamiliar code.
  • Debugs using assembly / memory
  • Is able to debug without the use of debug info, trace memory overwrites (ex: can use PIX snapshots for debugging, can debug problems related to multithreading access).
  • Uses unconventional solutions when needed to solve difficult problems.
  • Uses Performance Analysis tools to determine areas that need optimization (profiling).
  • Is able to write custom tools for memory; CPU load profiling etc.
  • Uses cutting-edge technologies at low level (Assembler, SPU for PS3) to make optimizations.

Qualifications

Requirements

  • Min. of 5 to 8 years exp. in programming in the video game industry. Total experience 12-18 years

Experience in

  • Low-Level Optimization
  • Memory Management and Profiling
  • Multi-threading Experience
  • CPU Optimization
  • Professional experience in C++ programming
  • Debugging Skills

Preferable but not essential:

  • Game-console Experience
  • Possesses Experience in Shipping Games titles
  • Experience in a Full-production Cycle in Game Development
  • Experience in Game Engine-Debugging.

*Real-time Simulation on Unreal Engine Platform in other industries will also be considered

Additional Information

Perks

We realize it takes world-class people to make world-class games. Apart from a competitive compensation package and a culture that thrives on creativity and individuality, Ubisoft Singapore offers a wide variety of perks including performance based incentives, comprehensive health and benefit packages, tuition reimbursement, flexible working hours, and opportunities for career development and learning.

Next step

Are you excited about creating the unknown? Are you serious about fun? Do you constantly seek out learning opportunities? At Ubisoft Singapore, we are looking for talents who are solution-oriented, problem solvers, creative, yet open to collaborate, and team players who also thrive in bringing their A-game to work!

If this sounds like you, shoot us your resume and we will invite you for a first chat to find out more about becoming an awesome addition to our team!

Video Inside Ubisoft Singapore

To apply for this job please visit jobs.smartrecruiters.com.