Here is my challenge to the beginners in the Rails community:
Make 10 shitty applications.
Make them with awkward TDD workflows, WTF code organization, and idiotic database designs.
There's no avoiding making shitty apps as a beginner. I feel like most beginners, when they fire off that "rails new" command, get hit with a feeling of anxiety because they dont know what to do. So they self medicate their anxiety not with hard work, but by opening up their wallets and buying more courses and books. After going through a course/book, they open up their terminal again, and what do they realize? They still don't know what they are doing! Back to square one! And what's even more frustrating is that they think a solution to this is buying _more_ courses! You don't need any more fucking courses. These courses may be excellent, but will never replace the real learning that happens when your write your first shitty apps. The first 10 shitty apps are unavoidable. So might as well get them over with.
I agree, but this isn’t rails specific. The only way to improve is practice. Better if you can get someone to review what you’ve done and tell you how to make it better.
Best is to have someone tell you “this is bad, but wait a month or two and you’ll see why.” Really great way to receive and understand feedback.
I wholeheartedly agree with this approach.
My recommendation to beginners is to avoid books / courses / tutorials etc, temporarily. Come up with an idea for an app you’d like to build, something you’d use, you could sell or would be of use to a client of your’s – then start piecing it together using the previously mentioned study materials.
The motivation of building something you actually need/want will get you over the hurdles of getting stuck, something that mindlessly following tutorials or courses won’t do. It also teaches you systems thinking and problem solving, which I’d class as more important in a developer than syntax knowledge.
ME! I’m in !
I would suggest instead of making 10 shitty applications, make something that you’re actually passionate about even if it’s difficult. It’s a much better motivator.
You don’t learn by practicing what you already know how to do; you learn by trying to figure what you don’t.
When your stuck on how to do something, look it up and you might discover a better way to write something you’ve already written. Re-factor your code over and over.
I was just thinking of signing up for another course. I think I’ll accept your challenge instead.
3 down, 7 more to go 🙂
This is a great idea. Does anyone have a list of projects they recommend?
I’m game.
I’m a beginner but I managed to create a web app that did what I wanted it to over the course of a weekend. Throughout the project I learned about has_many through associations, how to define variables, displaying data, and deploying with Capistrano.
You don’t have to make shitty apps. I think you will write awkward code though.
I didn’t TDD as I don’t yet know the way to test ruby code, despite using Rspec style tests in another language. That’s next on the list to work out though.
I find it way easier to learn something when you have an idea of something you want to make. I’d find doing 10 shitty blog/twitter clones dull and I’d probably just give up.
Based on my personal experience I think this is a great move if you’ve already completed 2-3 free books/courses related to Ruby and Rails. Without that foundation I feel like you’re more likely to learn bad habits and flail around a lot more than you need to while learning.
Thank you. I needed this. I’ve been flailing around for weeks (months?) after finishing the Hartl tutorial deciding *what* my first project will be. I pretty much end up writing everything off as useless, over-done, or too difficult. It’s such an easy to rut to get in to. Accepting that they’re going to be bad but what’s important is *making* them really helps.
Thanks.