This job might no longer be available.

Senior Programmer (Generalist)

Ubisoft
Singapore sg
3 years ago
Apply

Job Description

YOUR DAILY ADVENTURE


The Senior 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.

WHAT YOU BRING


• 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.

Additional Information

WHAT YOU’LL ENJOY

Check out our list of perks and benefits here: https://www.ubisoftsingapore.com/

JOIN THE SQUAD

Making games is serious business, but it's very important for us to have fun while creating awesome worlds so that we can convey the same sense of joy to millions of players in the world.

Come on board and experience #LifeAtUbi for yourself, we are always on the lookout for talents who thrive in bringing their A-game to work. If this sounds like you, shoot us your resume, portfolio, and anything else to show that you’re serious about fun!

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, age or disability status.

Company Description

CREATOR OF WORLDS

Ubisoft’s 19,000 team members, working across more than 40 locations around the world, are bound by a common mission to enrich players’ lives with original and memorable gaming experiences. Their dedication and talent has brought to life many acclaimed franchises such as Assassin’s Creed, Far Cry, Watch Dogs, Just Dance, Rainbow Six, and many more to come. Ubisoft is an equal opportunity employer that believes diverse backgrounds and perspectives are key to creating worlds where both players and teams can thrive and express themselves. If you are excited about solving game-changing challenges, cutting edge technologies and pushing the boundaries of entertainment, we invite you to join our journey and help us Create the unknown.

Opening its doors in July 2008, Ubisoft Singapore features the largest AAA studio in Southeast Asia and is home to a culture that celebrates serious fun and diversity. As proud innovators of naval gameplay and water technology, we’re super excited to be the lead studio in bringing a brand-new IP to you – Skull and Bones! Our other notable works include every Assassin’s Creed game since Assassin’s Creed II, with our latest Viking adventure being Assassin’s Creed Valhalla.

Create Your Profile — Game companies can contact you with their relevant job openings.
Apply

Jobs at Ubisoft

Engineering jobs