I almost feel as though it was a kind of Steve Jobs's "Connect The Dots" thing for me. [1]

Let's see, I can say that the earliest I was ever exposed to programming was when I was 12 years old. The online game Neopets was huge between a few friends and I, and I wanted more Neopoints (currency) than them. So, through tooling around on the internet I found a message board with a small user-base that wrote programs to take advantage of Neopets and the way their HTTP handling was done (that's how the game worked back then, this is circa 2002/2003). But, by just joining and registering you weren't given full access to some of the best programs, specifically one known as an autobuyer. This autobuyer would refresh the marketplace shops and, through a text file of known high-value objects, refresh and buy those items that you could resell for up to 10,000x markup. But the only programs I had access to were low-hanging fruit ones - ones that let you play some of the games without opening your browser. The only way to access the coveted autobuyer was through contributing to the community, both through posts and your own programs. So I downloaded Visual Basic and wrote a program that went to several pages within Neopets, that just by going and submitting an HTTP request returned Neopoints, sometimes netting in randomly high amounts. I called it "Dailies." By doing this I was granted access to the holy grail of Neopets cheating. Needless to say I abused the autobuyer, and a few months later my accounts were banned, I started to hit puberty, and stopped caring.

Fast forward a few years, and I'm making websites for myself and friends. These weren't great, I just used Macromedia Fireworks in the same vain that people use Adobe Photoshop today for the graphics (that's right, Fireworks wasn't an Adobe product back then), slicing up pages and "coding" them up using HTML. This led to making some phpBB forums for people/myself so I naturally learned about graphic assets and the modularity of them as it applied to the web. Then I stopped creating them, and started posting through various bulletin boards around the web. No more coding again.

Let's jump again (a short hop really) to high school. In my Junior year, I took a C programming class, and I don't really remember liking it too much. It was mostly int, string, ++ and x+=2 syntax, and a the beginning of loops. It was fairly boring then, so after I got a B in the class - I stopped again.

Now, fast forward to a year and a half ago - my second senior year of college. A couple friends and I enjoy going out to get drinks, and wonder why there's no app that tells the best specials in our area, let alone any specials. We decided to make it, and I started really LEARNING programming. I started from the basics again - I knew what if,else was and what the most basic types were. I had to google the type that took decimal numbers. 3 months later, I coded the app up and we had it in the App store. This was what really got me into programming. My work. My creation. It was in the hands of thousands of college students at my University.

From there, I haven't stopped programming. I have 6 apps on the app store, 6 more in various level of completion. Some won't see the light of day - and hopefully some will blow the doors down on other similar apps in their market. I have a full-time job developing iOS apps at a research group through the College of Engineering at my University - and the only person with a BA in Art hired there. I like to think my idle creations are more extensions of my art than anything else - explorations through curiosity.

Pardon the long story, but that's how I became a programmer. And that's where I am today.

-------

[1] https://www.youtube.com/watch?v=UF8uR6Z6KLc