I spent 6 months learning Rails before I realized needed to learn Ruby. Ruby is a very flexible language, but that makes it hard to understand sometimes.
Here are some questions I was struggling with:
- How do I know if this is a variable or method with optional parentheses?
- What are symbols? How are they different than strings and why are they used so much?
- Where does my code even come from? Why are there no "require"s anywhere? And what is autoloading?
- How does ActiveRecord even know what attributes I have on my database table?
- Are modules even useful?
These questions had me thinking Ruby was a stupid, frustrating, awful language.
Most programming languages are designed for the computer to understand it first and humans second. I had spent my time learning Python. Ruby felt like it was full of too much stupid "magic".
Boy was I wrong.
Ruby is incredibly powerful.
All that stuff I was questioning... well that was intentional.
Ruby was designed to get out of the way on purpose. It wants you to focus on the problem, not what the computer needs. Everything about Ruby is designed to get out of your way so your code can communicate how it solves problems to other humans, not the computer.
When I realized that, my head started to explode. 🤯 You can focus on the business logic, not the syntax! This is amazing.
After years of building Rails apps, gems, and other things in Ruby, I realized I should try and compile all this knowledge into a course to save other people time.
We'll cover everything I wish I knew about Ruby when I started out as a Rails developer 10 years ago.
Since I started, I've recorded almost 400 screencasts on Ruby and Rails, built a Rails hosting service (in Rails!) and a popular SaaS template for building businesses. I've also built a handful of Ruby gems that have been collectively downloaded over 1.2 million times!
The trick to becoming good at Ruby is to understand the tools you have available.
Rails takes full advantage of these tools in Ruby to create DSLs for configuration, routing, and database querying. It also takes advantage of modules, class variables for fine tuning things, and a lot of other interesting tidbits.
In this course, we'll explore these core components of Ruby and recreate some of the features of Rails that you interact with every day.
We'll explain away the magic so you can see exactly how it works. The reality is there is no magic at all. Just some really smart use of Ruby's functionality.
This is the course I wish I had when I started. 😅
I always felt like I should take time to learn Ruby better, but I pushed it off. I'm sure you've felt the same way at one point.
Taking the time to learn Ruby well drastically improved my skills building gems, products, and Rails apps. I know that it's only going to make you a better developer.
Enough talking, let's get to learning Ruby. I'll see you in the course! 👋