Must-Read Books
Over the years I've read hundreds of technical books. Some of them had some great new ideas, others were great introductions to specific topics, and others had a knack for explaining some complex topic in a very easy to understand way. But in the end, which books had the most impact on me? If I had to go back and pick only a handful of books, which ones would I pick? This is that list.
If there's a book here on a topic you're interested in and you haven't read it, don't think about it twice, buy it right away and bump it up to the top of your reading queue. You won't regret it.
On the flip side, feel free to recommend to me any books you feel very strongly that should be here. I make no guarantees, but if it's a total knock-out, maybe it'll make it to this list in a couple of weeks.
Project management
|
Rapid Development by Steve McConnell
Simply put, if you're a lead or manager for any project, you must read this book.
Not doing that is simply irresponsible. This book is packed with no-nonsense advice on
how to run a project. If almost 700 pages is a bit too much, you can start
with the
Software Project Survival Guide also by McConnell. It covers the same ground but concentrates
on the "whats" as opposed the "whys".
|
|
Slack : Getting Past Burnout, Busywork, and the Myth of Total Efficiency by Tom Demarco
A new look at what it means to be really efficient and why that's not the same thing as
being really effective. Along the same lines of this book is the classic
Peopleware,
by Tom Demarco and Timothy Lister.
[Read the full review] |
|
Extreme Programming Explained: Embrace Change by Kent Beck
Even if you're not doing Extreme Programming, you should at least know what it is and why some
people are so excited about it. Considering how unpredictable game development is and how much
design, technology, and publisher preferences change from day to day in game development, any
book that encourages us to "embrace change" is heading in the right direction.
|
C++/STL
|
Effective C++: 50 Specific Ways to Improve Your Programs and Design by Scott Meyers
After you've put in a year or two of C++ under your belt, this book will singlehandedly catapult
your C++ learning curve ahead by a couple of years. Once you've memorized it you can move along to
More Effective C++ (also by Scott Meyers, of course). Incidentally, Scott Meyers is probably one
of the best technical writers I've ever had the pleasure of reading, so you'll have a great time
along the way as well.
|
|
Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library by Scott Meyers
Scott Meyers applied the same formula once again and came up with this book. Just like Effective C++, it
highlights the major pitfalls, common idioms, and recommended techniques when working with STL. Again, this
is not to learn the STL, but to take your skills to the next level.
|
|
Large-Scale C++ Software Design by John Lakos
It's starting to get a bit outdated, but it's one of the few books that deals with the real-world
issues of C++ development. Is your program starting to take too long to compile? Are you finding it
hard to separate the different sections of your code base? Then you need to read this book. Warning: This
is one heavy, slow-going book with lots and lots of content. Don't hesitate to put it down for
a while and then come back to it.
[Related article] |

















