The letdown

February 11, 2011

The other side of my absorption in programming is what I call 'the letdown'. The letdown is what happens when I reach the end of the project, when I emerge from my trance and realize that the program is basically finished. Oh, there's polishing and refinement and cleanup and documentation, but I'm done the building. I've successfully put together what I imagined at the start, turned my dreaming and ideas and fancies into something concrete.

I've succeeded, and now I don't really have anything to do. (Certainly nothing that is absorbing in anywhere near the same way.)

When the letdown hits I always spend a while feeling blah and out of sorts. Nothing seems anywhere near as interesting as the programming was. Usually I spend a certain amount of time polishing and re-polishing the program, half trying to recapture the earlier magic (even though I can't), and then force myself to move on to something else.

The letdown in its full form is something more or less peculiar to me being a sysadmin instead of a programmer. A programmer is always programming, so they always have a next programming project on the horizon after they finish their current one. But sysadmin programming projects are relatively few and far between; once I've finished one, there is usually no more coding for a good while.

(And certainly not in the short term, because in the short term there's all of the things that I've put off in order to have the time to spend a solid week or more writing code.)

I'm pretty much in the letdown on my current project now. It's pretty much feature complete (at least for the features that it needs to have, as opposed to the ones that are kind of nifty and nice to have but that require me to learn design or JavaScript), it's been deployed to near production testing, and everything that's left is just cleaning up the corners, which is more annoying than absorbing. It kind of makes me wistfully sad.

(There is still the last thrill of deploying it to production and hoping that people like it for real, but I know that that will be transient.)

Comments on this page:

From at 2011-02-11 09:27:53:

Chris (your name seems SO familiar to me, BTW, I think from social MUDs long since dead), I'm right with you on this whole topic. For me at least I think a large part of the flow/up part, as a sysadmin, is just the act of having something to sink into with deep focus and develop it / nurture it. It's such a welcome break from the mostly focus-less and short-lived things we've become truly expert in (not challenging most of the time) as sysadmins. Ultimately though, I think it's just the pure joy of creation. It's completely analogous to the process found in non-programming creation. If you knew woodworking (or whatever), you'd find the same drive, peace, and quiet focus while crafting a nice rocking chair. Likewise, you would experience the downward swing after it was finished.

From at 2011-02-11 09:45:50:

I'll add, too, that I think the more you do the thing that gives you that high (so to speak), the less excitement a new project gives you and the less the letdown affects you. That dulling is what makes us get bored with the work we've been doing for 5-10 years, that was so interesting at first. The goal, for me, has always been to keep exploring and reinventing myself when the time is right.

Here's an example. In 2000 I owned a 1993 Mazda Protege. I had never changed the oil on my own, didn't know how, and didn't care to know how. I didn't know how internal combustion engines even worked, what the pieces were, etc. I didn't grow up in a Car household with a father or grandfather who knew anything of any significance about autos. After slowly noticing that I was driving the snot out of Mazda, and enjoyed driving it near its limits, I decided to trade it in and get a sportscar -- a Subaru WRX in 2001 (the final winner in my selection process). Since that time, because I became fascinated somehow with it, I've learned the lion's share of everyting you could ever really get into as far as modern vehicle dynamics, performance enhancement, tuning engine management computers, braking systems, and 100 other smaller niche topics like water/methanol injection and the benefits of various surface finishing approaches (Diamond-Like Coatings, micro shot-peening, etc). The journey was a BLAST. And now, with funds needing to go elsewhere, it's in the letdown phase after I've crafted my 80% ideal "program" (

It has nothing to do with programming :)

By nothings at 2011-02-12 01:03:28:

I certainly have letdown-like experiences, but they're not project-completion-based.

Often when I finish a task on a program (like adding a new feature or fixing a bug, even if it only took an hour to fix) I'll lose focus and no longer be in the zone. It can be difficult to motivate myself to get back into it, even if that was my first hour of work for the day.

Also, I've found in developing little indie games that I tend to run out of steam on them after between 2-4 days, which is why all the games I've shipped have been completed in one (long) weekend, and all the longer games remain uncompleted. (There are some that I've worked two or three (non-consecutive) serious weekends on, and some that I would poke at for a few hours every now and then, but that hasn't been enough to finish any of them yet.)

Written on 11 February 2011.
« Using Django forms with HTTP GETs
An advantage of the blog approach to web writing versus the wiki approach »

Page tools: View Source, View Normal, Add Comment.
Login: Password:
Atom Syndication: Recent Comments.

Last modified: Fri Feb 11 00:36:48 2011
This dinky wiki is brought to you by the Insane Hackers Guild, Python sub-branch.