I’ve been programming, more for fun than anything, since 1981. I was 6, and my Uncle helped me learn BASIC on the Commodore VIC-20 he bought that sat on his kitchen table.
(No, I didn’t write programs like this when I was SIX. But this is my favorite VIC-20 program of all time. A random maze generator from a magazine listing in the early 80s.)
If you’re somewhere between 6 and 18 years old, programming is a tool you can have in your toolbox. Today. There’s A LOT of sensational information on the internet today. I’m looking at you, social media…
I’m fortunate to informally mentor many young people these days on their technology journey. I’m a gray beard now, so I’ve got a lot of hours under my belt and have been through more hype cycles than I can remember.
If you or your kids want to give programming a shot, here’s my advice:
1. Programming is a tool in your toolbox. It’s one of many tools you’ll develop. It’s fun if you let it be. Don’t overthink it. You get to tell a machine EXACTLY what to do. Neat.
2. What programming language you learn first DOES NOT MATTER. The top 20 modern languages today are ALL excellent. Pick one that looks interesting, or use one your friends are already using. If you have no idea, then I’d go with Python.
3. You do not need to spend money to get started. You need a way to edit text and a language (they’re free). Try these free, no-download browser options: Replit.com, Google Colab, or Trinket.io —just open and code. Or go to Python.org
4. Learn the basics first. First principles are useful in most disciplines. Data types, conditionals, loops, and arrays.
5. Immediately after you learn those basics, think of 5 small programs you want to see. These should be around YOUR interests. Probably text-based. Yes, there are probably many programs that already do what you’re thinking of. But if you were going to learn piano, you would want to get to the part where you can play simple songs to break the monotony of music theory, scales, etc. A popular idea is to enter your favorite movies or songs with ratings, then have it automatically generate your “top movies/songs of all time” list. Or a number-guessing game. Or a Mad Libs generator. Or a Simple quiz/trivia game on a favorite topic. You get the idea. Don’t try to rule the world (yet). Have fun making stuff you want to make. Many of my early programs (I was maybe 11 or 12) did simple astronomy calculations. I learned these formulas from a book while using a calculator. It’s what I wanted my computer to do, and that kept me interested.
6. Type programs by hand. Even if you’re using a book or website to go through tutorials. Typing them out will help you remember things better than copy/paste.
7. You’ll get errors and feel frustrated—that’s normal! Read the error messages (they’re your friend), web search the exact message, and take breaks. Every pro has spent hours on ‘silly’ bugs. I once spent 4 hours on a Java program that wouldn’t build. My 18-year-old intern ( I was 40) looked over my shoulder and pointed out the problem in 4 seconds. Duh.
8. Show your programs to your friends and family first. Sure, you can post them online later—try itch.io for games (fun and safe community), a simple GitHub page (looks great on future resumes, but that’s not the point yet).
9. After you’ve made 5-10 of these simple programs, then learn some more complex concepts.
10. AI is here to stay. Resist using it until you get to at least this point. It’ll become part of your toolkit too, but first things first. You’ll thank me for this if you do it.
11. Now think of a program or game (whatever) that’s A LITTLE above your skill level. Become obsessed with making this work. A pong game, a space shooter, something. You’ll find that some of that math you slept through at school will come in handy, and it’ll make your math classes a little more interesting because now there’s something YOU WANT to do with it.
12. Repeat step 11 like a dozen times. What you make should be around what you’re interested in. It REALLY does not matter what it is, as long as you want to see it work after you struggle to figure out how. In the olden days, a buddy and I got our high school statistics teacher excited for weeks with a blackjack game we made on the calculators required for the class (it was terrible, and I still have it). We made it in our spare time using some of the math he was teaching. He asked us to sit down with him and show him how to program the calculators. (We both got A’s that semester, BTW, funny about that).
Start today. Open a browser, type ‘Python hello world,’ and make something silly. You’ve got this—programming is just telling stories to machines, and your stories are worth telling.