We started with the basics: C classes and object, copy constructors and related issues, pointers and dynamic memory. We covered 2D related game math: trigonometry and applications of vectors and matrices. Break. Next we covered inheritance, polymorphism, containers, STL. Lunch. State engines, lerping, timing, quantum physics, the nature of God and the Universe. 42. Break. Why are you here? End.
I believe two strategies are relevant to this type of interview. The first is to apply good problem solving. Even if I didn't know a specific technical demand, I at least tried to analyze the question and form an approach toward the solution. The second strategy is to know what you don't know and ask questions. If I reached a point where I simply didn't know what to do, I said so.
I'm not sure if MumboJumbo's approach is unique, but I definitely agree with it. At each point in the interview, I was told that my problem solving skills where more important than my technical knowledge. Every time I reached a hurdle that I couldn't cross, we worked through that hurdle together. My interview was a two-way process in which information flowed in both directions.
I am happy to report that I have been working at MumboJumbo for almost 3 months now and I am in programming heaven. Someone just asked me the other day if working in the game industry had lived up to my expectations and the answer was a resounding, "Yes!" I may be old, but I'm not too old to have that naïve kind of joy that I am finally doing what I always wanted to do (and getting paid for it!).
I hope my story inspires someone out there who, like me, wants to get into the game industry but feels it might be too late. The game industry is not just for twenty-something year olds just out of college. In fact, the industry is beginning to realize that there are important lessons that can be learned from traditional IT. As an IT professional, you have those skills.
The key to breaking into the game industry is twofold. First, prepare. Looking back, it took me five years of preparation (along with making a living) to come to a point where I was ready and marketable. Second, find the right company. Not every company will appreciate you or overlook your obvious lack of game-centric experience. But the right companies will. And you wouldn't want to work for anyone else.
In future episodes...
One thing I have learned about being a game programmer...I don't have a lot of time to blog! But I would like to continue writing about my experience and sharing tidbits of technical and other gaming wisdom along the way. Stay tuned.