Job Description

Red Storm Entertainment has an exciting opportunity for a talented Senior Programmer to join our team!  You will work closely with designers, artists and other programmers to make key components of the game vision into a reality.  If you want to have a big impact on an amazing team, while working on some of exciting new technology, this is the place for you.

Responsibilities:

  • Has good knowledge of the language used by the development team, object-oriented development (most likely C++). Produces robust meta programming solutions.
  • Relevant experience working on AAA titles, current and next-gen consoles
  • Is able to identify problems in the engine or middleware, and propose technical solutions or improvements.
  • Evaluates and compares engine or middle ware strengths and weaknesses.
  • Is able to identify problems in the engine or middleware, and propose technical solutions or improvements.
  • Evaluates and compares engine or middle ware strengths and weaknesses.
  • Analyzes requests and raises flags, foresees potential issues, proposes different options.
  • Is able to use reverse engineering when documentation is lacking in order to understand the purpose of a piece of code.
  • Modifies (cleans up) existing code to improve its design, structure, and/or clarity without changing the external behavior. 
  • Is able to research and experiment with unconventional techniques and new approaches to contribute to technology advances for his project or studio.

 

Software Design

  • Has a practical approach to software design (does not get lost in paradigms) and plays an important role in team software design reviews.
  • Keeps code efficiency in mind from the start and choose optimal solution based on the available information.
  • Uses data modeling to structure and organize data.
  • Uses templates & design patterns appropriately.
  • Designs modules or components to be integrated in a complex system.
  • Is consulted on major software design decisions for the project. 

          

Implementation

  • Participates in the definition of coding standards & methods used on the team.
  • Has strong knowledge of the advanced features of the software development environment and associated tools (i.e. Visual Studio, Perforce…).
  • Has strong knowledge of the strengths, weaknesses and limitations associated with the different platforms.
  • Is able to integrate large-scale modules or components (could be from other projects) while minimizing the impact on the rest of the programming team.
  • Encourages technology sharing across projects.
  • Determines when refactoring is necessary and / or appropriate and knows how to do it well.
  • Performs code reviews for peers (detects errors, design flaws). 

     

Debugging

  • Is comfortable with debugging unfamiliar code.
  • Debugs using assembly / memory
  • Is able to debug without the use of debug info, trace memory overwrites (ex: can use PIX snapshots for debugging, can debug problems related to multithreading access).
  • Uses unconventional solutions when needed to solve difficult problems.
  • Uses Performance Analysis tools to determine areas that need optimization (profiling). 
  • Is able to write custom tools for memory; CPU load profiling etc.

Qualifications

  • Minimum of 4 years game industry experience with 1 shipped title
  • Bachelor’s degree in Computer Science, Math, Engineering or related area
  • Demonstrated proficiency in C++
  • Basic 3D Math knowledge
  • Console programming experience (Xbox 360, PS3, Xbox ONE, or PS4)
  • Experience using profiling tools
  • Authorized to work in the United States

Additional Information

All your information will be kept confidential according to EEO guidelines.