Started programming when I was 8 using basic.
Things have changed a lot since then, but one thing probably hasn't:
The best incentive I got to continue learning how to program was my ability to impress others.
I would develop screen savers (Lines floating on the screen, lines being drawn randomly on screen, ball bouncing off the edges of the screen, flying into a star-field as the stars move away from the center of the screen), and show them off to my friends and family.
I would develop a small game (spaceship moves up and down to avoid hitting incoming asteroids) - I'd show it to my friends. Let my brothers play the game.
These were the type of rewarding tasks that led me to keep on learning and experimenting.
If you're doing Python - I strongly recommend "Inventing computer games with python" https://inventwithpython.com/
Using pygame, you can get really quick graphical results, and start showing off some awesome things.
I even built a Tetris game based on pygame a while back when I was learning python myself.
Also - if you're doing turtle programming, check out http://pythonturtle.org/ - an awesome implementation of turtle graphics for python.
That matches a lot of my experience. I created a bunch of those lines floating on the screen which never failed to impress classmates who didn't frequent the computer lab and were stuck doing "write a program to calculate compound interest".
My neatest trick at that point was to make a 'fake' pre-loader where the progress bar showed a fake percentage with a cool graphic. My next 'impress project' was build a menu in QBasic
where you could use the arrow keys on the keyboard to graphically move the highlighter on a menu. Almost everyone else at that time was doing menu selection pressing the number of the menu item. At that point I thought of it myself since there wasn't any internet in our lab so I still feel really good about it :) It also got me a spot on our school programming team primarily because no one else did the menu as quickly as I could then.
I'd like to think that I'm an interaction designer today partly because of the feedback and enjoyment I got out of doing projects like that.
I agree with you since I had a very similar story with computers. Some day my brothers and I discovered the computer had something called QBASIC and it had a few games, which we then noticed you coudl change and totally mess up. And it had a HELP that explained everything! And it had a way to do prettier graphics than what NIBBLES.BAS and GORILLA.BAS had! Eventually my older brother found the QBASIC compiler and we kept copies of that floppy just in case some failed.
When I got older I did a few things in C, but didn't get the chance to go too deep much into it because when I started university at 18 I pretty much stopped programming for fun, until my graduation project began and I got in touch with Python.
I would develop screen savers (Lines floating on the screen, lines being drawn randomly on screen, ball bouncing off the edges of the screen, flying into a star-field as the stars move away from the center of the screen), and show them off to my friends and family. I would develop a small game (spaceship moves up and down to avoid hitting incoming asteroids) - I'd show it to my friends. Let my brothers play the game.
These were the type of rewarding tasks that led me to keep on learning and experimenting.
If you're doing Python - I strongly recommend "Inventing computer games with python" https://inventwithpython.com/ Using pygame, you can get really quick graphical results, and start showing off some awesome things. I even built a Tetris game based on pygame a while back when I was learning python myself.
Also - if you're doing turtle programming, check out http://pythonturtle.org/ - an awesome implementation of turtle graphics for python.