What is the best way to feel motivated to keep learning programming? by Ken Mazaika
Answer by Ken Mazaika:
Motivation is fickle. There’s another trait that’s more critical to learning programming.
Let me explain through a story.
When I was a teenager, I wanted to learn guitar. My sister was in a Ska band and their guitar player seemed seriously cool. He would perform at concerts in front of all my peers. The music they performed was awesome. And I thought it would be so cool to become the lead guitarist of an awesome band.
I convinced my parents to take me toto buy an electric guitar. I also signed up for guitar lessons from a guy who worked at Guitar Center, too.
At the time, one of my closest friends, James, also decided that he wanted to learn guitar.
His parents got him an acoustic guitar, and he started taking lessons with a really talented teacher name Laurie. He attended Berklee College of Music, and he was also a professional touring Jazz Guitarist. He didn’t need to give guitar lessons. He just did it because he liked teaching.
I jumped right into playing chords, and I could play most of the chords used in popular songs. Given that most pop songs are made up of the, I was capable of playing some cool stuff with basically zero knowledge of music theory and no understanding of what actually made up a chord.
Meanwhile, my friend James was learning at the same time and was miles behind my pace.
He was doing things like reading sheet music, which I thought was pointless. During this time, he built up a solid foundation in music principles. But it took him over a month before he started playing the chords I was playing.
But a short time later, James surpassed me. And not even by a little bit. He ended up miles ahead of me. When we would talk about music, he would say a bunch of things that I didn’t understand at all. Not only was he capable of playing pop music, but he also could play Jazz, Blues, Folk and more. To make things even more embarrassing for me, James was even composing songs of his own.
I was still playing the same four-chord songs.
I asked James about his instructor Laurie, and shortly after found out guitar lessons with Laurie were more expensive than the lessons from my Guitar Center instructor. But at this point, it was pretty easy to see why, so I convinced my parents to let me switch to Laurie.
I took guitar lessons from Laurie for several months.
He would teach me fundamentals and ask me to practice them. I would go home and play my guitar, but I couldn’t break the habit of practicing the same 4 chords I learned before. Whenever it came time to practice the new type of work that Laurie assigned me, the work that actually made a difference, I’d lose motivation to play and do something else.
Eventually, I stopped taking guitar lessons.
I never got further than the skill level that I reached after a few weeks of lessons. And it wasn’t because I didn’t spend the time playing the guitar. Because I did. I was motivated enough to keep playing those 4 chords. But the motivation was fickle.
When it came to pushing myself to learn the stuff that would unlock my potential, I lacked the discipline I needed.
Guitar remained a big part of James’ life. He went on to play concerts to live audiences. I haven’t touched a guitar in years.
Most people have probably had a similar experience.
Whether playing the guitar, trying a new sport, learning to code, or really attempting to do anything new. You’re motivated enough to reach a certain point in the learning process. But you’re unable to maintain that motivation and do things the right way, and it becomes really easy to just give up.
So, how do you feel motivated enough to not give up?
The answer is this:
Motivation gets you started. But it takes discipline to stick to your path and achieve your goals. Discipline is the mental fortitude of putting in the work that will help the most in the long term, even if there are things that you would prefer to do in the short term.
In your path of learning to program, you need need to develop the discipline to:
- Practice consistently. This is the only way to make consistent progress.
- Practice things that are outside your comfort zone. The best developers volunteer for work that makes them nervous.
- Gain a solid foundation in the fundamentals before moving onto the next thing. Learning things like algorithms, data structures, and how to perform computational transformations is essential to enabling yourself to level up as a programmer.
- Become adaptable at your craft. Technology is evolving quickly, so you need to set up the framework of teaching yourself new concepts on the go.
Learning to program is hard. And it takes time. So in order to do it, you need to turn that initial boost of motivation into long-lasting discipline.
But now that you know what it takes, you’ve got this.
So what are you waiting for?
If you liked my answer, I’d really appreciate it if you upvoted it by clicking the light blue button below.