Some of the best programmers that history of mankind has seen have begun as early between 8- 10 years old. For reference, Linus Trovalds started playing with computers when he was 11 years old. Let's use this as an indicative that you can start early.
Here are some must have ingredients
Have an infrastructure in place. Programming can mean a zillion things varying from selecting a few pre-written instructions to writing some on your own. So it could mean a toy, or a modern day PC or whatever but you should have access to devices/ computers that allow you to do so. Then you need (if not a good teacher) a good guide to make you head the right way and keep the general enthusiasm for creation fairly high. It may be a member of the family, friend or a professional help. All this assuming that people around you will be supportive in all this while.
The penultimate most important thing is to have a definite goal. Depending when and how you are starting (preferably in small steps) , what will your program eventually do will matter. Does it make you favorite robot fly or solve a real problem for mankind matters.
Which brings us to the final most important ingredient - sustained motivation and curiosity. Things may not work in the first go or the second or the tenth but you need to keep trying (that's where a meaningful, definitive goal helps). And if you are done, you should keep the curiosity kindled to do more to create bigger things (don't forget to baby step).
Trust me rest is simple :)