What is programming? Is it an art? How about a craft? I know, it's a profession, right? If your answer is that it is (or at least, can be) all of these, then it's likely that you're interested in writing computer programs for more than just an income. If you want to be a programmer who gets better with time, then there are books that can help you.
I know that reading a book is an archaic activity, but I'm OK with that. There are a lot of archaic activities that still produce good results and in the case of the books on this list, the results can be very good, indeed. The good results I'm talking about have to do with becoming a better programmer -- and I'm defining that as being better at creating better code, being better at getting a job as a programmer, and being better at ultimately becoming someone who can lead teams of programmers.
Now, there are a couple of things you need to know about this list. The first is that it's my list. I asked for suggestions from several folks (and I've given a couple of people credit for their responses) but this doesn't come from a fancy survey or any scientific process at all. These are books that, in my more than 30 years of writing code, managing teams of developers and testers, and running testing labs and operations for four publications, I think people who want to be better programmers should be reading.
The next thing to know is that I could have gone on with the list for several more entries. Three books, in particular, didn't make the list, because I thought they were just a little too esoteric, but they had a huge impact on me. I'll share those three with you if you make it to the final part of the article. As it is, there are 14 books here, but they fit into 10 nice packages, and it's my list. So there.
Finally, the order of the entries doesn't indicate any sort of ranking, though the first book (or set of books) is what I consider the foundation document for modern programming. After that, feel free to assign any ranking you'd like.
Although it's my list, I'd love to know about yours. Which book or books do you recommend to up-and-coming programmers or for seasoned coders? Which book or books had a major impact on your career? I'd love to know what the books are, and what impact they had. If there's enough interest, we might even look at putting together a reading list and some sort of group discussion.