Location: Remote (UK-based), with occasional travel for team meetings
Contract: Full-time, permanent
Salary: £45,000 – £85,000 (depending on skills and experience) + benefits
Photon Engineering builds FRED, an optical engineering application used by designers worldwide to simulate how light travels through optical and opto-mechanical systems. FRED models stray light, illumination, imaging and laser systems by tracing millions to billions of rays, and increasingly runs that work on GPUs.
We're looking for a C++ developer to help extend and modernise FRED. You'll work on a mature, performance-critical Windows desktop application where your code directly enables engineers to design cameras, telescopes, lighting, sensors and more.
This is a fully remote role, so you'll be trusted to own your work end to end, from understanding the problem to delivering tested code, while staying in regular contact with colleagues across time zones.
Design, implement and test new features in FRED's C++ codebase, from the ray-tracing engine to the user interface
Develop and maintain the Windows desktop UI built with MFC and the Stingray component library
Write and optimise GPU code using NVIDIA CUDA and OptiX to accelerate ray tracing and numerical analysis
Profile and improve performance and memory use in large, compute-heavy simulations
Investigate and fix bugs reported by customers and the applications engineering team
Help modernise legacy code safely, with good tests, code review and version control (Git)
Work with optical engineers to turn physics and design requirements into reliable software
Essential
Strong modern C++ (C++11/14/17 or later), including object-oriented design, the STL and debugging
Experience building Windows desktop applications, ideally with MFC and Visual Studio
A degree in computer science, physics, engineering, mathematics or a related field — or equivalent experience
Solid maths: linear algebra, geometry and numerical methods
Comfortable working in a large, long-lived codebase and learning its history
Proven ability to work independently and remotely: you’ll manage your own time, stay productive without close supervision, and keep the team up to date on progress and blockers
Clear communication and a willingness to work closely with non-developers
Desirable
GPU programming with CUDA, and ray tracing with NVIDIA OptiX
Experience with Stingray (Rogue Wave / Perforce) or other MFC UI libraries
Knowledge of optics, photonics, computer graphics or physically based rendering
Multithreading and performance profiling (e.g. Visual Studio Profiler, Nsight)
Scientific, CAD or simulation software experience
Scripting or automation (e.g. Python, VBA/COM interfaces)
Graduates and PhD candidates with strong C++ and a physics, optics or graphics background are encouraged to apply.
Competitive salary: £45,000 – £85,000, depending on skills and experience
25 days' holiday plus bank holidays
Workplace pension contributions
Remote working
Real ownership of features used by optical engineers around the world
Hands-on experience with the latest NVIDIA GPU hardware and ray-tracing technology
The opportunity to join a highly supportive small business, and be part of a dedicated technical team where you'll never stop learning
Send your CV and a short cover note to jobs@photonengr.com. Tell us about a C++ project you're proud of — and if you've written GPU, graphics or scientific code, we'd love to hear about it.
Questions? If you’d like to connect with the hiring manager to discuss the role before applying please feel free to do so: https://www.linkedin.com/in/neil-barrett-uk/
Applicants must have the right to work in the UK. No visas are being considered for this role. No agencies.