I've started with HTML, i dont really remember how young i was, could have been around 7-8, learned from tutorials on the web.
Then i've found Scratch, which i think is really GREAT because it shows all the programming language concepts (OOP, variables all that stuff) in a really easy way, and then when you learn a real programming language it just makes you think "oh yeah, i used to do something similar in Scratch!" (at least it did for me). I used Scratch to make my own OSes, i think i had around 5 different ones, but that was back when i thought that all an operating system was a nice looking GUI
... and then i discovered Linux and the magic CLI, and everything changed.
i did a small "system" in Scratch that was inspired by Tiny Core, and it had a shell with 3 commands! "help","exit" and "reboot" which was pretty awesome to me at that time.
Then when i was about 12, i started seeing how limited Scratch is, and that while being awesome fun, its useless. And i've stopped programming. Then later, i found out that i like electronics, and got into MCU programming, so i had to learn some programming, and i've chosen C, as its the most popular language for MCUs. Then, i started wondering if i could make an operating system for a microcontroller , so i did a bit of research, and found out that they are pretty weak compared to the modern PCs, so i got an absolutely brilliant idea to make my own PC. Aaaand then i found out that i dont have the resources and 4-digit sums to do that, so i went for x86 because it is readily available. And so here i am, trying to learn C and x86 ASM and at the same time trying to do my first OS that (IMO) has pretty messed up code and its probably gonna die in a few months (has about 7 now, wow right?) and i love doing it. It also helped stopping my gaming addiction which i am really happy about. I am taking a break from OSdev for a while, and learning C++ at the moment.