“Practice makes perfect” is a wily old adage. Little leaguers and amateurs of anything are sure to have been told this along the way.
Learning the syntax of a programming language is easy and can be done in a weekend. Learning all the ins-and-outs of that same language is much more tedious. The same is true with English - you can learn enough English to order food or ask for directions in cross-Atlantic plane flight. However, there are plenty of Americans who do not speak any other language, yet do not have a mastery of the tongue. Same with playing guitar. As I recently found out first-hand, so is shaving with an old-school safety razor.
Practice takes patience. The patience to sit down and do something and fail. And then fail again a little less bad. And slowly make progress towards getting decent at something. Ultimately, it's this dedication that makes a programmer able to absorb a new language syntax or a designer more adept with their tools.
Whenever I'm practicing, I now call it working on my patience!