Principal Software Engineer - Katana at Foundry | England, GB | Rezi

Principal Software Engineer - Katana at Foundry

Principal Software Engineer - Katana

Foundry · England, GB

1 months ago

Principal Software Engineer - Katana

Foundry · England, GB

2 months ago
Resume preview

Impress employers and recruiters.
Choose from hundreds of resume examples.

Target Resume Now

About the Role

This role is an exciting opportunity to be part of a development team responsible for delivering high-impact features, feature updates, and maintenance to the Katana product family. You will act as a technical specialist within your Scrum team and help ensure the quality, testability, scalability, robustness, and extensibility of our code.

Responsibilities

  • Design, implementation, documentation, and testing of C++ and Python code.
  • Collaborate with other Software Engineers, QA Engineers, Designers, and the Product Manager.
  • Contribute to technical solutions and architecture.
  • Mentor and support less experienced developers.
  • Take the technical lead on complex tasks.
  • Follow best software development practices and aid others in writing maintainable, efficient, and well-structured code.
  • Contribute to development efforts outside of the Scrum team and support Katana Architects.
  • Keep appraised of advances in the field of expertise and analyze competitors’ systems and architecture.
  • Understand the business and wider industry.
  • Communicate with internal and external stakeholders, understanding and sharing requirements and proposed solutions.
  • Represent and support the company and the product at external events when appropriate.
  • Understand, practice, and refine the development process within the team.
  • Lead the design, implementation, and documentation of complex software features.
  • Improve the quality and stability of the product with maintenance bug fixes.
  • Participate in reviews of your own and colleagues’ code.
  • Take a leading role in project planning by providing effort estimates and risk assessment for the team’s future work.
  • Take a leading role in the creation of user stories for future work.
  • Document work clearly and concisely in the source code.
  • Assist the Customer Support team with investigations and suggestions related to issues reported by users.

Requirements

  • Self-motivated and inquisitive C++ programmer.
  • Experience developing high-performance commercial software.
  • Knowledge of software engineering best practices.
  • 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.
  • 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.

Skills

  • Python
  • C++
  • Universal Scene Description (USD)
  • USD’s Hydra
  • VFX pipelines in post-production
  • Code architecture
  • Design patterns
  • Multithreaded applications
  • High-performance applications
  • Problem solving
  • Communication
  • Organization
  • Time management
  • Independent work
  • Teamwork
  • Code structure
  • Task breakdown
  • Estimation
  • Cross-OS development (Windows, Linux)
  • GUI application development
  • Qt
  • 3D experience
  • OpenGL
  • Vulkan
  • Rendering (Prman, Arnold, 3Delight)
  • 3D tools (Katana, Houdini, Maya, 3DS Max)
  • GitLab
  • Conan
  • CMake

Location

  • Hybrid

Work Type

  • Hybrid working - 2 days per week in office
  • Full-time

Experience Level

  • Principal Software Engineer
  • 7+ years experience

Education Level

  • Degree in Engineering/Computer Science (or equivalent experience)

Benefits

  • 25 days holiday + bank holidays
  • Pension scheme & Life Assurance
  • Health cash plan & Medical Insurance
  • Season ticket loan
  • Company’s social events
  • Personal Annual Development Time
  • Passion Days
  • Anniversary Day off

About the Company

  • 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.