The main and routine tasks of the generalist programmer are to:
- Program in a clear and structured manner that is in keeping with performance, maintenance, modularity, scalability and compatibility requirements;
- Analyze existing system features and determine whether they meet project intentions;
- Suggest improvements whenever necessary by designing and implementing new systems or enhancing existing ones;
- Develop generic systems that will support the features of the specialist programmers (AI, 3D, physics, sound, animation, etc.) and facilitate integration (engine, editor or middleware);
- Set out technical designs to meet system needs whenever necessary;
- Support the new systems and features;
- Determine and fix the bugs identified by working units and the quality control team;
- Document the work to ensure knowledge transfer and help users understand the new systems and features;
- Carry out all other related tasks.
Qualifications
Training
Bachelor's degree in computer science or computer engineering or equivalent.
Relevant Experience
5 or more years' experience in software programming, ideally in the video game industry or any other relevant experience.
Skills and Knowledge
- Good analytical and synthesis skills;
- Ability to anticipate and resolve problems;
- Autonomy and resourcefulness;
- Attention to detail;
- Flexibility in organizing work;
- Good interpersonal and communication skills;
- Ability to work as part of a team;
- Ability to adapt to change;
- Results driven
- Ability to quickly learn to use new tools.
Additional Information
Company Description
The generalist programmer will develop systems for a wide-range of elements including the game engine and editor or any middleware used by the production teams. The incumbent may also be called upon to work on a particular system (AI, 3D, physics, sound, animation, etc.) as part of a specific mandate.