Autodesk Logo

Autodesk

Principal Software Developer (Rendering & Simulation)

Posted 17 Hours Ago
Be an Early Applicant
Montréal, QC
Expert/Leader
Montréal, QC
Expert/Leader
As a Principal Software Developer, you will enhance the Arnold rendering engine for VFX, improving performance, quality, and memory use. Responsibilities include researching new algorithms, debugging existing systems, extending APIs for interoperability, and documenting your changes for team integration.
The summary above was generated by AI

Job Requisition ID #

24WD83437

English job description to follow!/La description de poste en anglais se trouve plus bas!

Présentation du poste

Autodesk's Entertainment & Media Solutions recrute un développeur logiciel principal pour rejoindre l'équipe Arnold Core Rendering. Vous serez rattaché à notre directeur principal du développement logiciel et vos contributions aideront nos utilisateurs à continuer à réaliser des films VFX et d'animation primés, des émissions épisodiques, des cinématiques de jeux, des graphiques de mouvement, des vidéos musicales, des publicités, des visualisations architecturales et de produits, des synthèses, et bien plus encore. L'équipe principale se concentre sur la bibliothèque de rendu Arnold, qui gère tous les aspects du rendu CPU et GPU, tels que le traçage de chemin, l'ombrage, la subdivision et le déplacement de maillage, la texturation, les volumes et tout ce qui est exigé d'une bibliothèque de rendu autonome. On attend de vous que vous deveniez un expert dans au moins certaines parties du moteur de rendu. Un bon aperçu du type de travail impliqué peut être consulté dans notre article de 2018 du Transactions on Graphics Journal : https://www.arnoldrenderer.com/research/Arnold_TOG2018.pdf.

En tant que développeur principal, vous devrez documenter et communiquer vos modifications du moteur de rendu Arnold à l'équipe des plugins Arnold afin qu'elle puisse intégrer et exposer correctement vos contributions pour une utilisation dans divers DCC tels que Maya, 3ds Max, Houdini, Cinema 4D et Katana.

Responsabilités

  • Rechercher de nouveaux algorithmes susceptibles d'améliorer la vitesse de rendu, l'utilisation de la mémoire, la précision numérique, la qualité de l'image, et/ou créer et améliorer les shaders

  • Étalonner le moteur de rendu et identifier les goulets d'étranglement dans le but d'optimiser les performances

  • Concevoir, maintenir et étendre les API pour l'interopérabilité entre les sous-systèmes de rendu et les applications 3D externes

  • Écrire un code robuste, lisible, maintenable et extensible qui peut durer des années et qui n'effraie pas les autres développeurs

  • Refondre le code existant. Produire des tests unitaires et de la documentation pour les développeurs pour tout nouveau code

  • Déboguer les sous-systèmes existants, identifier les zones problématiques dans le code, fournir à la fois des solutions temporaires rapides et des solutions durables de haute qualité, selon les besoins

  • Déboguer les scènes de production et communiquer les résultats et les solutions de contournement aux clients et aux autres développeurs

Qualifications minimales

  • Plus de 8 ans d'expérience dans le développement de logiciels commerciaux à grande échelle et dans un secteur connexe (jeux, VFX, cinéma ou autre secteur lié au graphisme)

  • Compétences avancées en programmation C++ et en débogage

  • Expérience dans la prise d'initiative, en tant que point de contact pour les solutions que vous développez

  • Compétences éprouvées en matière de dépannage auprès des utilisateurs ou des clients

Qualifications préférées

Nous apprécions l'expérience dans un ou plusieurs des domaines suivants

  • Expérience dans l'écriture d'intégrateurs, de shaders, d'intersecteurs de ray tracing et de structures d'accélération, de subdivision de maillage et de tout ce que vous pourriez trouver dans le livre PBRT

  • Points supplémentaires si vous lisez le livre PBRT depuis suffisamment longtemps pour en avoir acquis plusieurs éditions.

  • Expérience dans l'écriture de shaders de qualité

  • Solides connaissances en mathématiques

  • Compétences avancées en programmation multithread : possibilité d'écrire des algorithmes sans verrouillage et d'écrire instinctivement du code qui évite les faux partages

  • Expérience de l'écriture de code de bas niveau.

  • Idéalement, avoir écrit un traceur de chemin en OptiX

  • Expérience de l'intégration de l'Open Shading Language dans un moteur de rendu

  • Expérience de travail avec la bibliothèque OpenVDB pour la simulation et le rendu de volumes

  • Connaissance de la théorie des couleurs. Familiarité avec OpenColorIO

  • Expérience avec CUDA ou d'autres outils de programmation GPU

  • Une expérience de contribution à des projets open-source, pas nécessairement liés au rendu, sera grandement appréciée

  • Expérience en production VFX/animation

------------------------------------------------------------------------------------------------------------------------------------

Position Overview

Autodesk's Entertainment & Media Solutions is hiring a Principal Software Developer to join the Arnold Core Rendering team. You'll report to our Senior Manager of Software Development and your contributions will help our users to continue making award-winning VFX and animated films, episodic shows, game cinematics, motion graphics, music videos, advertisements, architectural and product visualizations, synthetics, and much more. The core team focuses on the Arnold renderer library, which handles all aspects of CPU and GPU rendering, such as path tracing, shading, mesh subdivision and displacement, texturing, volumes, and everything else required of a standalone rendering library. You would be expected to become an expert in at least some parts of the renderer. A good overview of the kind of work involved can be seen in our 2018 Transactions on Graphics Journal paper: https://www.arnoldrenderer.com/research/Arnold_TOG2018.pdf.

As a core principal developer, you are expected to document and communicate your Arnold renderer changes to the Arnold plugin team so that they can properly integrate and expose your contributions for use in various DCCs such as Maya, 3ds Max, Houdini, Cinema 4D, and Katana. 

Responsibilities

  • Investigate new algorithms that may improve rendering speed, memory usage, numerical precision, image quality, and/or create and improve shaders.

  • Benchmark the renderer and identify bottlenecks with the aim at optimizing performance.

  • Design, maintain, and extend APIs for interoperability between rendering subsystems as well as external 3D applications.

  • Write robust, readable, maintainable, and extensible code that can last for years and won't scare other developers.

  • Refactor legacy code. 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.

  • Debug production scenes and communicate findings and workarounds with both customers and other developers.

Minimum Qualifications

  • 8+ years of experience developing large scale commercial software and in a related industry (gaming, VFX, film, or other graphics related industry)

  • Advanced C++ programming and debugging skills

  • Experience taking initiative, being a point of contact for the solutions you're developing.

  • Proven troubleshooting skills with users or customers.

Preferred Qualifications

We appreciate experience with one or more of the following areas

  • Experience writing integrators, shaders, ray tracing intersectors and acceleration structures, mesh subdivision, and anything else you might find in the PBRT book

  • Extra points if you read the PBRT book long enough to have acquired multiple editions

  • Experience writing production quality shaders

  • Strong mathematical background

  • Advanced multi-threaded programming skills: can write lockless algorithms and instinctively writes code that avoids false-sharing

  • Experience writing low-level code

  • Ideally have written a path tracer in OptiX

  • Experience integrating Open Shading Language into a renderer

  • Experience working with the OpenVDB library for simulating and rendering volumes

  • Knowledge of color theory. Familiar with OpenColorIO

  • Experience with CUDA or other GPU programming tools.

  • Experience contributing to open-source projects, not necessarily rendering-related will be greatly appreciated.

  • VFX/animation production experience

Learn More

About Autodesk
Welcome to Autodesk! Amazing things are created every day with our software – from the greenest buildings and cleanest cars to the smartest factories and biggest hit movies. We help innovators turn their ideas into reality, transforming not only how things are made, but what can be made.

We take great pride in our culture here at Autodesk – our Culture Code is at the core of everything we do. Our values and ways of working help our people thrive and realize their potential, which leads to even better outcomes for our customers.

When you’re an Autodesker, you can be your whole, authentic self and do meaningful work that helps build a better future for all. Ready to shape the world and your future? Join us!

Salary transparency

Salary is one part of Autodesk’s competitive compensation package. For Canada-BC based roles, we expect a starting base salary between $131,500 and $180,840. Offers are based on the candidate’s experience and geographic location, and may exceed this range. In addition to base salaries, we also have a significant emphasis on annual cash bonuses, commissions for sales roles, stock grants, and a comprehensive benefits package.

Diversity & Belonging
We take pride in cultivating a culture of belonging and an equitable workplace where everyone can thrive. Learn more here: https://www.autodesk.com/company/diversity-and-belonging

Are you an existing contractor or consultant with Autodesk?

Please search for open jobs and apply internally (not on this external site).

Top Skills

C++

Similar Jobs

Be an Early Applicant
2 Days Ago
Gatineau, QC, CAN
Hybrid
21,000 Employees
Entry level
21,000 Employees
Entry level
Artificial Intelligence • Hardware • Information Technology • Security • Software • Cybersecurity • Big Data Analytics
As a DevOps Developer at Motorola Solutions, you will help design and deliver call handling solutions, working closely in Agile teams. You will maintain infrastructure for public safety applications, utilizing technologies such as Ansible, Python, and Playwright while ensuring high-quality development practices.
Be an Early Applicant
2 Days Ago
Montréal, QC, CAN
Hybrid
5,000 Employees
Entry level
5,000 Employees
Entry level
Agency • Digital Media • eCommerce • Professional Services • Software • Analytics • Consulting
As a Graduate Software Developer, you will be involved in the design, development, and maintenance of software products, working closely with customers in the financial sector. Responsibilities include coding, documentation, collaboration with team members, and ensuring quality standards are adhered to throughout the development process.
Be an Early Applicant
2 Days Ago
Québec, QC, CAN
Remote
22,000 Employees
Senior level
22,000 Employees
Senior level
Cloud • Enterprise Web • Hardware • Information Technology • Internet of Things • Robotics • Semiconductor
As a Field Applications Engineer at Arrow Electronics, you'll support customer electronic designs, particularly with FPGAs. Your role involves collaborating with sales teams, providing technical consulting, managing supplier relationships, and conducting training sessions for clients. Additionally, selling expertise and understanding of market needs are essential, with responsibilities requiring significant independent work and mentorship of junior colleagues.

What you need to know about the Ottawa Tech Scene

The capital city of Canada and the nation's fourth-largest urban area, Ottawa has proven a rapidly growing global tech hub. With over 1,800 tech companies, many of which are leaders in their sectors, the city's tech talent now makes up more than 13 percent of its total workforce. This growth is driven not only by the big players like UL Solutions and Dropbox, but also by a thriving startup ecosystem, as new businesses emerge to follow in the footsteps of those that came before them.

Sign up now Access later

Create Free Account

Please log in or sign up to report this job.

Create Free Account