The Paradox of Learning to Code: More Practice, Slower Progress

Everyone tells beginners the same thing: Just keep practicing.
Write more code.
Build more projects.
Stay consistent.
It sounds right. It feels productive. And for a while, it even works.
Then something strange happens.
You’re still coding every day, but progress slows. Confusion creeps in. The same mistakes resurface in new forms. Hours pile up, yet confidence doesn’t follow.
This is the quiet paradox of learning to code: the more you practice, the slower you seem to grow.
Not because practice is bad, but because unexamined practice locks in bad patterns.
Practice Without Feedback Isn’t Improvement
Most skills punish you immediately when you do them wrong. Coding doesn’t.
Your code either runs or it doesn’t. If it runs, you move on. If it doesn’t, you poke it until it does. The compiler tells you what broke, but rarely why.
So patterns form:
You copy fixes without understanding them.
You fix bugs by trial and error rather than by reasoning.
“It works” becomes the end of thinking.
This isn’t laziness. It’s natural.
But here’s the brutal reality: repetition without feedback doesn’t build skill, it builds habit. And habits, once set, are hard to undo.
Practice doesn’t make perfect.
Practice makes permanent.
Why Deliberate Friction Matters
Modern development tools are designed to remove friction. Autocomplete finishes your thoughts. Frameworks hide complexity. Tutorials smooth every edge.
That’s great for shipping. It’s terrible for learning.
Friction is where clarity forms. When something slows you down, it forces your brain to engage instead of coast.
Useful friction looks like:
Reading code you didn’t write
Explaining your logic in plain English
Predicting what the code will do before you run it
Temporarily turning off helpers that think for you
Ease builds speed.
Friction builds understanding.
If acquiring skills feels slightly uncomfortable, you’re probably doing it right.
Why Stopping to Think Accelerates Growth
The fastest learners don’t move faster--they pause more often.
They stop to ask:
Why did I choose this approach?
What assumption am I making?
What would break if this changed?
These pauses feel unproductive in the moment. You’re not writing code. You’re not “making progress.”
However, those moments are where judgment forms.
Coding skill isn’t about typing faster. It’s about seeing consequences earlier. And that only happens when you slow down enough to observe patterns forming.
Less motion. More meaning.
You’re Measuring Progress Wrong
Most people track progress by visible output:
Lines of code
Daily streaks
GitHub activity graphs
These metrics reward motion, not mastery.
Real progress looks quieter:
Bugs feel familiar instead of overwhelming
You recover faster when you’re lost
You can explain why something works, not just that it does
You start thinking in tradeoffs instead of correct answers
This kind of growth doesn’t announce itself. It accumulates slowly--and then suddenly, things feel easier.
A Different Way Forward
If you’re stuck, you probably don’t need more practice.
You need better pauses.
Moments when you stop moving and start observing. When you resist the urge to push forward and instead ask what your habits are teaching you.
Because mastery isn’t built through constant motion, it’s built by attention.
And the paradox is this: when you stop trying to go faster, progress finally speeds up.


Thank you for such a beautiful rendition. My personal perspective is that practice and potential feed and nourish each other - selfless process to process with vigour and vitality.
I’ve definitely confused repetition with growth before with my painting. With showing up, making marks and finishing pieces without stopping to examine what habits I’m reinforcing. The idea that unexamined practice locks in patterns feels especially true in visual work. Slowing down, sitting with decisions, even introducing friction instead of rushing toward a finished piece feels like the difference between refining a style and just repeating it. I’ve made a lot of progress in this area since reading your e-book! Thank you Idris Elijah and hope you enjoy the rest of the holiday weekend!