Is there a good age to start introducing stuff like this to kids? My niece is 7 and seems to have the personality that would be perfect for a programmer.
But I don't want to rush her into stuff like this when she's still a kid who should be having fun.
I was thinking around ~10 would be the ideal time. But I'm not a parent and know little about kids and childhood development.
The main thing is exposure + motivation. I learned to program about age 8 (not well, mind you, but that's when I started) with BASIC. We had a Tandy 1000 at home, and math textbooks had BASIC listings at the end of sections/chapters at the time (late 80s, early 90s). I was motivated to try the things out, my dad provided me access to the computer (showed me how to get to the command prompt, launch BASIC, open, save, and edit files, and run programs). He didn't do much beyond that (he hadn't programmed in 10 years or more, in college), but giving me access was the critical element.
If she's not interested in the motivating examples, like I was with the math-based examples, then she likely won't stay interested or engaged. So find something that she's interested in and can write her own programs (or program extensions) for. It could be more game-like stuff (controlling a character or bot on screen and having it do something), simulations, drawing (think Logo's Turtle Graphics or fractals), or something more physical (arduino + LEDs or servos controlling something).
And don't pressure her. Once she has access, and knows she can ask for help, if she's interested she'll pursue it. If she shows some interest but has little self-motivation, maybe keep providing little widgets or gizmos or games and inviting her to help out, but only occasionally.
But I don't want to rush her into stuff like this when she's still a kid who should be having fun.
I was thinking around ~10 would be the ideal time. But I'm not a parent and know little about kids and childhood development.