How much C++ should you know?

At the end of last year, a girl asked me how much C++ she would have to know to be able to confidently apply for a programming job in the games industry. It’s not an easy question.

Most of the people we hire have worked with games before. Either at other companies, or making games in their free time. These people know that they’ve got enough experience, they often have specialized knowledge (like 3D graphics), and the question doesn’t really arise for them. For someone who isn’t coming from the games sector, but has maybe done consulting or some other programming job before, I didn’t have a ready answer, but I found one anyway that I’m pretty comfortable with:

Read Effective C++ (and possibly More Effective C++). Not because you’ll need everyhing in there (although it will probably come in handy), but if you really understand the books, and you feel that they’ve given you something useful to think about, then you’re probably there. The level of C++ that those books require you to know is about what I would want a programmer on my team to know. There is more to know about C++, but most of it you won’t need (especially template metaprogramming).

And in general, don’t pretend to know something you don’t. It usually takes very little time to figure out that a candidate hasn’t written anything substantial in C++ after school, that they grew up in a Java world instead. The same goes for specialized knowledge: Don’t put DirectX knowledge in your CV if all you’ve ever done is to compile the demos and tinker with them for a day. We are always looking for good all-round programmers, and by lying in your interview you’re wasting your chances of being one of them by pretending to be something you’re not.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s