Role descriptionTo support our ongoing and future development plans, we are looking for an experienced Rendering Programmer with strong C++ expertise and a solid background in real-time rendering. This person should be comfortable working independently within a proprietary engine environment and capable of taking ownership of complex, long-term development projects from concept through to completion.
Technical Responsibilities:- Immerse yourself in our proprietary C++ game engine and renderer, improving its internals in ways that are typically out of reach when using common engines.
- Work across our graphics backends, including DirectX 11, DirectX 12, Vulkan, and console APIs, ensuring features remain consistent, correct, and performant on every platform we support.
- Implement and improve rendering features end to end.
- Optimize GPU and CPU frame time and memory usage.
- Write simple, maintainable code designed for long-term sustainability.
- Quickly learn new areas of the codebase independently, as required for each task.
- Apply knowledge of linear algebra, vectors, and geometric principles.
- Investigate and resolve GPU vendor-, driver-, and hardware-specific issues reported across a wide range of player hardware.
- Assist with build scripts, library integrations, and continuous integration.
Non-Technical Responsibilities:- Be active and participate in internal chat conversations, keeping track of those that may affect engine and renderer development.
- Take full ownership of the advancement of your assigned projects with minimal oversight.
- Work closely with artists and technical artists to turn visual goals into something that runs in real time.
- Assist and guide other developers in the right direction, occasionally doing minor code reviews.
Requirements- Proven track record of creating or modifying rendering code in a custom or proprietary engine.
- Solid foundation in C++ programming and real-time rendering, with at least 5 years of experience.
- Experience with fundamental multithreading primitives and parallel command recording.
- Hands-on experience with at least one modern graphics API, such as DirectX 12, Vulkan, or a console equivalent, as well as shader authoring in HLSL or GLSL, including compute shaders.
- Strong understanding of the real-time rendering pipeline and GPU hardware, including rasterization, lighting and shadowing, materials, post-processing, synchronization, and resource lifetimes.
- Comprehensive understanding of memory management and optimization strategies for both CPU and GPU.
- Strong mathematical knowledge required for real-time rendering, including linear algebra, vectors and matrices, coordinate spaces, geometry, and color spaces.
- Knowledge of GPU and CPU performance profiling and debugging tools, such as RenderDoc, PIX, Nsight, or vendor profilers.
- Proven ability to take ownership of projects and drive initiatives to successful completion.
- Excellent written and spoken English communication skills; additional languages are a plus
Nice to have- Experience developing your own custom engine or renderer as a personal or hobby project.
- Experience supporting multiple graphics backends through a shared abstraction layer.
- Console development experience.
- Familiarity with shader compilation toolchains and cross-compilation, such as DXC and SPIR-V, as well as shader permutation systems.
- Willingness to provide programming mentorship and conduct code reviews.
- Proficiency in Linux programming and scripting.
- Knowledge of CI, troubleshooting build issues, and integrating new libraries and platforms.
- VR rendering experience.
Benefits- Flexible working hours
- Language courses
- Talent development program (training budget, participation in seminars/conferences, etc)
- Personal development program (feedback, leadership, conflict engagement, etc)
- Parental leave
- Employee assistance program
- Relocation assistance (if applicable)
Our recruitment processOur recruitment process starts with an introductory call with our HR team, continues with a technical interview with Lead Game Engine Programmer and the Lead Rendering Programmer, and finally a stakeholder interview
#LI-Remote