Monday, March 24, 2008

Expectations, insomnia, and defeat

It's 4am, and I'm in bed but not yet asleep...
Some days this happens to me - it's possible it could have to do with the concentrated Vietnamese iced coffee I had at lunch, but as that was well over 12 hours ago, it's definitely not the only reason I'm awake. I'm more than physically able to fall asleep at the moment but my mind won't let go of consciousness. The best way I can describe my current mood / predicament is by referencing the most memorable, recurring situation I encounter in my dreams. It's a situation where I'm in a hurry or trying to get somewhere for some important reason and I'm running. More accurately, I'm attempting to run, because I'm barely moving. It feels like I'm stuck in some type of thick gel and the faster I try to move, the slower I actually move. However, due to the importance of rapid movement, despite the fact that logic would dictate a different course of action, I'm still putting 110% effort into flexing my muscles in an attempt to run.

So, I've been up all night coding, chatting, reading, or doing other random crap on my laptop. Looking back or forward in time tells me that there's nothing significant that I can accomplish in however many minutes I have available tonight. And even if I did accomplish some significant task, it would cost me nearly all my productivity and motivation tomorrow. But somehow, these are the times when that type of logic doesn't prevent the frustration of running at 110% in an unknown direction, where trying harder only makes me go slower, and yet trying harder seems to be the only answer left. Is this what others are experiencing when they say they have insomnia? Being someone who falls asleep easily (usually even if I'm trying to stay awake), I don't have too much of an understanding of what insomnia is.

Perhaps the trigger for my current insomnia is from an encounter with a friend's 10 year old nephew earlier today who commented on the asteroid game I was working on in support of the class I'm teaching. He commented on a concurrency bug I was fixing and showed me the BREW game he was playing on his phone. Somehow the comparison of the asteroids game I was working on to the sophistication of the game on the tiny handheld device hit me hard. The game he's playing is an insignificant piece of code, and yet it's sophistication makes the asteroids game look completely pointless - like a toddler's scribbles vs a highly detailed painting of a master.
Occasionally, at moments such as that, I am astounded by the fact that there is good software out there. Self doubt rears it's ugly head and makes me question my own software ability... When I think about it, the facts are in my favor: I am highly productive at work, always have been in every job I've had. It's extremely rare to find someone who's significantly faster than me at any individual task. My focus over the longer term is on process, management, organization, cooperation, etc This agrees with the prevailing opinion of software literature, for example: The Mythical 5%

Having reached some type of plateau at my current job, I have been thinking lately about what my next step is on the path towards running an insanely successful software company is. It's possible that it's just to taste a bit more success on a few larger projects, so that self-doubt is less capable of bothering me. Or perhaps even just observe the development of some software that turns out with such a more visually stunning product than the enterprise middleware I've worked with for most of my career.

I really have enjoyed teaching the kids the asteroids game, and yet I can't get a small saying out of my head: Those who can't do teach. It seems to have some veracity to it.... but, I've often thought that teaching allows one to understand their subject matter at an even deeper level and should help to improve productivity. Beyond teaching coworkers, kids, etc, I spend a high percentage of my free time on the computer coding, reading, planning, etc, so there really isn't much more muscle flexing I can put into becoming a more successful software developer.

I do believe the saying that one can only realize defeat if they admit to that defeat... Perhaps the currently non-functioning answer to the effort dilemma is to realize: I am where I am, I'll eventually get where I'm going, and I will never admit defeat.

Although that bit of wisdom sounds nice, there's nothing there which my mind hadn't already realized or just isn't listening too; however, it seems that writing this entry did the trick. I can feel the blackness of sleep, with it's promise of starting over fresh in the morning, beginning to drift over me...

I wonder if I'll be running in place in my dreams...

No comments: