Pro tips for landing a job at Umbra: books and resources

People often ask if there are some resources they should study in order to get a job at Umbra. While the final decision to hire or not to hire a person often depends on a number of factors, of which their current programming skill set is but one, I’ll attempt to give some pointers to what we look for. I mainly list books here, but I don’t mean that reading books is the best way to get hired. However, the subject matter of these books is what we work with. So familiarizing yourself with these topics will give you an idea of what it means to be a programmer at Umbra.

Solid C++ skills

We do most of our daily programming in C++. So we generally expect our programmers to be fluent in it. The best authors here are, obviously, Bjarne Stroustrup and Scott Meyers.

Data structures and algorithms

To be effective at Umbra, you need to know your way around data structures and algorithms. Donald Knuth is naturally the definitive author on the subject. Perhaps slightly more approachable, CLRS (aka. Introduction to Algorithms) is also very good.

Graphics and engines

While graphics technology develops quite rapidly, the principles and theory stay the same. That’s why “Foley vanDam” never goes out of style. Apparently there’s a newer edition too. Jensen’s Photon Mapping is another classic.

Other good ones include Real-Time Rendering, Physically Based Rendering and Game Engine Architecture.

Other resources

Other books that will make you a better programmer and human being include Code Complete, The Pragmatic Programmer and SICP.

Of course, there are tons of great blogs and other online resources out there. Here are a few semi-randomly chosen links:

Finally, reading will only get you so far. While going through many of the resources listed above may certainly be interesting and even beneficial, perhaps time is better spent actually building things instead of reading about them. That certainly impresses us more. That’s why we always ask candidates for a link to their Github account or other portfolio.

Leave a Reply

Your email address will not be published. Required fields are marked *