I think you'll find a lot of us "old-timers" came from a less than traditional path into it. I got into it almost by accident. I got into a summer program for gifted kids back in the eaaaarly 80's... I was about 8 at the time... it was a program put on by UTEP to keep gifted kids off the streets during the summer and give them something to do... one of the classes I could do was Apple BASIC... sounded interesting... so I took it... the following summer I took the "advanced" class for Turtle LOGO ... Then when I got my own PC - about 2-3 years later... an original 4.77Mhz I.B.M. PC... I dug out the old Apple BASIC books from the class and set about translating what I knew from Apple BASIC to PC BASIC... I'd guess I'd have to say I got it right away, because it seemed so easy an natural for me... and I've been doing this in one form or another. Like the others I've seen a lot of changes over the years. I've taught myself ASM, Pascal, to some extent SQL, built games, programs - and this was all before the age of the internet. In high school I learned about Object Oriented Programming and polymorphism. In college, I learned C++ .... then I joined the Air Force... during training I learned more SQL, and ADA... where me another buddy figured out the secret to learning new languages... they're really all the same, they have variables, control structures, loops, etc... the trick is learning the differences... it was like a whole new world opened up for me, and now new languages "just click" ... made picking up COBOL a whole lot easier ... fortunately my first duty station was a VB shop. Several of us ended up in the same shop together and we go derrided for ending up in a click/drag/drop "cream puff" shop.... well, who's laughing now? That was nearly 20 years ago, I've successfully built a career out of VB, all the way from VB3, all the way through VB.NET. Along the way I've also learned PHP, dealt with multiple database systems, taught myself HTML & CSS, picked up C#, and embraced a side of business that most developers (at least where I'm currently at) are afraid to tread - accounting. And I mean true accounting, not the sales, total it up and add tax kind of stuff routinely seen around here... I mean double column ledger tracking... debits and credits.

To piggy back on szlmany's comment about jack of all trades... there's a comment I saw a number of years ago that I've kept with me.... "A good programmer will know a little bit about a lot of things. A great programmer will know a lot about a few things. The greatest of programmers know when and were to look things up."

Don't try to know everything... People like me an szlmany have specialized in business application... so I can't answer squat about rendering images, doing games programming, things like that because I suck at it... I know this because I gave it a shot once, and it was miserable. I was miserable. For what ever reason, I excel at listening to business problems and coming up with creative solutions for it.

It's called Computer Science, but there is also something of an art to it.

-tg