First what made you decide to start programming. Did you have a moment that really solidified the decision and to aside time to start learning something that the average person has little interest in?
Secondly, Why do you program? I realize that all of my work is done in a virtual world that has little impact on the real world save spreading fleeting moments of wonder, frustration and happiness.
Thirdly, has the time you've spent honing your skill cost you anything in any concept of time or intangible things?
Finally, why have you chosen to learn the programming language(s) that you know?
1. I started programming in the mid 90's. QBASIC was my first language. At the time I had not "decided" that I was a programmer. At the time I was just tinkering with it to see what I could make it do. I wanted to learn more so I asked my high-school technology class instructor if he could help me learn more. I was turned down and very discouraged. After that I didn't do any programming for a few years.
A few years had passed, and I was a hard-core gamer. I played Unreal Tournament non-stop and had a passion for computer hardware, and building pc's. My friends at a lan party were talking about how games were coded in different languages. That discussion that night had reminded me of my time with QBASIC and planted a tiny seed in my mind. A few weeks afterward I was browsing my local Hastings store, looking for new games. I came across a box, with a particularly scary looking monster on it, in bold print on the front of the box it said "DarkBASIC".
Here is a picture of this box.

I quickly snagged the box, and walked over to the books section in Hastings, and sure enough I found this...

Needless to say, I bought them both. Along with a copy of a game nobody has probably heard of, Firestarter. An excellent fps game I might add! After I started working my way through this book I was hooked. DarkBASIC and that book were what solidified my decision for programming.
2. In short I program for fun. I enjoy seeing the fruits of my labor. But, now for the longer and more complex answer ...
There are a few reasons why I program really. One is, I like making my own utilities. For example, I have coded and use my own audio player. Second is, after I have been programming for so long, doing anything else seems intellectually stale. I get bored easy when I'm playing games, or things like that ( I still pay tons of games, don't get me wrong). I enjoy the mental challenge of writing software. Third is most complex of all. I have always enjoyed playing independently developed games, especially lately they seem to be getting better and better. I would like to develop my game engine and perhaps get in the business of professional game coding. That probably makes me sound like a sell-out, and for that I am sorry haha! But in my mind, to contribute to the professional independent dev "scene" will help it to grow stronger. I like the idea of buying a game for 10.00 from a friend, or a group of real people who are not millionaires.
3. One failed relationship sadly. I was with this girl for 4 years, and somehow it all fell apart. Of course it is not only due to my programming and computer habits, but I definitely know it is something she did not like about me. Now days, I think I have struck a perfect balance! My girlfriend is fine with me coding for long hours, as long as I don't babble technical details to her haha! She to spends long hours at her computer.
4. I started with DarkBASIC, after that I took on c++. I did come C++ professionally for a year or so. Out of boredom, I came across Basic4gl, then shortly after that I found this nice community haha! Also I got a book for xmas

I am planning to buy a copy of Blitz3D.