The role of a video game programmer is varied and diverse. You will most likely work as part of a team of developers and designers. You will implement game features using C++ and possible Lua and work to a tightly held project timeline or schedule.
You will need to stay up to date with technology and a rapidly changing digital and tech architectures environment. Part of the role is testing, debugging, refining, optimising and maintaining game functionality on console and PC platforms. Working as a part of team is the most common way of working. You will need to have excellent communication skills and be open in your approach to working through solutions. The ability to write clear, maintainable code and you will need strong skills in at least one game related discipline (e.g. 3D Maths, AI, Physics, UI, etc.)
In most cases a Bachelor’s degree or higher in Computer Science/Engineering, or equivalent experience. The ability to work to deadlines and project timelines is essential. You must like problem solving and excellent programming skills in a strongly typed language such as C, C++, or C#. Most companies are looking for 2-3 years professional software development experience and knowledge of interfacing with 3D art applications.