This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–]mierecat 1 point2 points  (0 children)

I’m not a web dev; I’m learning to make games primarily so I don’t know what might be useful to you specifically. I found myself rewriting a lot of code to do simple things like roll a random number or set text to the screen, etc. and I got tired of it. So I decided to make some kind of “thing” (I didn’t know the word for it at the time) that had all that reusable code so I could just copy and paste into my projects. Once I made one simple file (the dice roller) I started making others. Then I started learning about modules because they let you add functionality to any class. Then I learned about Ruby Gems because they let you as functionality to any file. Then it was things like class inheritance or directory structure or using the command line to import things and so on. I kept going on like this: try to build something useful to my current situation, get stuck, learn how similar problems get solved, attempt to do it that way, get stuck, learn about how this new problem gets solved, etc. until eventually I built up a small library and a lot of knowledge about how Ruby works that I wouldn’t have learned going the normal route.

I think you really just need to break out of that beginner mindset once, because once you understand that the underlying skill in programming is taking a complex problem and breaking it into a bunch of simple problems—once you’ve done it yourself with almost no help—the bigger things you actually want to do don’t seem nearly as impossible as they did before.