I wanted to learn shortcuts. I used to have that with learning drums. I wanted to play the best solos, the most interesting and complicated rhythms. Now I have that with programming… I want to write fast, efficiently and productively. Is it possible, however, right away? I wish it was like that, but unfortunately, it took me a long time to learn drums before I started playing freely, now I play with 4 limbs and sing. Unfortunately, this is not the case with programming anymore...
I know one thing!
Gotta get my hands dirty, write code every day, get better. CSS is interesting because you write a few lines and something happens! JavaScript and Vue aren't that "fast" anymore. I will get tired, I will arrange the components reasonably, I will start writing and…... Oh, something does not work anymore 😂.
Similarities
There is a theory in music and in programming. Concepts and principles of operation. Yes, I am able to play a given piece without having to delve into it. I will code simple components in Vue, but… Deep understanding comes from delving into the field. Practice coupled with theory works best.
Do it
Do you read, watch or study courses? Well, so what? It doesn't matter, you still can't do anything. Will you learn to play by watching musicians play? If it worked that way, I would already be a senior or professional session drummer. But seriously, the most important thing is work! Combine reading notes with practising, playing! Same here, writing the letter o by letter functions. Another feature is more complex. This way you will go further. When you go forward, you become better, you understand more, you write code faster, solutions appear at the right moment. Some things start to make sense, it's still hard to do. Do you doubt your skills? Learning is a process, you pause, you make mistakes, but the elements you do well are uplifting!
Form of expression
Probably the most happening here! You play and enjoy the moment! Your self-expression tool! IDE setting, font colours, effects, sizes, lots of goodies! That's not the point, JavaScript is your tool when you type it. Whether you refactor, rewrite, embellish the code, play different dynamics, or write notes for a song, there's still plenty of room for self-expression. By writing, you show your solution to a given problem. The code is an expression of the solution to the problem.
Creativity and logic
Programming and playing an instrument requires creativity and logic. You can only focus on one or the other, but getting a project done requires both. Are you stuck with the same problem? How are you going to approach the problem from a different perspective? How are you going to play it?
The more the easier
When I practice drumming regularly, I don't realize that my playing improves along with it. How do I know that? I record practice sessions and various ideas. When I watch them, I ask myself in disbelief - "Is that how I play?" It's great when the bad times come. And it comes fast ... As long as you exercise and do it consistently, you get better. Eventually, you come to the point where you can easily do things that were once a challenge that was impossible to overcome. Attack difficult things without mercy, you will soon see how easily you use them.
Schemes
A piece of music consists of a sequence of notes called phrases. These can be the equivalent of a block in programming. There are repeating patterns, just like in a loop. Combining notes creates rich, rhythmic sounds. All these patterns and sequences, once learned, can be combined together to create very complex sounding music.
The programming is quite similar. Basic code blocks are built to create complex systems. Without patterns and schemas, code would be a mess. Without it, we wouldn't have the systems we have today.
Pieces & Chunks
When I learn a new rhythm, I read the note for note, and I play note for note. Thanks to the knowledge that music consists of simpler patterns, I learn faster.
Same with programming. Playing new songs is like writing new applications. Basic knowledge, patterns, programming sequences allow you to learn new languages, even faster learning next, more complex topics.
Summary
There are no shortcuts. Now I know that by taking shortcuts, I extend my path. I'm more patient with drums than with programming. The most important thing is to give yourself time, work consistently, learn, develop and enjoy the process.