I've been using Rails since 2005. It was still version 0.12 when I picked it up to create my first startup with Y Combinator. Ruby on Rails is old. Oy, I'M old.
So it begs to be asked, is Ruby on Rails still relevant? Should new students to software development bother learning it? Should we be starting new projects with it?
My father is really good at building things. Growing up he built the fence around our yard. He built parts of our house. He built an entire basement for us to study and play in.
One thing I always noticed about my father, though, is he never replaced his tools. He had a lot of old tools from saws to hammers to everything else. I can still see that damn circular saw he'd use, and remember how I'd have to find my sister's ear muffs so I could help hold boards still through all the noise.
I also remember thinking, why doesn't my Dad get one of those new fancy wireless drills so we don't have to drag this 200 foot extension cord around the yard?
Today, I have one of those new fancy wireless drills. It sits in my closet incapacitated because its batteries are drained and won't charge anymore. I need to find replacement batteries for a drill model that was discontinued years ago. Or buy yet another drill.
Ah, I see why now.
His tools were consistent. They just worked as he expected them to. He knew them intimately. He was good and fast with what he had without introducing new unknowns into his projects.
A friend of mine, Adrian Holovaty, reminds me of my Dad.
Adrian built one of the slickest web apps you're going to find online: Soundslice. It blows your mind when you see this thing controlling sound and sheet music all at the same time inside a web page.
Plain old JS and Django are like my Dad's old hammers and saws for Adrian. He knows them inside and out. They work consistently for him. And with them, he can get amazing things done quickly.
Should you use Ruby on Rails? It depends. Is it time for you to explore or exploit?
If there's indeed a new problem you're having trouble solving with your current tools, explore away. Or if you're brand new to software development, you need to explore. You need to make choices that will help keep your career strong and resistant to the constant change. So picking up anything that helps you learn foundational programming principles like debugging, security, separation of concerns, etc. is the way to go. Ruby is still a fantastic language to learn these things with. It's also a beautiful language as far as aesthetics go.
There's a ton of blossoming interest and therefore work available in these tools. If there's nothing in your toolbox right now, those would be good to hold and examine in your hands and see if they feel useful to you.
But, if you've been in the software development game for awhile, and you're itching to build a project for a client or for yourself, it's time for you to exploit what you already have. Your most important task is getting things built quickly so you can get as much feedback early on as possible. So stop getting distracted by the shiny new things. Open up the toolbox of skills you already have and get busy.
P.S. If you need any help building software, please give us a shout. Whether it's Ruby on Rails or Laravel or React, I’m sure we can help.