Learning is fun! And challenging.
But we humans love the challenge and overcoming it, don't we? :)
Now, there's a wide variety of challenges you can have while learning when it comes to development:
- understanding unidirectional data flow
- configuring nginx
- messing with Rails associations
- ... more like it, and
- coming up with a project to build
That last one is especially cheesy!
You learn a new tech, be it Rails, React, or something else entirely. You think what you know so far clicks.
But you also know following tutorials isn't the greatest way to practice. They're cool to outline the basics, but that's about where it ends.
You have to build something, yourself, to let new knowledge really sink in.
Now, if you are reading this, you probably are not the "idea person." Neither am I!
Having ideas implies something you can't necessarily control. And boy, you don't want to sit... waiting... for an idea to come. If you are like me, you prefer reproducible systems to relying on some sort of accident.
Now, let's zoom out a bit. What's the primary goal of building a learning project? To practice your newly-learned skills and get more hands-on experience.
These are mostly about the tech. Use what you learned. You aren't marrying the project or building your business on it, so it doesn't have to be THE project. As long as it doesn't turn you away and allows you to practice while having fun — you are golden.
The secret is...
Pick an app or a website you like.
And replicate it. Start at its core functionality. Then, once that's perfected, add more and more features to it.
You may even want to open-source it on GitHub to establish a track record.
It's really that simple.
You shouldn't feel bad about doing it, either. The goal is to master your new skill, and doing a clone allows that!
While other learners are waiting for an idea or are hand-held building a TodoMVC (or following another popular tutorial), you are doing something on your own and getting, yeah, experience. All by yourself.
(If you don't know how to turn designs into real CSS, I have something for you.)
I did just that when I was learning to code at the age of 10 🙉
I still do it sometimes when I experiment with something. (It's true that I've now started to occasionally receive my copies of The Ideas Weekly)
I recently did that and made Pabla, a tool that created the super-engaging images in this very post. I wanted to play with ways to render to Canvas with React (wrote about it here). And, as I had no idea at the time, I decided to replicate Pablo by Buffer. And guess what? I just did it.
Practice, and don't let ideas slip you away!
And if you are learning React, you may find this useful: So you completed the official React tutorial. What's next?