Even the most skilled programmers found learning to code difficult at some point. But do not despair! Coding is a difficult skill to pick up and I’ll explain why. I’ll also talk about what you can do about it.
Why learning to code is difficult
There are many reasons why picking up any new skill can be difficult. But learning to code is somewhat unique because it requires you to use two seemingly opposing aptitudes. On the one hand, coding requires thinking through complex problems and breaking them down — heavily using your mind. On the other hand, coding is a tactile practice, requiring muscle memory and a good sense of your hands.
In my experience, students tend to feel more natural in one and struggle with the other. During office hours, I will often hear one of the following:
- “I know how to solve this problem, I just don’t know what to type.”
- “I know how to do it, I just don’t understand when or why.”
The first is a sign that the student is more natural at using their head and struggles with the execution; the second shows that a student is more natural at using their hands, but can’t always connect the movements with their mind.
Instead of focusing on your weaker aptitude — how challenges are usually overcome — I believe learning how to code requires you to lean in to your stronger aptitude and use it to overcome the struggle.
How to learn how to learn how to code
When students fall in to the first camp, my first piece of advice to them is to acknowledge that memorizing syntax is a challenge for them. Take a deep breath. Learning to code is challenging. Also, the syntax is all online!
Once you’ve broken down a problem into small and manageable parts, spend time googling each part until you have a solution. Compose your solutions together and you will eventually solve the larger problem. Along the way, you’ll start to pick up the syntax and it will become more natural to you. In the meantime, just recognize that it’s a challenge and allow yourself to struggle with it while you use your more natural aptitude to keep pace with the class.
When students fall in to the second camp, my advice to them is to acknowledge that thinking through a problem is a challenge for them (think word problems from math class). Take a deep breath. Learning to code is challenging. Also, you can just memorize it!
For now, memorize what you’re supposed to do and over time your brain will start to create patterns and associations. You’ll develop an intuition that will kick in when faced with a problem. In the meantime, just recognize that it’s a challenge and allow yourself to struggle with it while you use your more natural aptitude to keep pace with the class.
While the above is not completely representative of every student I’ve taught, it does describe many of them. Ultimately, teaching has taught me that anyone can learn to code. It is a difficult skill to pick up, but anyone willing to put in the hard can become proficient at it.