Senior Graphics Programmer
Edmonton, AB CA
C++ Engineer Co-Op (Fall 2020)
BioWare Associate Developer co-op (Fall 2020)
Are you a video game enthusiast whose passion is to develop interactive software?
Video Game programming is intellectually demanding work. Our software engineers are faced with daily challenges that involve physics (from collision detection to complex physical reactions), advanced rendering techniques (from complex 3D math to hardware shading), artificial intelligence (from path finding to scripting), optimizations (from complex algorithms to hardware specific changes) and more. We need your help to come up with creative solutions.
Specifically, we are seeking Software Engineers who will be responsible for writing specific or multi-purpose code for areas such as:
• Game Mechanics -- Gameplay, AI, player control, animation systems, physics, and scripting systems.
• Core Engine -- Graphical rendering, networking, user interface, memory & performance optimization on cutting edge computer hardware.
• Tools and Libraries -- World editors, video & audio tools, software performance analysis systems, database systems, and general-purpose game development libraries.
• Demonstrated knowledge of good software engineering practices
• Good communication and writing skills
• Excellent problem-solving skills
• Strong math skills
• Self-starter who can work with others in a team-oriented environment as well as independently
• Ability to adapt to quickly changing project requirements and continuous feedback
• Ability to learn and adapt quickly to new technology, platforms, and game areas
• The best candidates will have completed personal game or domain expertise projects independent of school
• And of course - enjoys working (and playing!) in a dynamic, cutting edge environment
User Experience – user interface implementation; systems for input, textures, rendering, animation, audio, and accessibility; performance.
• C++ is a must have.
• C# is desired but not critical.
• Python is advantageous but not critical.
• Basic understanding of
• • multithreaded processing
• client-server architecture
• object oriented programming