NOTE: This job is no longer available!

Senior Rendering Programmer

Vancouver

Ubisoft is a producer, editor and distributor of video games, interactive software, and multimedia applications.   Creativity, friendliness and leading edge technology are what we pride ourselves in.   You will benefit from a competitive benefits and salary package, in addition to opportunities for advancement within Ubisoft’s global network of development studios.  


As a Senior Rendering Software Engineer, y ou will be responsible for developing and enhancing Next-Gen graphics technology for our upcoming game titles.   This includes developing graphic export tools, asset conditioners, shaders, and run-time engines.   You have an appreciation for high quality artist workflow and are knowledgeable on the entire asset pipeline path from Maya / 3DS Max / SoftImage to game hardware.   In addition, you are exceedingly competent in all aspects of graphics programming, from exporting the models/textures, to in-game high level code to low level rendering code.

Responsibilities include:

 

  • 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 behavior.
  • Designs modules or components to be integrated in a complex system.
  • Participates in the definition of coding standards & methods used on the team.
  • 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.
  • Determines when refactoring is necessary and / or appropriate and knows how to do it well.
  • Performs code reviews for peers (detects errors, design flaws).
  • Debugs using assembly / memory
  • Uses Performance Analysis tools to determine areas that need optimization (profiling).

Qualifications Include:

  • Shipped at least two major console games
  • 7+ years of industry experience
  • Bachelor’s degree in Computer Science / Engineering or equivalent industry experience
  • Experience of working on multi-platform products
  • Highly skilled in C++.
  • 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 chooses optimal solution based on the available information
  • Encourages technology sharing across projects.
  • Is comfortable with debugging unfamiliar code.
  • You will inspire those around you to create outstanding game solutions, whilst expanding your current skills
  • Ability to work in a self-directed environment
  • Uses unconventional solutions when needed to solve difficult problems.
  • Good communication skills as interaction with entire team and across teams will be required
  • Experience as a generalist a plus
  • An appreciation of the importance of good coding practice
  • A desire to work with a diversity of disciplines in a close team environment
  • Strong work ethic and self-motivation

 

**We appreciate all applications; however, only qualified candidates will be contacted for interview and preference will be given to local applicants.