2012-12-28

By Way of Introduction

It's time.

After years of waffling and laziness, I woke up one morning in the not-too-distant past and realized I'd found the motivation to accelerate my career as a software developer. So I talked to some friends in the industry, and placed my money where my mouth was. I started dedicating "free" time to learning and growing.

I've only learned a small amount in the last few months, but at least I'm learning. It's a great feeling, and one I want to talk about and share. Incidentally, one of the most prevalent pieces of advice I've been given is to start a blog. Voila!

(As an aside, I am also a writer/designer and aspiring novelist, so forgive the occasional digression or fit of flowery prose.)

Now, a little background for those interested. My first exposure to programming was in elementary school, around age 10. We wrote simple commands to control a robot using Logo. I was exposed to programming again in middle school, around age 12. I took a class and we wrote in BASIC. It was a blast. I coded circles around those kids.

I dabbled in BASIC throughout high school and took the odd class in C over summer breaks. Friends showed me how you could "cheat" at games by changing numbers in the "code." I realized I could change more than the numbers, I could change the behavior of the game itself. I made a couple of games from scratch on my TI-82 graphing calculator. One was a pretty impressive economy-based RPG styled game with simple turn-based combat, complete with procedural animation. It was good enough that it swept our high school campus and came back to me as a recommendation from someone who didn't know I'd made it. I was proud. I wanted to be a game developer.

I got into UCSB as a Comp Sci major. They taught in Java, a language I knew nothing about, and had us using an IDE I didn't know how to use. They gave us no guidance and expected us to think and learn on our own, taking only our weekly assignments as "lessons." This pissed me off to no end; little did I know how similar those challenges were to solving real life problems in programming. No one explained why they were making things so hard on us, so I assumed it was because the program was bunk.

I got fed up and quit the major. I still graduated, but with an unrelated degree. I'd given up on programming.

I worked odd jobs; production artist, junior translator and letterer for a Japanese comic book importer, data entry guy, BMW mechanic, whatever I could find. All the while, video games (and programming in general) still nagged at the back of my mind. One fateful day, the American economy ate it, big time, and BMW laid me off. What now?

Live off unemployment and self-teach C++, that's what now. 6 months later I land a job at a video game company where some of my friends got me an interview. 8 months later I'm scripting in Lua for a Wii game. 8 more months, Lead Mission Designer on a Silent Hill title. 6 more, assistant project manager and Lead Level Designer on a licensed 3DS movie tie-in. And finally, 4 months ago, my first gig as Junior Programmer, writing ActionScript with a little bit of exposure to C# and the Unity editor.

Still, I'd only been moving onward and upward during those 8 hours a day at the office. Only in the past couple months or so has the inspiration struck to put in some hours of my own to accelerate this process of ditching the Junior tag and achieving full-fledged Programmer status. No more meaningless Minecraft binges, no more television, no more staring into space daydreaming about having a "real job" and feeling sorry for myself. I've got a career to build.

Stay tuned.