The engine programmer contributes to the design, addition, and modification of code and features that are built to enhance performance within a video game’s engine. This person works under the supervision of the engine lead and engine director to optimize memory and CPU capability, and to exploit the potential of current console platforms.
While the engine programmer will be concerned mostly with low-level systems in relation to the game, his or her work supports the higher-level programmers and development pipelines. That work includes implementing new functionality into the engine, as well as rewriting existing systems to squeeze every extra byte of memory and second of speed out of the platform. The engine programmer acts on requests from development staff for bug fixes in relation to the engine and works collaboratively with staff to design systems that provide specific requested features. On new titles, as well as existing products, the engine programmer actively reviews, revises, and enhances program code for efficiency. He or she provides technical assistance regarding errors or other engine-related technical glitches and is expected to be an expert. Detailed technology documentation is kept to record changes made to the engine or related systems, and is used as a reference for future code edits or redesigns. To monitor his or her work, the engine programmer will regularly analyze code performance and communicate with the lead game tester to receive feedback on functionality or glitches like lag and sputtering graphics.
Skills & Education
A master’s degree in computer programming, game design, or a related field is preferred. A bachelor’s degree with at least five years of professional experience is acceptable. Advanced mathematical skills are required, so courses in calculus, algebra, and statistical theory are highly encouraged. The engine programmer must be fluent in C/C++ and proficient with assembly and microcode programming for various CPU cores. Additionally, this position demands an individual who is familiar with multiple game console platforms and up to date on emerging technology. You should have a firm understanding of graphic integration, collision detection, data transformation, database management, and advanced programming.
What to Expect
This is a midlevel position that requires previous programming experience at a game development studio or exceptional skills combined with a graduate degree. The engine programmer will interface with members of the development staff at all levels, and should be just as comfortable speaking artist lingo with the character rigger as he or she is discussing particle variations with the effects designers. It is also important that this person be fully aware of how the features and systems built are being used and how designers, animators, and other programmers interact with the engine. That necessitates constant communication with all departments and the willingness to seek out feedback. Experience in quality assurance (game testing) is beneficial to learning the procedural practices of dissecting a game’s stability. The engine programmer should be capable of working effectively with little supervision and be proactive in identifying and tackling problems.