After googling, I found that there is a daunting amount of different courses to get started learning Web Development: tutorials, blogs, books, and boot camps.
I've been in that situation before. It's daunting and needlessly complex. There are so many different choices that it becomes easier to do nothing than untangle it all.
The reality of the situation is simple:
If you want to learn, then build.
This is how I'd go about starting that today, starting with my favorite free resource for learning Ruby:
The Odin Project
https://www.theodinproject.com/
The Odin Project is a free online platform where users mostly read through blog posts, articles, and tutorials on their way to learning Ruby. I feel comfortable recommending it to beginners because it is completely free, plus they have a foundations course to get you acquainted with basic web development topics.
TOP's Foundations track includes HTML, CSS, Basic JavaScript syntax, and 3 projects to cement your learning.
After Foundations, you have the opportunity to continue learning Fullstack Javascript or switch to Fullstack Ruby on Rails. I of course recommend Rails, but they are both free, so have at it.
Fullstack Ruby on Rails covers Ruby, Rails, JavaScript, Database connections, and even has a path for getting your first job as a developer. There are many projects: A blog, a Reddit clone, and a capstone social media platform project where you'll build Facebook.
I recommend TOP to everyone interested in programming. If you're able to stick it through with a course like this, you'll make it.
It can, however, be a bit daunting to have to read through every single lesson. People prefer to learn in different ways. As such, I've included a Udemy tutorial for people who prefer video.
The Ruby on Rails Masterclass
https://www.udemy.com/course/the-complete-ruby-on-rails-developer-course/
This Udemy course will take you from initial setup to building your own Ruby apps.
For the most part, Percival's course covers things that are covered on The Odin Project, but it does come with its own unique sets of projects for learners to build out: A real-time chat app, a stock tracking app, and a more feature-complete SaaS application.
If you're more comfortable with video over text, I would recommend the Udemy platform due to its strong knowledge base and great courses. It's also affordable, and you can always find courses on sale.
One fair note, however, is that frequently the tutorials can be out of date, so it may be easier to learn something like Rails 5 than Rails 7. This is not to any detriment, since you can always upgrade and figure out the syntax for new features later.
For myself and for people I've mentored, we've found that a combination of this Udemy course and The Odin Project has been more than enough to build your Rails chops and to get a portfolio together for your first role as a developer.
If you are already a bit more advanced, or chomping at the bit for harder tasks, keep reading. This next tip was only given to me years into my career and it's so simple I wish I did it sooner.
Read Rails code on GitHub
Rails is an open-source framework written in Ruby. You can see all of the code that is used, for free, on GitHub.
https://github.com/rails/rails/
This is the most daunting of the above options, but a recommendation to anyone familiar with Ruby syntax.
Going through and understanding line-by-line how each of the most popular classes work can be an incredibly insightful experience.
I was initially given this task by one of my first Rails mentors. I thought he was ridiculous. He was right. I was wrong. And I should've done it sooner.
Some functionality I'd check out if I did this exercise again:
How do models work?
How does Rails store files and serve them to people?
How does ActiveStorage work? What does .find do?
Especially now that we can use AI to read through the documentation and help explain the code that we see, I recommend this step much more firmly.
Read Rails and take notes.
Every developer should see how the magic is made.
Final Notes
Learning is hard. Building is hard. Sharing is hard. That's why we need to do it. If you pick up any of these resources and slowly dig at them over time, you will succeed in becoming a developer.
If you're on the fence, let me know what concerns you have!
If you've forged your way through this path, what did I get wrong?
Thanks for reading!