1. I learned in the 4th grade. I built my elementary school's static website and was allowed to use the computer lab instead of attending class, as my parents had already taught me the majority of stuff through ~6th/7th grade level. It was a "gifted" classroom, and most of the students were there with me. After I built the website, I had my parents buy me a book on C, which happened to be K&R. I can't say I understood exactly what I was doing at that age (I doubt anyone ages 8-11 really has that mental connection), but I knew how to make command line programs.
2. See 1, more or less. I'd say I -really- started to learn when I built my own website in high school that started bringing in money and still does today. It was a full web application to start and I just kept rebuilding it from scratch as I learned new stuff (object-oriented programming, design patterns, etc).
3. I wouldn't really call myself a professional. I went into bioengineering and medicine, but I still program every day because it runs our current world and will for the foreseeable future. I market myself as a software engineer, but I only accept jobs I find interesting or that pay 6-7 figure salaries.
2. See 1, more or less. I'd say I -really- started to learn when I built my own website in high school that started bringing in money and still does today. It was a full web application to start and I just kept rebuilding it from scratch as I learned new stuff (object-oriented programming, design patterns, etc).
3. I wouldn't really call myself a professional. I went into bioengineering and medicine, but I still program every day because it runs our current world and will for the foreseeable future. I market myself as a software engineer, but I only accept jobs I find interesting or that pay 6-7 figure salaries.