You might be thinking to yourself, what does music have to do with learning how to code?
Well, as a professional oboist, I have noticed a lot of parallels between studying music and studying programming.
Both require a lot of focus, discipline, and perseverance to become great.
Here are some examples of how my musical training helps me stay focused in learning how to code.
Just Get it Done
Back in college, there were times I wasn’t prepared for my lessons, rehearsals, or exams.
Instead of taking ownership for my lack of preparation I would make excuses like,
“I was busy studying for a music theory test and that’s why I couldn’t prepare for my lesson.”
“I have a big audition coming up so I was busy preparing for that.”
No matter what excuse I had in the moment for being unprepared, my oboe professor never bought it. He always believed there was enough time in the day to practice, study, and have a little bit of a social life.
So, he would often drop that famous NIKE slogan, “Just Do It.”
I would always get a little laugh about it, but he was making a valid point.
As a self-taught programmer, there are so many distractions around you all the time. It is very easy for thoughts to come into your head like,
“I really should do some more algorithm practice, but maybe tomorrow.”
“I really should get started on that new project but I am really busy.”
Most people in life do not have 24 hours of uninterrupted free time to do whatever we want. There will always be something that comes up and we just have to deal with it.
The harsh reality is that we have to stay disciplined to get our work done so we can become better programmers.
So when you are about to make another excuse for procrastination remember to get it done anyway!
Practice Makes Perfect – Or Does it?
We have all heard the saying, “Practice makes Perfect”.
Well, that is not entirely true.
My oboe professor in college would always dismiss this phrase and instead tell us “Practice Makes Permanent”.
Whenever I was trying to learn a new piece, I would get frustrated that it wasn’t getting any better. No matter how many times I practiced, it was still a mess.
But I learned early on that just showing up and practicing is not enough. You have to practice smart.
So I learned how to break things down into small chunks, slow down the metronome and work on that passage until it was right.
Once I changed my practicing habits, I started to become a much better musician.
In learning how to code, rushing through a course is not going to make you a better programmer. In some cases, you might develop some bad habits that will be tough to break later on.
It is better to tackle one problem at a time and work through it slowly than rush through all of them.
If you practice smart, then the concepts will start to make more sense.
Consistency is Key
I was one of those kids that started piano at age 7 and was really into it for the first few years.
But once I started working on harder pieces, I just lost the motivation to practice.
I was very sporadic with my practicing habits, and as a result I wasn’t getting any better. My lessons ended up being a complete waste because we were just going over the same things week after week.
With all of the hype around learning how to code at home, a lot of people dive in with an initial excitement. They will go through tutorials and build small projects from class.
But as the months go by, people start to lose motivation.
They start to code less often and eventually lose interest and quit.
In learning how to code, you have to come up with a consistent schedule or else you will never become a programmer.
You will always be stuck struggling with the fundamentals and never be able to build more complex projects.
You don’t have to put in 12 hours a day to be successful. Build a schedule that works for you.
If you only have 2 hours a day to dedicate to learning, then stick with that.
But repeating a cycle of doing 8 hours one day and then taking two weeks off will just lead to lack of progress.
Consistency is the key to learning something well.
Practice what you don’t know
During my junior year of college, our wind ensemble conductor told us something that has stuck with me ever since.
He said, “Have the courage to practice what you don’t know.”
Most of us wanted to practice music that we knew sounded good in the practice room. It was probably a way for us to feel good and stroke our egos a little bit.
But, my conductor was right.
If you don’t challenge yourself and work on your weaknesses then you will never grow as a musician.
There is so much to learn when you are just starting out as a beginner programmer. It is really tempting to only focus on the things you enjoy.
It makes sense that you want to feel good about yourself and show off what you know. But that doesn’t give you the excuse to ignore what you are bad at.
If you know you are bad at algorithms, don’t ignore them. Make extra time to work on them so they become easier to solve.
Or maybe you are struggling with recursion. It is not going to go away just because you don’t like it.
Even though it is difficult in the moment, you have to have the discipline to sit down and learn what you need to learn.