Confidence. I have always sort of lacked it. You can see that lack brimming in every failed and aborted project I've got stashed in dusty old graveyard folders on various hard drives. Confidence and determination are not my strong points. And yet, curiously, they actually are.
Today, I took a jackhammer to the concrete of a lady's bedroom floor. She had a slab leak, you see; a pea-sized hole in a buried hot water line that saturated the dirt and concrete beneath her carpet, raising the temperature of the room about 20 degrees and giving it somewhat the aspect of a sauna. She had to sleep with the AC on, and it's still winter. (Even in Phoenix, it's "winter" and the ACs are off). So she called her maintenance super, the maintenance super called the plumbing contractor, and the company sent me and trusty ol' "Bessie" out to demolish her floor, crimp in about a half foot of 1" copper, and patch the floor up with fresh new concrete. And I did so in the space of about 3 hours.
Now, once upon a time, it was the height of terror for me to contemplate wreaking that sort of expensive damage on a residential establishment. As a fresh-faced young pipe monkey, my every thought was "what if I screw this up? Man, I know I'm gonna screw this up." A million things could go wrong: I could miss the leak by several yards, and spend the rest of the day chasing an elusive water flow through a dozen feet of apartment floor, ringing up repair bills in the thousands. I could miss the stamped warning on a post-tension slab, inadvertently cut a cable with 15,000 lbs of tension on it, and send an 8-strand steel cable slicing through 4 buildings, chopping people (myself included) in half like the carnage of some low-budget horror flick, or bringing down 3 floors of apartments in a catastrophic slab failure. I could set wall insulation a-smolder with my torch, and cause the smoke-inhalation deaths of a dozen small children. And all this, of course, can happen. But in the years I've been doing this, I've learned how to minimize the risks, I've learned how to circumvent the dangers and avoid the pitfalls. I no longer obsess about setting buildings on fire sweating a copper 90 inside an interior wall.
Now, practice and experience of course are the root of this confidence, but I think that the biggest key to the confidence I display when doing this work is the fact that it is work. It's my job. I can either stand there for six hours, lamenting the fact that I have to smash up a couple hundred pounds of concrete floor, or I can grab ol Bessie and just have at it, and hopefully get home in time to catch a couple hours of sleep before the on-call service wakes me up in the middle of the night to go out and do it all again. When you're tired and grumpy and running on short sleep, you start to take an "I don't give a damn if I bring the whole place down on my head" attitude. Now that's not to say you get careless; all your experience and practice is still there to advise you. But little, meaningless worries seem to lose their power. There is a job to do, and fretting about it is only going to lose you sleep and (maybe) get you fired.
And that, I think, is the root of my problem when it comes to programming games. I've never seen it as a real job. I've never faced an open IDE with the knowledge that I've got to pick up ol Bessie and beat the shit out of several thousand empty whitespace lines or the boss is going to go up my ass with 10 feet of 2 inch copper. And while I've got plenty of practice and experience (I've been doing it for a long time, after all) I don't have that drive to get it done, get the concrete patched up, and get home.
Something to think about, if I ever hope to turn game programming into something "real".
Many of us experience the same thing - game programming is hobby, not work, so there is the absence of external motivating factors that compel us to do it. I can make a game. I can make any game. I understand the technology and the math and the intricate dance of interdependent software and hardware systems necessary to create a top-notch, AAA game experience. But I look at all the work it takes to make one, and I ask myself why?
I honestly only enjoy a very small amount of my work as a software developer. At some point, somewhere, I had an epiphany and could see the solutions to the majority of the problems I am faced with. Ever since, implementing any solution is an exercise in tedium: since I've solved the problem in my head, and I've validated it either in whole or in part on previous projects, this particular implementation is just a boring retread. Can it be over already? I need the deadlines (and cash motive) of work to get me out of bed and whipping my own Bessie - Visual Studio, for the most part - out to tear up the concrete of an imperfect client specification.
I've had to invent all kinds of motivators for my personal projects, like blabbing widely about what I intend to do in the hope that the mortifying fear of being viewed as a gasbag gets me to actually sit down and write the code. We'll see how it works out (especially since - and I'm really fond of saying this, aren't I? - I usually don't give a fuck what people think of me!)
I think this is why I started drawing again. I haven't solved the problems before/yet, so the motivation is innate.