It's possible, though I don't know you, that you're too smart to be a programmer. And maybe "programmer" is the problem. Be a _____ who can also code. Zed Shaw said it best in the final pages of learn python the hard way. Programming as a career is rarely fulfilling to anyone. But being a teacher/doctor/librarian/entrepreneur/warehouse worker/farmer/etc. that can code is a super power. I'm basically talking to myself…
This. My own suspicion is that you the OP is highly intelligent and recognizes all of these weaknesses due to his own intelligence rather than a lack of it. I can relate to some of these things in a way. When I was 15 I tried to teach myself TC++. I got hung up on pointers and thought that I just wasn't smart enough to understand them. Many years later I had somebody who helped me understand pointers and I realized t…
Actually, I think this might be an interesting thing for the OP to look into in itself.
Since in my experience, people's interest in any field tends to fall along a spectrum between 'does it for the art/sake of it' and 'does it to achieve a certain goal'.
If you're the latter, then of course you're likely to struggle with a lot of tutorials, since you don't see the value in the end result. Why would I learn about some new code organisation setup to build this dummy notes app when I have absolutely zero need/interest in a notes app? If you're that kind of thinker, you'll struggle to maintain interest in many tutorials simply because there's no real payoff for them beyond 'build some useless crap nobody needs'.
Ad it may explain the lack of interest in work too. Some people just cannot enjoy working on things they themselves have no passion for. If that's the case, the OP may be best served by looking for a company that is working on something they have a personal interest in.
As said, that doesn't make for a bad programmer (or a bad anything in any field). It just means you've got a different incentive structure to people who create stuff for the sake of it.