Senior Graphics Programmer required at Hi-Rez Studios

Senior Graphics Programmer required at Hi-Rez Studios

Studio: Hi-Rez Studios

Job Opening: Senior Graphics Programmer

Location: Brighton, UK / Remote

Type: Full-Time

Responsibilities:

  • Implement graphics algorithms, techniques and processes that meet the artistic, design and technical requirements of the project;
  • Work as a key part of an agile development team, organizing and planning the implementation of features with direction from their lead, and assist less experienced programmers;
  • Use practical solutions to implement feature requests, taking into account performance, maintainability and resource usage;
  • Ensure coding standards are followed in their own and others code;
  • Collect, interpret and analyze the technical feasibility of system/feature specifications;
  • Write clear and well-structured code using the appropriate data structure and algorithms while bearing in mind performance, maintenance and architectural requirements;
  • Include comments in the code and document implemented features;
  • Demonstrate an understanding of the basics of load testing and game feature testing and write test code;
  • Stay up-to-date with technology advances within the field;
  • Perform code reviews for peers;
  • Extract and interpret relevant runtime system resource information (disk IO, network, CPU, memory, etc).

Qualifications & Skills:

  • Five years of graphics programming experience in the games industry
  • Good mathematics ability and a familiarity with common 3D graphics principles and rendering algorithms;
  • Good working knowledge of current GPU architecture and modern rendering APIs;
  • Very good C/C++ programming skills, with very good knowledge of object oriented development including design patterns and UML;
  • Experience working with a large game codebase, and it’s modules, middleware and associated pipeline;
  • Understanding of speed and memory considerations, and able to implement basic optimizations;
  • Knowledge of common algorithms, data structures and patterns, and their application;
  • Ability to analyze unfamiliar code of a reasonable complexity to understand, extend and refactor an existing module;
  • Ability to debug defects of a reasonable complexity, including memory related issues, and multi-threading;
  • Knowledge of different software development methods such as Test Driven Development, Unit Testing, Agile etc.;
  • Understanding the constraints and technical requirements for console platform development within their area is a plus;
  • Ability to adapt to change;
  • Good interpersonal and communication skills.