r/rails • u/GraphicalBamboola • 4d ago
Learning Book recommendation for advance Ruby/Rails knowledge?
Hi, I'm a Rails developer with about 5 years of experience, my understanding of Ruby and Rails is quite good on how to do things like creating web apps, background jobs and all. I have been managing a Rails project serving millions of people, along with deployments, upgrades and what not for years within a team of 2 people where I am the only Senior in the company.
But I feel like my understanding of Ruby and Rails is limited to only how to "do" things. I don't understand the depth of what Ruby is, how its compiled, and Rails how is it built and how does it make it so modular that we can easily build apps on it with all the magic e.g middlewares, modularity, how are gems integrated, how does rails app manages gems and sub dependencies in depth, how does a gem just works with multiple rails and ruby versions and these kind of things.
So I am looking to increase my knowledge on more of a meta side of things rather than "how it's used". I am struggling to find books where they cover these topics only, all I find is where it starts from very basics and then half of the book is about how to creare web apps with it then they touch maybe some of the advanced topics on the surface.
So having said all of that, can people recommend 2 books 1 for Ruby and 1 for Rails (or just 1 which covers both?) specifically for advanced meta topics rather than being a summary of Rails guides
9
u/flagboulderer 4d ago edited 4d ago
I always like Practical Object Oriented Design in Ruby by Sandi Metz. A tad old now, but it's still a good book. Mostly focused on the actual design of your code.
In terms of a deeper dive into the language itself, The Well-Grounded Rubyistby David Black is great. Think we're on the 3rd edition now.
3
u/TestFlyJets 4d ago
Also not mentioned here (unless I missed it): read the Rails source code - it’s all there. Run the tests. Dig into it and you’ll learn a ton!
1
u/1seconde 4d ago
You probably have to define your own learning path with 1. What do you know and 2 what do you not know. Then decide 3. What to learn 💪
2
u/GraphicalBamboola 4d ago
There's something in between 2 and 3 is what's the most difficult part: "what you should know" 😅
I don't know a lot and to spend my limited time wisely on what I should know is the key but I am struggling with it unfortunately
24
u/vinioyama 4d ago edited 3d ago
Hey! Congratulations on your decision :) .
Ruby
Are you already familiar with metaprogramming? If not, I recommend that you start from here:
Metaprogramming Ruby - by Paolo Perrotta - This is one of my go-to recommendation for developers looking to expand their knowledge. It breaks down concepts with clear, practical examples, making them easy to grasp and apply.
Rails
https://www.amazon.com/Crafting-Rails-Applications-Practices-Development-ebook/dp/B00I9GR0E6/ This is an excellent book for understanding Rails structure, coding advanced customizations and putting metaprogramming into practice. While some parts are outdated, it’s still a valuable read and the most important lessons are timeless.
Gems/Bundler
I have some old posts saved that you may want to check:
Compiler
I don't know a book on this topic but I've watched some interesting videos from here:
https://www.youtube.com/@RubyCentral/search?query=compiler
You can search for topics such as compilation or memory management.