My minimum age would be 12-13ish.
I taught myself programming at the age of 13, on one of the first gen-gen 8bit home computers. I consider myself to have been the ultimate nerd back then. I slurped up every bit of information I found in books or magazines. So that's that.
My youngest child is 9 now, and quite the nerd as well - but for her, that still means games, Minecraft, etc. I daresay I have tried a little bit to encourage her exploring with Scratch etc., but hit little interest. Mainly because it is hard to motivate a 9yo finding a "domain" to program in - the joy in purely abstract stuff (like first data structures, control logic, etc.) is just not there for her, yet. She would be motivated by results (like, and I kid you not, "Daddy, I would like to program... can you show me how I can program my own Minecraft, next weekend"). But anything you can program today is by necessity so vastly inferiourinferior to even the simplest web game etc. they can play, that it's hard if they are not internally motivated.
For these ages, I found the Nintendo Labo series excellent, or websites like Pixel Papercraft, where they can combine child-adequate real world-world skills (working with pen, paper, scissors, etc.) with "tech". I fully expect us to upgrade to something like Lego Mindstorm or whatever gadgets there will be around when she's about 12-13. And I may introduce her to some programming using Javascript or something else which leads to immediate results (don't, also, dismiss the IOTIoT angle, i.e., Arduinos and the like - having lights blinking, etc. can be fulfilling as well; and their language is far simpler than any PC language with its plethora of libraries and special stuff going on).
There may, obviously be exceptions, and it's harder in our case because she is only starting to learn English, so all the really good resources are closed to her yet. That may or may not be a factor you can alleviate if you roll your own course, obviously.