While realms of knowledge like StackOverflow and Reddit are invaluable to solving programming issues, there's something to be said for a good coding book that not only teaches you the how but the why as well. There's a certain depth of knowledge that comes from reading an entire chapter or book on a software development concept.
If you're looking to learn more about a specific language or theory or simply grow as a programmer, pick up one of these books. They're some of our team's favorites, and you're guaranteed to learn something new.
In a world dense with quickly-written code, the art of refactoring is more important than ever. This book from Martin Fowler shows how refactoring can make object-oriented code simpler and easier to maintain. It’s been around for quite some time, as it was one of the first books attempting to demystify the practice of refactoring for the average developer. And while refactoring could easily be presented as a simple list of dos and don’ts, this book is narrated in an interesting way and filled with anecdotes that make it anything but a dry, dull coding book.
This is the book that helped bring frontend coding with pure CSS layouts into the mainstream. Before reading this book, HTML pages were marked up by slicing images and using tables. Even though it was still the early days of CSS, this book taught the correct way to layout and markup a page in HTML/CSS. If you’re looking for a step-by-step tutorial, this isn’t the book for you. But if you’re looking for a research-backed book that will impact the way you think about the web, then look no further.
This book teaches programmers how to effectively utilize Ruby to build useful apps with code that's efficient and easy to read. Metz's writing style and knowledge of programming combine to make it approachable for beginners but also deep enough for experienced programmers to learn new things to apply to their projects.
While this book focuses on the art of design in the Ruby world, many of the concepts and ideas can be applied to other languages as well. Her advice is practical for any object-oriented developer.
Sometimes when you’re programming, you need more efficiency than ActiveRecord can provide to get the appropriate data out of your tables. This book teaches basic to advanced SQL query syntax and techniques. It’s best to read this if you already have a general understanding of the SQL query language. This guide will explain how to take full advantage of SQL’s data power, taking you beyond the simple table conditions into formatting and aggregating data and beyond.
Programming Ruby by Dave Thomas, Andy Hunt, Chad Fowler
This is the ultimate book on Ruby, and the only complete reference for both Ruby 1.9 and Ruby 2.0. For anyone with basic understanding of object-oriented programming, this book serves as the perfect introduction to programming in Ruby. It’s also centered around snippet code, with a large reference section that makes it easy to search for specific issues you may encounter during projects. The first few chapters focus on the basic concepts of the Ruby language, and the rest of the book contains real-world examples for you to learn from and reference.
Kent Beck’s simple and clear style of writing makes this an excellent guide to test driven development. It’s a game changer for the way you think about testing’s role in programming. This book will guide you through a test-driven development example from beginning to end, detailing the individual steps in an easy to understand voice. Becoming proficient in test-driven development when you’ve initially learned other processes requires a shift in thinking, and this book might help you get there.
This book is an excellent, thorough read into the world of programming as a whole. While at first glance it seems like an encyclopedia of code (it is 900 pages, after all) it still contains a sense of humor that lends a personality to what could have been a pretty dull read. McConnell successfully sprinkles in humor and wisdom into a realm of practical programming knowledge. While many software engineers have heard of Code Complete, far fewer have actually read it. The lessons in this book are helpful for programmers of any experience level, who work in any language.
Sam Ruby has produced several guides to web development with Rails for each version that’s released. The latest is for Rails 5, and this book serves a purpose for both new and experienced Rails programmers. Junior devs will get step-by-step guidance on specific topics. More advanced Rails developers will be able to learn the changes and best practices for the latest version of Rails.
What are your favorite books on programming? Leave a comment below and let us know. We’d love to expand our library!