Absolutely the same. Some people just naturally improve when iterating on something (for me, coding is this way) while other just stay at "incompetent" forever - for me, most other activities such as DIY, playing guitar, cooking, and so on.
I always fail to remember this when getting frustrated at programmers who don't seem to improve
I think this highlights the difference between practice and good practice. You won't get better at something by merely doing it over and over again. You have to practice something difficult or foundational to the skill with intention, using techniques that are designed to help you improve your skills.
For example, if you're trying to get better at playing drums, playing the same beat poorly for an hour probably won't do much. A technique like starting to play at a slow tempo and gradually speeding up, cleaning up the mistakes as you go, is a technique that can help you practice more effectively.
The same is true for programming. Implementing a simple TODO app, while a good intro problem to solve for beginners, is probably not going to make most programmers better or more knowledgable at programming.
> Some people just naturally improve when iterating on something
I don't know if framing it as "natural" is super helpful. I think you're right that some people stumble onto the right feedback loops for some activities. But that doesn't mean that the feedback is unattainable for others. You may have to hunt around, but it's still there. And once you find it, you can make progress on the skill.
My experience is that the most important tool that affects your success at building some skill is being mindful of your narrative around it and how it relates to your identity.
Humans naturally pick and fixate on identities. Once we feel an attribute is true about ourselves, we tend to choose behavior that reinforce that attribute even if it's an identity we don't like. If you define yourself as someone who is incompetent forever at cooking, then you will naturally overlook or avoid actions and input that doesn't confirm that.
You won't cook as often. When you do cook, you won't pay as much attention to the process or results. You won't remember the details of what you did last time (since it was such an unpleasant experience that you shut out the entire memory) and how it differs this time. Without that stuff, there's no way to actually get better.
But if you define yourself as, say, "someone who is not naturally gifted at cooking but wants to learn and is perserverant", you may find it to be a more attainable goal.
Try something random until you run out of ways to mess up.
The latter is extremely time consuming but if you get through the initial hurdles you will have a complete understanding why the "established method" works in the first place.
I always fail to remember this when getting frustrated at programmers who don't seem to improve