University Relations
University Relations


Blizzard Entertainment's game development teams are looking for game programming interns. The ideal applicants will have a strong understanding of the game development process, excellent programming skills, and the ability to work closely with designers and artists to recognize the shared vision and see it through from concept to completion. Game programming interns may be involved with gameplay programming or user interface programming, depending on the applicant's areas of expertise and the development team's needs. A passion for games and programming is necessary for success. Candidates must be able to develop and debug in C++, and possess knowledge of one or more of the following areas: artificial intelligence, gameplay logic, pathing, Windows/OSX system programming, DirectX/Open GL, sounds, user interface, scripting, automation tools, customer content creation, compiler creation, compression, and encryption.


  • Currently pursuing a bachelor’s or master’s degree in computer science, computer engineering, mathematics, game programming or a similar field.
  • Demonstrated game programming experience (personal or professional).
  • Experience developing and debugging in C/C++.
  • Familiarity with at least one scripting language (Perl, Python, Lua, etc.).
  • Understanding of data structures and algorithms.
  • Strong mathematics background (logic, linear algebra, geometry, statistics and probability, etc.).
  • Passion for gaming and familiarity with Blizzard Entertainment games (StarCraft, Warcraft, Diablo).


  • Understanding of differences between C++ and Galaxy.
  • Familiarity with Microsoft Visual Studio.
  • Familiarity with game engine development.
  • Knowledge of one or more of the following fields: shaders, animation, networking, physics, Max/Maya plugins, and content pipeline tools.


Former Blizzard Entertainment game programming interns answered this question commonly asked by students. On a day-to-day basis, game programming interns could be doing any or all of the following:
  • Adding gameplay features, creating internal tools, implementing AI, or programming changes to the user interface.
  • Improving, iterating, and debugging existing code.
  • Researching and expanding on knowledge of toolsets and programming languages.
  • Ensuring tools and features work with the game’s codebase.
  • Discussing best practices with senior programmers to improve code structure.
  • Soliciting feedback from programmers and designers.
  • Playtesting the current prototype to gain a complete understand of what the team is aiming for, and providing gameplay feedback.