How Do You Become A Console Game Programmer?
sknja writes "I am currently a junior in college and am about to begin the last 2 years of a 5-year electrical engineering program. I have a concentration in computer engineering, and a minor in Japanese. Right now, my life revolves around classes, video games, and learning Japanese. Since I am passionate about all three, I want to try and combine the three, my goal being to become an engineer working on game consoles. Since the end of school is drawing near, what steps should I take toward achieving this goal? Do gaming companies ever have co-op or internship positions open?" Is Japanese a practical or useful skill in this context, and how should/do game companies value internships and programming degrees vs. practical experience on game mods?
It's hard to get into because there are so many bad programmers out there. As a console programmer who used to work as a programmer outside of the games industry, I've seen that the video game companies do tend to screen harder for competent programmers. This doesn't mean that there aren't any bad games programmers, just fewer on average.
My recommendation would be to first keep up with game development web-sites, like gamasutra and flipcode (two of my favorites). Also, you should be able to demonstrate your interest in doing video games by having done some of your own at home.
Making video games comprises of several fields of expertise from a programmer's standpoint. Graphics, physics/collision, AI, tools, etc. You should know a little about each one and perhaps know alot about one of them.
I went into the gaming industry, first SEGA, now Nintendo, from an academic background (previously involved in numerical chemical reaction simulation). As games get more and more complex, it's drawing more and more techniques from traditional "pure" academia, especially when it comes to Artificial Intelligence (neural nets, etc), and Graphics/Physics (physical based modelling and simulation, rather than canned animations).
I count amongst my colleagues, many programmers and researchers, etc. who have Ph. Ds who wanted to do something more interesting than working in a stuffy lab or teaching, madly pursuing tenure, and have entered the games field, and don't regret it one bit.
You must love playing games -- that hasn't changed, but these days, academic qualifications are key, and they will indeed count, just like having a good demo would. While there are still greats like John Carmack, etc. who have learned their skills on their "own", solid theoretical academics (even though they don't teach you the "specifics" of console programming) do matter nowadays as well.
As for the Japanese question, I'm working in Japan now, and while there's definitely racism in a overt level, it's not difficult. You also don't need Japanese strictly to be a programmer, and in fact, English is a good skill, since the vast majority of technical literature out there is in the English language. Myself, I started out speaking English, but slowly, by studying books on my own, I learned Japanese -- a much easier language to learn than English, IMO, believe it or not due to the much more structured rules on sentence structure, grammar, and pronounciation!
-- Samir Gupta, Ph. D. Head, New Technology Research Group, Nintendo Co. Ltd., Kyoto, Japan.