The Arc of Learning

Hal Helms
Hal Helms
Sep 4, 2018 · 2 min read

I’ve been involved with teaching — particularly teaching people to program — for over twenty years. I’ve seen students succeed spectacularly and others fail miserably.

And I’ve seen many people who were initially attracted to programming, but never pursued it, thinking that programming was just too hard. Or was only for really smart people. Or who knew they were right-brained and everyone knows you need to be left-brained to be a programmer.

I’ve become convinced that the cause of failure is a misunderstanding of what learning is. And it’s no wonder people are confused. Here’s how Merriam Webster defines learning:

  1. the act or experience of one that learns

2: knowledge or skill acquired by instruction or study

If your goal is to go on Jeopardy, then maybe that definition is fine, but it’s woefully inadequate if you want to do something like:

  • learn music
  • learn to ski
  • learn to play a sport
  • learn to program

What all of these require is practice. Theory alone won’t do it.

Having taught hundreds of programmers, I’ve seen what I refer to as the arc of learning. You begin by being exposed to terms that make no sense. That’s followed up by concepts that are so opaque that you suspect people are messing with you on purpose. Then you’re exposed to code that other people seem to understand naturally, but which looks like artifacts of alien life.

And that’s the point where people fail. “I don’t get programming. I’m not smart enough. I’m right-brained.” No, you just failed to act. You thought that if it didn’t come naturally, there was no hope. And that’s where a misunderstanding of learning hurts people so badly.

I’m an advocate for people learning to program. I’ve seen how empowering it can be when people double their salary, when their job opportunities are vastly expanded. And I wish I could find a way to explain that the arc of learning (programming, at least) is this:

  1. You read and/or watch some stuff.
  2. You get confused.
  3. You read and/or watch more stuff.
  4. You get even more confused.
  5. You practice.
  6. You’re still confused.
  7. You practice more.
  8. You’re still confused — but a tiny bit less so.
  9. You practice more and more. And, over time, when you just refuse to listen to the thoughts that are telling you that you will never make it — that programming is for other people — when you continue to practice, the confusion clears up and all that stuff that seemed so incomprehensible initially suddenly clears up. And you think maybe miracles really do happen.

So, if you’ve ever thought about learning to program, I encourage you to do so. But accept that you’ll just be confused for much longer than you’d like. It’s OK. You’ll make it. It’s all part of the arc of learning.

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade