Over the years, I've read my fair share of books about various aspects of software development. Some of them were bad, many of them were good — and some of them were great. Here's a list of my favorite tech-related books.
Please note that this list is by no means exhaustive nor in any particular order. I simply put together some of the technical books which I've enjoyed most and would recommend to fellow developers.
First on the list, Clean Code is an absolute classic, and I'm confident to say that it's the one book which had the biggest impact on how I write and think about source code.
Throughout the entire book, Robert C. Martin (better known as "Uncle Bob") appeals to the aspect of craftsmanship when writing code. He talks in detail about naming, formatting, commenting, designing, refactoring, testing, and a lot more. All of that is pleasantly written and joyful to read.
If you only have time to read one book mentioned on this list, make sure it's Clean Code. I honestly can't say enough good about it.
It'll make you a better software developer, I promise.
The Clean Coder
While Clean Code gives concrete advice on how to write good code, The Clean Coder (also by Uncle Bob) focuses on the human aspects of software craftsmanship.
In short, it's a code of conduct for professional software developers.
Uncle Bob goes over various disciplines and practices which a software craftsman should adhere to. Among other things, he talks about managing time, taking pride in one's work, communicating honestly, and about saying 'no' when required.
Being a successful software developer requires more than just good coding skills, which is why The Clean Coder is well worth its spot on your book shelf.
With his book Soft Skills, John Sonmez from Simple Programmer covers nothing less than the entirety of a software developer's life.
The better part of the book is devoted to tips on learning effectively, being more productive, and managing one's career path.
Besides work-related topics, John also talks about living a healthier (and ultimately happier) life, a point which resonates very well with me. I agree that it's crucial to stay in shape both physically and mentally in order to perform best when developing.
Do yourself a favor: grab a copy of Soft Skills and invest in yourself!
Smashing Book #4
Without doubt, The Smashing Book #4 is an absolute piece of beauty. You should probably buy it for its typography and design alone.
The book covers various aspects of web design, including technical topics like CSS architectures and website performance, but also design methodologies and content strategies. All experts in their respective fields, the authors created a book full of valuable insights into modern web design.
The Smashing Book #4 promises "New Perspectives on Web Design" and most certainly lives up to that goal. Highly recommended!
If you haven't read it yet, I strongly recommend you do!
The chapter I liked best, though, was Taming Threads and Timers: It lays out how the (single) execution thread deals with asynchronous operations, timers, and intervals.
Mastering Regular Expressions
The title already says it all: If you want to become an expert in regular expressions, Mastering Regular Expressions is for you. It will teach you all the ins and outs of how regular expression patterns are constructed and interpreted by various regex engines.
I realize that this book might not be for everybody, admittedly, but I like it too much for it to not to make an appearance on this list.
If you have a thing for regular expressions like I do, chances are you'll love this book.