Blitz Games Studios

Senior Programmer

Blitz Games Studios

Senior programmers must possess a very high standard of programming skills and exhibit the ability to make very good technical judgements. They should be capable of setting the standards that other programmers aspire to. Senior programmers should have a proven ability to create systems suitable for triple-A products. They have great organisational, scheduling and mentorship skills.  Overall, senior programmers are expected to take a higher level of responsibility for the quality and timely delivery of code on their project.

 

Specific requirements for this role:

  • Technical Skills
    • Ability to use the C++ programming language to an advanced level making use of complex language constructs when appropriate without guidance together with detailed knowledge of underlying code and the impact on performance underpinned by a basic understanding of assembly level programming.
    • Basic grounding in applicable mathematical concepts such as algebra, trigonometry, vector maths, matrix transformations, quaternion rotations and base number representations such as hexadecimal and binary.
    • Ability to select, implement and design new algorithms as appropriate and make use of data containers with an understanding of the underlying implementation and associated impact including an appreciation of multi-threading possibilities and precautions.
    • Thorough understanding of debugging concepts and techniques with the ability to identify root causes via appropriate use of debugging techniques in situations where information is limited such as release builds and multi-threaded environments.
    • Appreciation of the importance of testing and an ability to generate maintainable compact tests autonomously and appropriately focused. Through experience, they would have an instinctive ability to identify possible edge cases and proactively suggest new testing strategies.
    • Optimisation – ability to use profiling tools and draw conclusions on optimisation priorities in both own code and code generated by others.
    • Demonstrated understanding of the concept of multi-threading, its benefits, complexities and pitfalls. Able to advise on suitable architectures and design methods to facilitate its use. Also an understanding of how multi-threading is applicable to the current hardware platforms.
  • Planning and Design
    • Able to work autonomously in the design and creation of new system architectures. To fully understand how multiple systems interact and to design interfaces that support the requirements of functionality, maintainability and reliability.
    • To be able to fully lead the capture of requirements for new and existing systems. Then to carry this through to design and implementation.
    • To be pro-active in researching new systems, trends and tools. To be able to assess the merit of new systems autonomously.
    • To comment code in a descriptive and effective manner.
    • Ability to identify needs, create, review and maintain documentation to a quality acceptable for external use.
  • Industry Knowledge
    • Should be experienced with different hardware platforms, principles and embedded systems. Will have an understanding of the impact of hardware on the design and implementation of code.
    • Full understanding the of the importance of TRCs when developing code. Ability to work with, understand and resolve TRC issues.
    • Demonstrable experience in developing common game architectures. Ability to assess and balance trade-offs between complex systems.
    • Autonomous usage of Visual Studio or similar development environments.
    • Ability to administer version control, continuous integration, bug tracking and code review systems.
    • Ability to suggest, evaluate, integrate and then feedback on middleware and 3rd party libraries.
    • Full understanding and experience of the entire game production cycle and associated issues.
    • Managing and supporting client expectations.
    • Ability to handle shifting goals, features, timescales and budgetary conditions.
    • Pro-actively track and follow key industry trends and techniques.
  • Self Management and Organisation
    • Ability to work to a brief, adopt working practices and work within the stated boundaries including code style, technical specifications, scheduling and overall spirit of any given project.
    • Create and iteratively develop game systems from inception to final review on the target hardware within the game engine using appropriate tools.
    • Ability to identify production issues, seek solutions, source reference and guidance before solving or communicating them as appropriate in a self-sufficient manner.
    • Demonstrates skills in basic management tasks including good communication and scheduling of personal tasks and any delegated support structures.
  • Teamwork and Communication
    • Keep managers and any dependent team members informed about the progress of work including any potential conflicts or bottlenecks, with suggestions for solutions.
    • Ability and willingness to fit into and contribute to a creative team environment.
    • Senior programmers are expected to share their knowledge with others by freely exchanging skills through training and mentoring others
print version
How to Apply
footer