I've noticed that doing projects is a great way to learn programming, but I often feel overwhelmed when trying to create a project just to learn how to build it. Tutorials seem to take away the challenge, and I find myself relying too much on AI for direct answers, which makes me feel like I'm missing out on actual learning. How can I effectively learn new programming skills while minimizing dependency on tutorials and AI?
3 Answers
This is a common issue today! Back in the days before all these online resources, self-learners had to rely on their own experimentation. To really learn, it's important to try things out, fail, and then try again. Tutorials often hand-hold you through the process and don’t make you think. Once you have some foundational knowledge, you should dive into your own projects without looking at the provided code. For instance, if you’re learning about databases, find a targeted tutorial that focuses just on the specific aspect you want to learn. After you've got the basics, try coding it independently before checking the tutorial.
One tip is to start with a small project idea and write down the features you want. Don’t rely on AI right away—search for specific problems instead of asking for complete solutions. This way, when you hit a snag, you can look up targeted help without being handed the entire answer. It’s about using resources when you’re stuck rather than letting them take over the process.
As someone who used to work in software engineering, I would build mini-projects to explore new features or languages. It's definitely a great way to learn! Begin with a tutorial for the fundamental concepts, and then tweak the project to make something unique. For example, if you’re following a tutorial for a to-do app, create a grocery list app instead. This approach keeps you engaged and helps you figure out the changes on your own.
Totally agree. It’s all about taking that initial knowledge and applying it creatively.

Exactly! Changing the project keeps it exciting and challenges your problem-solving skills.