I've programmed in one language or another, to one degrees of understanding or another since I was 5, when I typed in code from the TI-BASIC manual for my Mom's TI-99/4A.
I didn't begin to understand much of what I was doing until I was 8 and started using GW-BASIC and PC-BASIC on my Mom's Kaypro XT.
By the time I was in high school, I had dabbled in HyperCard, but mostly used VB 4.0+.
Though I had toyed with C++ in Borland C++ 4.0 in highschool, I didn't really use or understand it much until college, where the bastard C, C18 for PIC microcontrollers was taught. It was in college for my Bachelors in Electronics Engineering that I realized I could probably program in any language. (Well I'm not so good in assmebler, and any compplex ladder-logic befuddles me)
As Steve Jobs (RIP) said in a keynote "If the hardware of our devices is their body, their software is their soul." Thus I hope to combine my EE degree with my programming experience to make some cool stuff, and make some money along the way.
I'm current working on a wheeled robot that can follow body heat, avoid obstacles and feed itself when it's hungry, a flying orb copter based on a MultiWiiCopter, and assistive technology for the blind.
Oh yeah, I'm legally blind also. In case you aren't to familliar with legal types, this doesn't mean I can't see. I just see poorly compared to people with 20/20.