Description
The Product
Katana® is a highly efficient, collaborative look development and lighting solution that gives you the creative scope and scalability to meet the needs of today’s most demanding CG-rendering projects. Equally suited to both short and long-form animation and VFX projects, Katana's unique design lets you work with massive scenes and high volumes of shots; easily reuse looks; and make revisions without repeating scene setup work, so you can spend more time achieving higher quality results.
Katana is a cross-platform (Linux & Windows) C++ application, which uses deep Python bindings for the parts of the system that are not time critical and Qt UI. As well as Python configurability, a set of APIs exists for customers to integrate Katana into their pipelines to use custom asset management, renderers, and more.
The Role
This role is an exciting opportunity to be part one of our development teams, which is responsible for delivering high-impact features, feature updates and maintenance to the Katana product family.
We are looking for a self-motivated and inquisitive C++ programmer, with experience of developing high-performance commercial software and a knowledge of software engineering best practices. As a Principal Software Engineer, you will act as a technical specialist within your Scrum team. You will also help to ensure the quality, testability, scalability, robustness, and extensibility of our code.
Reporting to your team’s Lead Engineer, your daily work will involve the design, implementation, documentation and testing of C++ and Python code, collaborating with other Software Engineers, QA Engineers, Designers and the team’s Product Manager to ensure that the code meets the requirements of customers and is delivered in a timely fashion. You will also have a strong input on the technical solutions and architecture employed thanks to your expert-level knowledge of the product and codebase.
As a Principal Software Engineer, you are expected to help the Lead Engineer by mentoring and supporting less experienced developers, and will be asked to take the technical lead on complex tasks. You act as an influencer towards other team members by following the best software development practices yourself and aiding others in writing maintainable, efficient and well-structured code testable code.
You’re also expected to contribute to the development effort outside of your Scrum team and support the Katana Architects, via direct technical input and by spreading technical knowledge. You should keep yourself appraised of advances in your field of expertise and analyze competitors’ systems and architecture.
It will be amongst your responsibilities to understand the business and wider industry. You will be encouraged to play an active role in communicating with internal and external stakeholders, understanding and sharing requirements and proposed solutions. When appropriate, you may be required to represent and support the company and the product at external events.
The Product
Katana® is a highly efficient, collaborative look development and lighting solution that gives you the creative scope and scalability to meet the needs of today’s most demanding CG-rendering projects. Equally suited to both short and long-form animation and VFX projects, Katana's unique design lets you work with massive scenes and high volumes of shots; easily reuse looks; and make revisions without repeating scene setup work, so you can spend more time achieving higher quality results.
Katana is a cross-platform (Linux & Windows) C++ application, which uses deep Python bindings for the parts of the system that are not time critical and Qt UI. As well as Python configurability, a set of APIs exists for customers to integrate Katana into their pipelines to use custom asset management, renderers, and more.
The Role
This role is an exciting opportunity to be part one of our development teams, which is responsible for delivering high-impact features, feature updates and maintenance to the Katana product family.
We are looking for a self-motivated and inquisitive C++ programmer, with experience of developing high-performance commercial software and a knowledge of software engineering best practices. As a Principal Software Engineer, you will act as a technical specialist within your Scrum team. You will also help to ensure the quality, testability, scalability, robustness, and extensibility of our code.
Reporting to your team’s Lead Engineer, your daily work will involve the design, implementation, documentation and testing of C++ and Python code, collaborating with other Software Engineers, QA Engineers, Designers and the team’s Product Manager to ensure that the code meets the requirements of customers and is delivered in a timely fashion. You will also have a strong input on the technical solutions and architecture employed thanks to your expert-level knowledge of the product and codebase.
As a Principal Software Engineer, you are expected to help the Lead Engineer by mentoring and supporting less experienced developers, and will be asked to take the technical lead on complex tasks. You act as an influencer towards other team members by following the best software development practices yourself and aiding others in writing maintainable, efficient and well-structured code testable code.
You’re also expected to contribute to the development effort outside of your Scrum team and support the Katana Architects, via direct technical input and by spreading technical knowledge. You should keep yourself appraised of advances in your field of expertise and analyze competitors’ systems and architecture.
It will be amongst your responsibilities to understand the business and wider industry. You will be encouraged to play an active role in communicating with internal and external stakeholders, understanding and sharing requirements and proposed solutions. When appropriate, you may be required to represent and support the company and the product at external events.
Requirements
- Excellent Python and C++ knowledge
- Knowledge of Universal Scene Description(USD) and USD’s Hydra.
- Experience of VFX pipelines in post-production.
- Extensive knowledge and experience of code architecture and design patterns
- 7+ years experience developing for multithreaded, high performance commercial applications
- Excellent track record of problem solving
- Good communication skills, well organized, good time management, ability to work independently
- Experience of working independently & as part of a team to produce well structured, effective code for others to build on.
- Experience of task breakdown and estimation, proposing solutions for designs and issues within the team's work.
- Experience of cross-OS development including Windows and Linux
- Experience of GUI application development, preferably with Qt, is an advantage
- Passionate and curious about technology in general, with a willingness to develop skills in the relevant technologies.
Advantageous - Degree in Engineering/Computer Science (or equivalent experience)
- 3D experience, e.g. OpenGL/Vulkan, Rendering (Prman, Arnold, 3Delight).
- Experience of 3D tools, e.g. Katana, Houdini, Maya, 3DS Max.
- Knowledge of GitLab/Conan/CMake an advantage.
Principal Software Engineer - Katana in London employer: FOUNDRY
At Foundry, we pride ourselves on being an exceptional employer that champions inclusivity and personal growth. Our dynamic work culture fosters collaboration and innovation, allowing Inside Sales Representatives to thrive in a supportive environment while driving significant revenue growth. With hybrid working options, generous holiday allowances, and dedicated personal development time, we empower our employees to excel both professionally and personally in the vibrant tech landscape of visual experience.