Generalist Programmer (Audio Engine)
- Québec City, QC, Canada
Ubisoft Québec is a leader in the video game industry and is located in the heart of Quebec City’s Saint-Roch neighbourhood. Involved in many of Ubisoft’s flagship franchises, the studio gained a strong expertise, leading to its implication in the development of AAA games. The 450 talented people are united by the desire of pushing boundaries, building high quality worlds and creating memorable gaming experiences.
We are looking for a generalist programmer, to work on audio systems. As part of the Engine team, you will be working on multiple platforms and in areas such as memory management, loading, streaming, and platform specific systems related to Audio in our games.
· Analyze and understand the requirements of the audio team in order to define the required functionalities and engine systems that must be developed to support them;
· Suggest improvements whenever necessary by designing and implementing new systems or modifying existing systems, related to audio;
· Collaborate with audio designers to understand their needs and examine the constraints of the existing engine;
· Determine and help maintain CPU performance and memory budgets across platforms;
· Analyze performance of audio code and optimize algorithms;
· Analyze and support the audio data pipelines, ensuring that they are efficient and work reliably;
· Measure and track the in-game loading processes to ensure high efficiency. Create and maintain systems to minimize impact of loading on players;
· Stay up to date with requirements and updates from platform owners and other external parties. Ensure the implementation of the engine meets these requirements;
· Evaluate, plan and manage updates of audio SDKs and Middleware;
Bachelor of Computer Science or Computer Engineering or equivalent training or experience.
· Minimum of 3 years of experience in software development in C++;
· Game industry experience is preferred, but not mandatory;
· Knowledge of C++ programming and debugging;
· Good understanding of performance sensitive programming (algorithmic and low level optimizations);
· Good understanding of software development processes;
· Good understanding of CPU and GPU bottlenecks;
· Problem solving skills;
· Debugging skills;
· Flexible and able to adapt to changes;
· Knowledge of C# programming and debugging is an asset;
· Knowledge of Audiokinetic’s Wwise is an asset.