Self taught. I'm not an expert programmer but when I was 13 I got very deep into Visual Basic for a year (though it's not a language I would recommend), I do a fair bit of Javascript now, and I intend to get into PHP.
Formal training can certainly be helpful, but the best way to learn programming is to do it. It'll take you time to write several significant programs and learn from your successes and failures with them, but that personal experience will be far more useful and reassuring than thousands of pages written by experts. Get interested in programming, and do some because it's fun (being a geek isn't necessary, but it helps

). Talk to other programmers and read other programs -- that's gotta be more important than any book or training course. I don't personally enjoy school, but of course putting in the years at a college will give you access to some jobs that require credentials, and it'll give you a deeper understanding of the field.
Is there a particular programming language or development field you're interested in at the moment, Wilso?