I’m sure you’ve run into it while trying to learn programming. You find a shiny new tutorial or video course and you dive in with excitement. Finally, this will be the one that sticks.

And then you hit a brick wall. The boredom kicks in and you lose focus on what you’re doing. Soon, you completely lose track of whatever it was that you were supposed to be learning and you stop the course completely, adding it to the growing pile of half finished materials in your bookmarks folder.

Losing focus is one of the biggest reasons that many students give for not learning to code. Well, they actually say that learning to program is boring. And yet they still really want to learn to program. There is a disconnect here, and a lot of that disconnect is in motivation.

First, the sad truth; first learning to program is boring. There are a lot of low level things that you must learn before you can anything useful. Variables, arrays, if statements; you can’t do much until you learn these basic concepts. But, once you learn those, the real secret to learning how to program is to program something real.

The real secret to learning how to program is to program something real.

Fight boredom through Personal Projects

The most successful students I’ve had all had a personal project that they were doing as part of their coursework. One was a personality test to see what kind of Magic: The Gathering wizard you were. Another was a calculator for a home run derby game the student was a part of. I had another student that wrote a quiz application for a self-help book they had written. Anything works as long as you are interested in the outcome.

What are your hobbies? What is something that you think would be fun, or cool, or useful. Pick a small, doable part of that and make it with whatever you know now. Don’t think about how great it will be once you know X or Y, just do it now in the simplest way possible.

One amazing thing about the projects listed above, none of them were written once and then thrown away. First, my students wrote them as little command line programs as we learned the basics. Then, when we learned SQL databases, they saved the information in database tables. When we learned web programming, they added a front-end to the code, sometimes rewriting it entirely. It’s all good! It’s software! That’s what you’re supposed to do!

So grab a project. Take what you’re learning and try to apply it to something you love and that will motivate you to do it more. (It’ll also make a great portfolio piece, like it did for my students!)

And if you can’t come up with a project on your own, send me a list of your favorite hobbies and I’ll try to come up with something that will keep you motivated enough to learn more.