It’s easy to get yourself into a mode of procrastination when confronted with learning something new. The bar is high, other people know better than you, you don’t know where to start and your early efforts are unsatisfactory. So you put it off and put it off, or maybe you dive in and try to learn all of it at once, get overwhelmed and give up.
The secret to solving this is a combination of being happy to make some messes, and a bit of “go slow to go fast”. Let’s take music as an example. When people learn to play an instrument, they want to play fast like their favorite players. But when they do that before they really understand the instrument, what they mostly do is play a mess - timing is inconsistent, they skip or miss notes…it doesn’t sound great, and, worse, they’re learning the “wrong way” of playing it so that’s what comes out even when they get more experience.
Instead, the right thing to do (if you ask essentially any music teacher) is to play as slowly as you need to to play it perfectly. That can be really slow at first - that’s ok! Going slow gives your brain a chance to really learn the motion and solidify it, and you’ll find that you get to higher speeds faster.
This is related to why kids are “better” at tech than older people. Kids will patiently poke at something, get a small bit of it to work, not be bothered by a bit of mess or mistake, and generally take their time learning the new thing, whether it’s tech, language, or music. And this very much applies to programming - it’s easy to be intimidated by complex code and to try to emulate it, but it’s far better to build simple, clean, slow code that you understand and can modify, before you dive in and try to be Miles Davis.
Go slow and don’t be afraid of a bit of mess and mistakes - you’ll get there faster.