5 Book Recommendations for Preparing for Your Game Programming Interview

I received a ton of responses from all of you job hunters out there to my last post on resume tips. Most of the questions I received was from people wanting to know how to prepare for the next phase of the process and be able to do well on their interview.

There is already a ton of general interview prep help out there, so I wanted to give you guys something a little more specific to game development. I also wanted to give you guys a little insight on how I prep for interview. I am kind of a technical book maniac; even when on vacation, lounging on the beach you will find me with a stack of programming books. And yeah I am talking about actual BOOKS, not just websites and Google. Google is a great resource, but for real learning there is nothing like the physicality and singular purpose of a book when trying to force your focus onto new concepts.

So following are my top 5 book recommendations for preparing for that game programming interview. Not only have I used these books myself when preparing for an interview, but many of the questions I ask when interviewing come from these. They cover the basic fundamentals that  a game company will expect you to know.

With these recommendations, you really don’t need to read each one cover to cover. Look at each one as a menu you can sample from. Flip around, read what piques your interest, and mark chapters to come back to for further study.

I want to mention a few common book recommendations that did not make my list. These are Design Patterns and Code Complete. These are great books, and working in the industry you will hear them mentioned alot, but I dont really feel they really offer much practical material that will be specifically helpful on an interview, especially when studying under a short time frame. In addition, while these books are great classics, which also means that some of their material is a bit dated now.

1) C++ Coding Standards  by Herb Sutter

2) Effective C++ by Scott Meyer

C++ is probably the single most essential and commonly covered skill in game programming interviews. Riot is a little more C++ focused than many game companies since we are so PC focused, but you will find C++ language questions a staple across the industry and you better make sure you are ready to tackle them confidently.

C++ Coding Standards” and “Effective C++” are hands down the best C++ books available. Their style of short, enumerated topics, each only a few pages long make them extremely easy to read and very friendly to skimming. Be aware that both of these books rely heavily on parts of the standard library that companies like Riot use, but many game companies out there do not use. Even so, however, the concepts still apply. If you don’t have time for anything else, at least read these books!

3) The Pragmatic Programmer by David Thomas

This is perhaps my favorite programming book of all time.  Its funny, its practical, and it sometimes goes against the grain of “standard” programming advice you may have had drilled into you at school. This book is a great look at many of the common every day issues that come up on a programming team, it will give you the vocabulary and talking points you need when discussing general engineering discipline during your interview.

4) 3d Math Primer for Graphics and Game Development by Fletcher Dunn

When walking into a game programming interview you’d better know your dot products from your cross products, because basic 3d geometry and linear algebra is a staple of almost every interview I’ve seen. Mr. Dunn’s book is a perfect refresher for the exact things you will be expected to know. Certainly there are much better math textbooks out there, that cover this stuff in much greater detail. But, the great thing about “3d Math Primer” is that its not a textbook. The information it covers is extremely practical, its very readable, and its actually pretty funny (not something you can say for many math books!). While the book has a focus on graphics, don’t overlook if just because this happens to not be your specialty, most of the material in the book applies very directly to general game development that employers expect you to know even if you are not a graphics programmer.

5) Data Structures and Algorithms for Game Developers by Allen Sherrod

I feel weird recommending this book, as its a little beginner focused and honestly, it has a lot of very questionable C++ code in it. There are a lot of awesome textbooks on the subject which are just a lot higher quality and go into great detail on the subject. But that exact weakness is also the strength of the book  in a cramming situation, it focuses on the high level parts that you need to know. A book like this is perfect for quickly getting back up to speed on your basics of which sorting algorithms are O(N^2) and which are O(n log n).

As far as data structures are concerned, at Riot we use the Standard Template Library (STL), and you should familiarize yourself with it’s basic data structures. Even though many game companies never touch STL (especially console-oriented studios), often their internal implementations are heavily influenced by the STL interface, so its very useful to be familiar with it.

Post to Twitter

Facebook Comments

Leave a Reply