3D Programming Team Lead (March of Giants)
As a 3D Programming Team Lead at Ubisoft Montreal, you will guide the development and optimization of the project's 3D systems while working closely with technical and artistic teams to ensure a cohesive vision and high-performance results.
What you'll do
- Profile and optimize GPU usage to maintain high performance.
- Collaborate with the Graphics Technical Director to define technical constraints and communicate technical possibilities to artistic teams.
- Analyze the project's 3D vision and assess the technical feasibility of identified requirements.
- Evaluate existing engine 3D features and determine their suitability for the project's objectives.
- Design and implement new 3D systems when required.
- Propose improvements and innovations inspired by industry best practices.
- Ensure new 3D systems align with project goals and integrate seamlessly with the existing codebase.
- Support 3D systems and features throughout production.
- Identify and resolve 3D-related bugs reported by development and quality assurance teams.
- Document systems and workflows to facilitate knowledge sharing and enable effective use by other disciplines.
What you bring to the team
- A degree in Computer Science, Computer Engineering, or equivalent training and experience.
- Minimum of 7 years of programming experience.
- Strong knowledge of linear algebra applied to 3D programming.
- Deep understanding of GPU architecture and performance optimization techniques.
- Hands-on experience with low-level 3D APIs such as DirectX or Vulkan.
- Understanding of shader languages and their integration within rendering pipelines.
- Knowledge of software design best practices and CPU/GPU memory trade-offs.
- Strong analytical and problem-solving skills.
- Excellent communication skills and the ability to collaborate effectively with multidisciplinary teams.
- Adaptability and comfort working in a fast-evolving environment.
- Experience with Unreal Engine 5 (or a similar game engine).
- Familiarity with GPU profiling and debugging tools such as RenderDoc, NVIDIA Nsight, or equivalent.