Senior Programmer - Graphics
The Graphics team is responsible for maintaining and developing Media Molecule’s unique, world-class graphics engine. You will have the opportunity to bring your individuality and enthusiasm and to put your stamp on the engine, all ideas are encouraged! You will have a huge impact in a small team, playing a key role in defining the future of the engine.
As a Senior Graphics Programmer at Media Molecule, you will be a member of our Engine Team where you will be focused on developing and optimising core aspects of the Dreams game engine.
What you'll be doing:
- Maintain and improve the rendering systems of Dreams.
- Monitor and optimise GPU performance - produce systems that are efficient, scalable and easy to maintain.
- Collaborate with members of multiple disciplines to investigate and implement new rendering techniques to make Dreams more expressive and feature-rich.
- Communicate ideas, goals and constraints with team members of multiple disciplines.
- Excellent communication and interpersonal skills.
- Expert knowledge of both C and C++.
- Excellent debugging and analytical skills.
- Excellent understanding of software performance characteristics and associated ability to implement systems optimised for performance.
- Excellent grasp of mathematical concepts and analysis techniques as they apply to game engine programming.
- Detailed familiarity with hardware details of multiple game platforms, their associated capabilities and performance bottlenecks.
- Significant experience optimising code for varied architectures.
- Good knowledge of modern GPU architectures and low-level programming.
- Good knowledge of one or more rendering APIs such as DirectX, OpenGL/Vulkan or GNM.
- Experience with multi-threaded programming.
- Able to work independently to complete assigned projects with limited supervision.
- Up to date knowledge of technological developments and advancements within the games industry.
- 5+ years of graphics development experience, AAA a plus.
- Bachelor’s degree in a relevant subject or equivalent industry experience.
- Interest in games.
- Experience with assembly programming.
- Experience with cross platform development techniques.
- Experience developing and refactoring code in a live service environment.