So, I figure that if this is a pretty newish blog I can post all sorts of fun genralized things like this. This is something I've ruminated on quite a bit over time, and it's something I've always thought was somewhat defining for me, so I'll discuss it. I suppose everyone has their own reasons for what they do, and this is mine. I guess I'll just sort of split it up into 2 posts. This one will be the "History" post, or how I became a programmer. I've read a lot of stories on how verious developers out there became programmers but a lot of them are written by much older, more experienced developers. These guys started in the days when to be a computer user, you had to be a programmer to some degree, so they all seem to go the same way. Either way, onwards with the actual story. How I became a programmer, from the perspective of someone born in the 90s:
I was a geeky youth, admittedly. I spent most of my childhood with no friends but a lot of books, and when I wasn't reading books I was a damn fine lego designer, if I do say so myself. Throughout my childhood, too, I was a giant experimenter. I tinkered, I played, I had science kits and all that. I was pretty much a proto-nerd, preparing for a high school of ridicule as a stereotypical movie geek perhaps. But for all of the 90s, I didn't actually even own a computer in my house.
My electronics were, of course, Video games. Show me a child of the 90s and I'll show you a kid who was madly in love with Super Nintendo, N64, and all the rest. Obviously, this meant that when a computer joined our house finally at the end of '99 or so, it was put into service as.. what else, but a gaming machine. But I didn't use it. My little brother was the computer user, seemingly, since he hogged that machine like there was no tomorrow. So, once again it didn't look much like I'd be getting a career in computers yet.
Anyways, a few years later, we did get a new computer, and this one I did use. At this point, I was becoming a social being, and the internet was integral to socialising, thanks to IM. Combine that with having a girlfriend long distance and I spent most of my time on the computer, quickly mastering it like I did most technical things. By the end of grade 9 or so, I was a moderate power user of computers (Even if I was a Windows User. GASP!) That's when I heard about a certain video game. A game that was the sequel to the beloved game I had played a few years prior. I had to have it. But my computer would never run it, and it was rumoured I'd need either a more powerful computer or an Xbox 360. So I did what any sensible technical minded individual would do.
I learned everything about computer hardware I could, and I built myself a gaming rig. This was the turning point in my computer-ing. I became good enough at computers that other people dropped my name as someone to talk to about computers. I wanted to learn more, and so I took a programming class.
It's because of this class that I chose to be a programmer. The second I learned how to program it was all second nature to me. It just all made sense, and it was the only class that had ever legitimately inspired me to do anything outside of class related to it. I went above and beyond in that class, learning whatever I could to outdo my classmates. In the end it was more a competition between me and my teacher, and in the end it inspired me to take more programming courses and eventually come to the University of Waterloo for Software Engineering.
Admittedly, looking back now at what I did in high school I feel like I knew next to nothing compared to what I know now. I don't feel like I even learned a legitimate language until I came to the University, and I'm still constantly trying to improve myself. Anyway, this got a lot more long-winded than I really intended, and a lot more in depth than anyone probably needed to know.
The tl;dr version: I became a programmer because I was drawn to the computer with a mix of video games and social life, and being a technical geek I learned programming. From there on in it's inspired me to constantly be learning new things.
Next post (and probably more interesting): Why I love being a programmer.