2013-01-16

Motivation

I have struggled with the idea of motivation throughout my life. I was always told by family and friends that I was capable of great things. "You're so smart," they told me. "You'd be able to do such-and-such if only you'd get motivated." I could get in shape, I could find love, I could learn to program. All I needed was motivation.

That makes it sound so easy. You see people around you all the time who are motivated to do or attain things. They have reached, or are on the road to reaching those goals. You see the guy who is up and on his bicycle at 5am every morning to ride 60 miles. You see the guy who has his laptop out every morning at Starbucks monitoring the world financial markets. You see all kinds of people working hard to get what they want. Just do what they do: wake up in the morning and feel motivated.

I always wanted to be a computer programmer, to one end or another. And though I did genuinely desire to learn the trade, I never possessed the motivation. My friends and family told me to work at it, just keep plugging away, but I couldn't find the motivation. I used to beat myself up about it daily. It drove me mad, almost to tears. I truly wanted to be a programmer. So why, despite the desire, did I lack the motivation?

I tried telling myself I was motivated. I tried the infamous fake-it-till-you-make-it routine. I tried to feel motivated, to generate a sort of synthetic enthusiasm. I slipped in and out of periods of extraordinary effort - not effort toward learning programming, but effort toward getting motivated to learn programming. I even tried forcing myself to learn programming even without feeling motivated. This went on for no less than two decades.

But for some reason, no matter what I tried, I couldn't force it upon myself. It wasn't until after motivation finally struck me of its own accord that I realized desire and effort do not necessarily cultivate motivation.

One morning several months ago, I woke up, bleary-eyed, and gazed around the room, which was a shambles. The night, week, and month leading up to that morning had been a bit of a blur, part of a period of time I would define by its extraordinary lack of effort either to motivate myself or to learn programming. But as I came to my senses that fateful morning, I sensed that a new dawn had broken over the horizon of my life. I was going to get my ducks in a row. I was going to become a grown-up.

I redoubled my efforts as a Junior Programmer at work. I built my own libraries, not because I had to but because I wanted to know how it was done. I built very simple ones at first, of course. But I wanted to learn and grow and optimize and share and contribute. I was motivated. Not a single day has passed since then that I haven't learned something or improved upon something in my coding repertoire. Not a day has passed since that morning that I haven't spent an hour or so of my own free time learning. Sometimes more or less, but my free time is going into this on a daily basis. I am motivated.

Looking back on this motivational renaissance, I have attempted to identify the catalyst that led to the reignition of my passion as a budding programmer. I was somewhat dismayed to find that I couldn't. Perhaps to be more fair, I could speculate as to whether certain conditions in my life had performed a sort of slow-acting emotional catalysis. But I couldn't say in fairness that I did anything to motivate myself. Motivation came to me.

So if you are out there trying to figure out how to motivate yourself to learn programming, get in shape, or whatever it is you want to do, don't give up on the desire. It never hurts to practice or work toward your goals. But if the motivation doesn't come, don't be discouraged. When you are ready, life will let you know.

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.