Generalist Programmer

  • Generalist Programmer

In the game development industry, programmers are divided into two categories: specialists and generalists. Those who are adept in several areas of coding and able to easily switch gears from gameplay physics to systems and engine scripting are considered generalists and sought after to enhance the flexibility of the programming team.


Duties

The generalist programmer may be assigned varying responsibilities depending on the studio but typically answers to a lead programmer and collaborates with multiple divisions of the development team. He or she is chiefly concerned with identifying the most stable and efficient means of coding multiple assets, including AI elements, and seeing that those scripts are clean and reliable. To this end, the programmer will participate in development meetings to identify the ideal specifications concerning programming from game designers and communicate within his or her department to develop documentation that outlines those needs. For example, incorporating proprietary systems with a new version of the Unreal Engine may require the creation of new script structures, which allow the in-house software to mesh more effectively with the engine. Similarly, in an effort to expand the quality of real-time graphics rendering and physics execution, the generalist programmer may be tasked with writing code that makes better use of available storage within the graphics engine and streamlines the old methods of triggering gameplay effects.

The generalist programmer will interface with the QA department to create test scenarios that identify weakness or bugs in the systems, in an effort to maintain reliable code. On an ongoing basis, this person is interested in finding areas for improvement within scripts and conducting research to suggest new methods or available software that may benefit the development of game products within the studio. As set forth by the lead programmer, the generalist must follow all established procedures for porting of new assets through the pipeline and adhere to policies concerning workflow. He or she is responsible for ensuring the integrity of code as defined in design documentation and taking a proactive approach to enhancing the stability of all programming systems.

Skills & Education

A college degree in computer programming, game design, or similar field is required for this role, and coursework should include study of advanced mathematics. Proficiency in multiple script languages such as Python, Java, C/C++ is necessary, as is knowledge of several console platforms and game engines. The generalist programmer is expected to have a firm understanding of physics concepts such as collision and particle dispersion, as well as experience with graphics systems like OpenGL. Demonstrated ability to write clean, portable code is essential, and additional proficiencies with camera systems, AI programming, and animation are valuable.

What to Expect

Employment as a generalist programmer may be available for entry-level positions, but typically requires at least two years of prior experience in one or more specialized areas, and at least one shipped title. As a rule, generalists are those who have served on multiple development teams in several programming capacities. Therefore, previous employment as an AI programmer, physics programmer, gameplay scripter, or similar area is applicable to this role. Within development studios, the vibe is usually casual but intense. The closer it gets to the ship date, the more tense everyone becomes and the more irregular the hours. This is not an industry standard rule, but on average, programmers are among the highest paid members of a studio, save for producers and director-level staff.

Industry:

Related Content

Have some feedback for our editors? Contact Us