I was about 14 or so and bugged my parents so much about computers, they didn't buy me one, but somehow I got some books on basic. The I would "write up" basic programs on notebook paper when I was bored during class at school. My first 2 complex programs were a black-jack program and a D&D character generator program that would randomly generate D&D character stats. Of course, no graphics, just text in these programs. Then whenever I had access to a computer I would type them in and debug them and make corrections on the notebook paper. The computer would usually be an Atari 400 or Atari 800 on display at Sears or a Single TRS-80 Model I that was in my Junior High school's Math classroom.
Then when I was 15, I talked them into taking a college level programming course where I coded on TRS-80 Model II and wrote some business programs, basic stuff. Finally, I talked them into getting a Commodore 64 for me and I learned to write complex code "typing" in numerous basic game programs that could be found in some magazines at the time. The C-64 came with quite a manual and by coding all those games and looking at the "Peeks" and "Pokes" I learned about Bytes and Bits, memory addresses, the CPU functions and registers, sprite graphics, etc. I then did some Simon's basic coding of some simple games I came up with and did some assembly coding for the C-64 chip. Also got my first modem, a 300 baud, and learned about communications, uploading, downloading, etc.
Took a few more classes in high school and coded on the Apple-IIe and TRS Model 3/Model 4 and I was on a roll. Sailed through college and learned Cobol/RPG/Pascal/C and some other languages and I just keep coding in whatever seems to be in demand that someone will pay me to do and is also fun.
Been coding almost 35 years now and still keeping up I hope.