The list author says: "First, to clear up any confusion with the title, I mean hacker in the sense of a very skilled programmer, someone very inquisitive who knows the ins and outs of computers and who believes there is a right way to write software. I do _not_ mean someone who breaks into a stranger's computer for sinister purposes. I mean "White Hat" hackers, the good guys; that's who this list is for.
In the middle of my third year of college, I switched my major to Computer Science when I discovered programming. I found I had to catch up to the other third years, so I began a quest to find how other great programmers/hackers/software engineers learned the craft. This list is the result of several years of knowledge gathered, from word-of-mouth suggestions from students and professors, and searching online through many different blogs and articles and Amazon recommendations.
As a final note, I have actually read at least parts of all the books on this list, so I am giving a personal recommendation and not just going with what people have said. I honestly believe that every book on this list will help you immensely. Because of this, I may not have included some very important books simply because I have not read them myself. If you feel anything important is missing, or just have a good recommendation for me, send me a message and I'll check it out."
"The cornerstone of any working programmer's library. If you only have enough money/time/patience for one book, this is the one to get. It will change how you code for the better. As I was reading it during school, I would apply what I'd read that day _immediately_ to a project I was working on that evening. Go read some of the reviews if you're not convinced."
"Written by one of my favorite group of publishers, the pragmatic programmers, this book sets out all the things a good hacker should know. This book goes beyond writing code and talks about subjects such as why you should use version control and the attitude you should approach solving problems with. This book is a quick read, if you want something shorter or if you already own Code Complete."
"Linux/Unix is the preferred operating system for most hackers, so you should learn how to use it even if you use Windows/Mac at school/work. Learning how to use the command line and a text editor such as vim or emacs will change your perspective about how to interact with computers. As the title (and awesome cover!) suggest, this book focuses on the powerful tools that make your life easier."
"No matter what language you program in, you need to know C. It will make you a better programmer for the rest of your life. C has been a profound influence on languages today, especially on those that choose to deviate from it. There's 2 kinds of books about programming languages. The one you usually read first is the one that describes the syntax and semantics. This is that kind of book for C."
"This is the second kind of programming language book out there, the kind of book that tells you not what but _how_ to write in a language. This book also as a bonus gives you a great history of computers and programming and why C became so popular. The real reason to read this book is that it's really funny. Don't believe me? Read the book (after the previous one) and find out for yourself."
"Once you start writing larger programs and have to start working with an existing codebase, debugging can take up a significant part of your time. This book puts all the best ideas and practices into one concise volume."
"Even those of us with good intentions have deadlines and sometimes, we write sloppy code. This book explains how over time, code grows a layer of cruft that must be periodically cleaned up, or else will devour an entire project. The worst part is, most industry programmers can't even see there's a problem, much less begin to fix it. This book will give you a huge edge over your competition."
"How often do you rename variables or change a method name? If the answer is not never, you need this book. With regular expressions, you can replace all "foo"s with "bar"s instantly, instead of having to edit each one by hand. This is just one minor example of the power of regular expressions. If you're still skeptical, I would suggest reading the first 3 chapters at your local bookstore."