Description
As a 3D Programming Team Lead at Ubisoft Montreal, you will guide the development and optimisation of 3D systems for the project, collaborating closely with technical and artistic teams to ensure a cohesive and high-performance vision.
Responsibilities:
- Profile and optimise GPU usage to ensure high performance.
- Collaborate with the graphics technical direction to define constraints and communicate technical possibilities to artistic teams.
- Analyse 3D project intentions and evaluate technical feasibility of identified needs.
- Assess existing 3D engine features and their alignment with project objectives.
- Design and implement new 3D systems as needed.
- Propose improvements and innovations inspired by industry practices.
- Validate that new 3D systems meet project intentions and integrate with existing code.
- Support 3D systems and features during production.
- Identify and correct reported 3D bugs from development and quality control teams.
- Document systems to facilitate knowledge sharing and usage by other departments.
Qualifications:
- Degree in Computer Science or equivalent.
- Minimum 7 years of programming experience.
- Strong knowledge of linear algebra applied to 3D programming.
- Mastery of GPU architecture and performance optimisation practices.
- Practical experience with low-level 3D APIs like DirectX or Vulkan.
- Understanding of shader languages and their integration.
- Knowledge of software design best practices and CPU/GPU memory trade-offs.
- Ability to analyse and solve complex problems.
- Clear communication and effective collaboration with multidisciplinary teams.
- Adaptability and comfort in an evolving environment.
- Knowledge of Unreal Engine 5 (or similar engine).
- Familiarity with GPU profiling tools (RenderDoc, NVIDIA Nsight, etc.)