I've been learning Python by myself for about 3 years now and I can say that I know quite a lot but I don't really feel confident in my own programming skills and always after a while of practicing or reviewing I end up quitting because I feel exactly this.
I don't know how to explain it, but I really feel like I'm in a cycle repeating the same noob exercises over and over again.
For example, lately I have been practicing a lot PyQt but I really feel that I am wasting time when I don't learn a new concept or I don't memorize something and I need to look at my notes to remember how to do it, and also that practicing with online courses, especially with Youtube is often a challenge because the authors do things differently and I get confused by that. And when I want to learn something new the amount of information overwhelms me and I feel tired because of that.
As a Linux user I know that what I just said is stupid, because for example it is impossible to learn all the commands in the world, you just really learn the ones you use most regularly but in programming I feel that for example asking ChatGPT (or any ChatBot) counts as cheating for some reason, I don't know how to explain it.
I really consider this probably a mentality problem more than a skill problem because honestly even though I know I can I don't feel sure how to program, many times I even doubt the name of my variables or my functions.
Thanks for reading my silly post!
This is normal. Learning to not be overwhelmed with everything is part of the process. It's better to focus on learning that you CAN do something rather than knowing exactly how to do it. I have to Google things constantly, especially if I'm moving between languages.
It's also important to realize that some people who put up videos or content actually have no idea what they're talking about. I've interviewed people who were extremely cocky, got everything wrong and I find out they taught courses on udemy.
There are also multiple ways to approach most problems. I think given the amount of content out there nowadays the best approach to learning is posting on forums like you're doing now. Get feedback, discuss tradeoffs, learn to design more complex systems. Interaction and communication are a HUGE part of it that always gets glossed over.