Job Description

Software Engineer – HPC (VFX Software)

Salary: £40,000

Location: London

The Team:

The high performance computing (HPC) team is responsible for creating image processing frameworks that fully exploit the capabilities of current and next generation heterogeneous computing systems. These frameworks are used within a number of key company products, including our flagship compositing software suite. The technology being developed greatly simplifies the research and development of complex algorithms and their deployment in a highly optimised form across different CPU and GPU platforms. A variety of languages and APIs are used to ensure that each platform is used to its best advantage.


The Role:

Reporting to the Lead HPC Engineer, your standard daily work will involve the design, implementation and testing of C++ code, along with bug-fixing as required and liaising with other engineers in the team to ensure that the code meets the requirements specified. Working closely with the team, your work will include the development of core infrastructure and integration libraries. You will work together with the other teams to develop, educate and promote the use of HPC technology throughout the company’s products. Where necessary, you will advise the Lead Engineer of any upcoming issues relating to HPC. As an engineer you may be asked to liaise with other teams in Development, QA, Support and Sales. It is amongst your responsibilities to understand our business and wider industry. You are encouraged to play an active role in communicating with and visiting customers, understanding and sharing requirements and proposed solutions. Where appropriate you may represent and support the company and HPC at external events.


Required Skills:

  • Experience of commercial software development to deadlines
  • Excellent C++ knowledge of development tools and processes
  • Knowledge of Python, including development processes and tools
  • An understanding of Clang and LLVM
  • Strong understanding of multi-threaded programming
  • Good track record of problem solving
  • Successful experience of working in a development team
  • Good communication skills, well organised, good time management
  • Ability to travel outside of the UK


Desired Skills:

  • Knowledge of GPU programming (CUDA/OpenCL/GLSL)
  • Knowledge of SIMD CPU programming (SSE/AVX)
  • Experience of cross OS development including OSX, Linux and Windows
  • Experience of the SCons build system
  • Experience of software versioning applications
  • Knowledge of image processing, post production and compositing would be useful