Do you know how many programming-related books have been written so far? I’m not sure, but to calm down my curiosity I’ve checked amazon.com resources for the “programming” keyword. The result for today is 224,583! Try to read them all and you’ll become a hyper-ultra-expert of programming. Of course only in theory, cause you will spend all your time on reading rather than coding so your practical skills will be in fact equal to about 0. However, a good programmer should not only code. The well-known process of self-development requires reading a lot, so I try to read something from time to time. Let me show you a list of books I think every Ruby web developer should read at least once.
I wondered if this one fits this list as it’s not 100% focused on Ruby, but the foreword by DHH tells the story: “Every developer working with the Web needs to read this book”. This one is almost 10 years old, but IMHO there is still no better product on REST today.
If you know Uncle Bob, you probably have this book. This one is also not directly related to Ruby (all of the examples are written in Java!) but this publication is an absolute essential for every programmer, not only the web devs. I really recommend owning a physical copy of this writing. You will definitely become a better programmer by sticking at least to some of the Uncle Bob’s advices.
You know you need to read this one when you look at the authors. The creator and lead developer of Ruby, “Matz”, makes a dream-team for Rubyists combined with David Flanagan, author of about 30 books on programming. This text is maybe not the best way to start your programming adventure, but sooner or later you’ll grab this one if you want to become a Ruby master. It’s worth to mention that this book covers only Ruby 1.8 and 1.9 versions, what can be a small disadvantage nowadays, but I still think it’s an obligatory position.
It’s another of the books that I personally own in paperback. No matter whether you’re an expert or just a hobbyist - this book is for you. It’s easy to read, very comprehensive and focused on all the practical things you need to know about using Ruby. I’m now reading this book for the second time I’m almost sure I will do it once again.
Sandi Metz is a very good, funny and comprehensive speaker and she writes things the same way. The book helps to understand the real meaning of object-oriented Ruby and how to implement it in a real world. Her idea and the way she described the objects and methods based on a regular bicycle, is just amazing. This book draws you in like a good action novel. One of my favorites!
When it comes to programming, sooner than later you have to start refactoring and this publication seems to be the best on this aspect in Ruby. Some time ago I found a quote somewhere on the internets, it was something like “If you want to start implementing innovations in your company, start reading what Martin Fowler wrote 10 years ago”. And I completely agree with that! I think every programmer should take a look on the authors’ blogs. All of them.
To be honest all the RoR developers I know have walked through this book at the beginning of their programming journey. Hartl’s tutorial is a very solid start for every RoR developer. It provides a great reading/coding balance and covers almost all the topics you need to know to start. If you want to be a RoR dev, reading this book is IMHO as normal as eating breakfast in the morning.
The famous “Rails Way” is not only a title, it’s a large set of methods that helped (and still helps) Rails grow so fast. Thanks to that you can make a simple app up and running in a few hours instead of days or weeks. Most of these techniques that made Rails so popular are described in this book. If you’re starting your Rails dev journey - this is a good point. If you are looking for some alternatives to implement in your model/controller - you can find the answer here. In my opinion “the Rails Way” itself (not the book) is not the best idea for all your projects, but reading this book will help you understand what’s built-in the framework.
When it comes to refactoring your Rails controllers - this book is priceless. The author shows some techniques that will help you to organize your controllers better and to make your code cleaner. I am not using all of the techniques described by Andrzej, but it’s definitely worth to know that you have much more options beyond “the Rails Way”. Want to be a better Rails developer? Read this book.
“Rails Antipatterns” is a great collection of techniques everyone should not make use of. I found so many things marked as antipatterns in this book in my own code, that thought I should jump into the volcano and stay there for a year with this writing. Then try to go back and start learning to code in Rails from the beginning. Fortunately, it was a long time ago. Of course - the point of view on patterns and antipatterns depends on you and your way of coding, but try to read this book and find nothing similar in your code.
Noah with his book really helped me to understand the more in-depth functionality of Rails. By building your own micro-framework based on Rack with a tiny bit of Rails functionality I’ve grasped what is really going on under the Rails hood. Despite that this one is not for beginners, I really recommend you to take a deep look under the cover.
The Ruby super-hero Jose Valim shows you the dark deep Rails inside in this book. He uses the framework in a much more advanced way in this book, so before choosing this one please make sure you have a solid background in Ruby and Rails. Creating your own renderer is the very first chapter, so… yeah, do not read that as your first RoR book.
Do you think something’s missing on this list? Let me know!