Position Overview
Autodesk is seeking an experienced Principal Software Developer to join the Autodesk Graphics Platform (AGP) team in Toronto, Canada. The role can also be based out Montreal, Vancouver or remote in Canada.
The Autodesk Graphics Platform (AGP) is a shared graphics system used by many Autodesk applications, including Fusion, Revit, Inventor, 3ds Max, and Maya. You will join a talented technical team in undertaking a complete modernization of the Graphics components - providing Autodesk applications with the ability to support, and exploit, the latest and future generations of graphics technology. You will help us to shape and adopt Open Standards and Open Source through active industry engagement (Khronos, ASWF, etc.), and develop OpenUSD-Based, Graphics Pipeline for Web, Mobile, and Desktop.
Autodesk supports FLEX working model.
You will report to Senior Engineering Manager, Graphics.
Responsibilities
Design and write robust, readable, maintainable, and extensible code that can last for years
Produce both unit tests and developer documentation for any new code
Debug existing subsystems, identify problem areas in the code, provide both quick temporary workarounds and high-quality, lasting solutions as needed
Profile and optimize existing code on a variety of platforms, and generate performance and unit tests to catch any regressions
Minimum Qualifications
Bachelor's degree in computer science or equivalent
Minimum of 12 years of relevant experience delivering professional software
Minimum of 2 years of experience on Android or iOS graphics development (Game, AR / VR, 3D Visualization etc.)
Significant experience with GPU technology, real-time techniques, graphics APIs (e.g., DirectX, OpenGL, Vulcan, Metal), shading languages (HLSL, GLSL), performance and memory optimization, and large-scale C++ development
Experience with debugging and performance profiling of C++ code, GPU shader code, and graphics pipelines
Strong object-oriented, software architecture, and C++ skills are required
Ability to work within an established, tight-knit yet geographically distributed team of developers
Good written and verbal English communication skills
Preferred Qualifications
Familiarity with USD, Hydra, Vulkan, and MaterialX
Experience with performance acceleration and memory management on Mobile Platform
Familiarity with Android / iOS Graphics Toolchain
Advanced multi-threaded programming skills
Git / Github knowledge
Knowledge of build and deployment technologies, such as Clang / LLVM, Jenkins, CMake, and Python
About Autodesk