Junior Programmer
The Junior Programmer writes programming code that runs and controls the game, incorporating and adapting any ready-made code libraries, along with the creation of custom code as required. He/She performs code testing and bug fixes, as well as the creation of customized tools for use by other members of the development team. He works closely with the artists, designers and programmers to write code for all aspects of the game to create high quality outcomes. The work involves delivering technical outcomes in individual capacity. He spends most of his working time involved in programming in the game studio and attends meetings with other production teams regularly. He is systematic, organized and is able to work on his own initiative and as part of a team. He should be a creative thinker and a problem solver in order to deliver his responsibilities effectively.
Skills and Competencies
Technical Skills & Competencies
Generic Skills & Competencies
Critical Work Functions and Key Tasks
• Participate in discussions with stakeholders to understand the requirements and technical specifications for the game
• Contribute inputs for the modification of initial game designs and concepts from the perspective of technical implementation
• Contribute inputs for detailed technical design documents designed for game elements
• Create initial prototypes to demonstrate gameplay ideas and features
• Research to identify new technologies and programming practices that may aid game development
• Develop the logic for the game mechanics to achieve the objectives of game design
• Write programming code for user interface, artificial intelligence (AI), sound, physics and gameplay and any other technical aspects of
the game as required
• Support the development of various builds and versions of the game until the game release
• Debug identified issues for program to run smoothly
• Optimise game play coding and ensure that game runs with good performance by working together with internal teams
• Adhere to the given performance and memory budgets stipulated by engine programming teams
• Keep up to date on latest technologies and programming practices for games
• Collaborate with artists, designers and programmers to understand how to best utilise existing tools and technology
• Contribute to the development of high level design documents for the tool requirements
• Create low-level design documents to clarify coding requirements and present to team leads for review
• Develop allocated parts of the overall code for tool design
• Refine code with inputs from team lead / senior
• Execute the creation, maintenance and update of technical documentation pertaining to tool design
• Perform iterative testing and debugging of code developed for the tool design
• Execute implementation of developed tools within existing workflows in collaboration with the end-user teams
• Train end-user teams to understand the capabilities and functions of the new tools
• Conduct regular maintenance and debugging of tools for performance, stability and usability
• Provide support to tools users to troubleshoot and resolve pipeline issues
• Analyse and fix common problems in tools and engines such as load times, memory usage and performance problems