Principal Software Developer (Rendering & Simulation)

Posted 14 Hours Ago
Be an Early Applicant
Montréal, QC
132K-181K Annually
Expert/Leader
Big Data • Cloud • Digital Media • Machine Learning • Mobile • Software • Industrial
Autodesk is a global leader in design and make technology that helps innovators everywhere solve today's challenges.
The Role
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.
Summary Generated by Built In

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++
The Company
HQ: San Francisco, CA
13,285 Employees
Hybrid Workplace
Year Founded: 1982

What We Do

Autodesk makes software for people who make things. If you’ve ever driven a high-performance car, admired a towering skyscraper, used a smartphone, or watched a great film, chances are you’ve experienced what millions of Autodesk customers are doing with our software. Autodesk gives you the power to make anything.

Over 100 million people use Autodesk software like AutoCAD, Revit, Maya, 3ds Max, Fusion 360, SketchBook, and more to unlock their creativity and solve important design, business and environmental challenges. Our software runs on both personal computers and mobile devices and taps the infinite computing power of the cloud to help teams around the world collaborate, design, simulate and fabricate their ideas in 3D.

We provide exceptional compensation/benefit packages and we’d love for you to join us. We’re proud to be an equal opportunity employer and we consider all qualified applicants without regard to race, gender, disability, veteran status or other protected category. To see our culture in action, check out #AutodeskLife.

We are headquartered in the San Francisco Bay Area and have more than 10,000 employees worldwide.

Why Work With Us

Our work is impactful. Our people are innovative. And our culture is inclusive. As our software shapes new solutions to the world’s biggest challenges, you shape your career path. With us, you lead the way in achieving sustainability, resilient communities, and an equitable workforce. Discover #AutodeskLife. 

Gallery

Gallery

Similar Jobs

Motorola Solutions Logo Motorola Solutions

Entry Level DevOps Developer

Artificial Intelligence • Hardware • Information Technology • Security • Software • Cybersecurity • Big Data Analytics
Hybrid
Gatineau, QC, CAN
21000 Employees

Bounteous Logo Bounteous

Graduate Software Developer

Agency • Digital Media • eCommerce • Professional Services • Software • Analytics • Consulting
Hybrid
Montréal, QC, CAN
5000 Employees

Arrow Electronics, Inc. Logo Arrow Electronics, Inc.

Field Applications Engineer

Cloud • Enterprise Web • Hardware • Information Technology • Internet of Things • Robotics • Semiconductor
Remote
Québec, QC, CAN
22000 Employees

ServiceNow Logo ServiceNow

Senior Backend Python Developer

Artificial Intelligence • Cloud • HR Tech • Information Technology • Productivity • Software • Automation
Hybrid
Montréal, QC, CAN
26000 Employees

Similar Companies Hiring

InCommodities Thumbnail
Renewable Energy • Machine Learning • Information Technology • Energy • Automation • Analytics
Austin, TX
234 Employees
RunPod Thumbnail
Software • Infrastructure as a Service (IaaS) • Cloud • Artificial Intelligence
Charlotte, North Carolina
53 Employees
Hedra Thumbnail
Software • News + Entertainment • Marketing Tech • Generative AI • Enterprise Web • Digital Media • Consumer Web
San Francisco, CA
14 Employees

Sign up now Access later

Create Free Account

Please log in or sign up to report this job.

Create Free Account