Home > Uncategorized > Depression Driven Development

Depression Driven Development

February 7th, 2009

I realized something today: legacy code is not the exception, it is the rule.

Basically, the majority of the code you will ever read, debug, or otherwise interact with is going to be crufty and stinky in some way or other. Maybe it’s because it was originally written to be a proof of concept, or maybe the original authors didn’t quite understand what the software would ultimately need to do. Hell, maybe performance requirements have changed since it was originally written. (I find it amusing that the it is effectively impossible for a Core 2 Duo processor to be limited by the number of instructions it can evaluate: in even the tightest code, it is pretty much always bottlenecked on instruction fetching or memory)

And even if you ignore all that stuff, there is no escaping reality the fact that most of every application you ever write will be built by stitching other peoples’ work together. (at IMVU, our software stack extends from DirectX, OpenGL and Python all the way to PHP, Mogile, Apache, and SQL) We have become the programmer archaeologists of Vernor Vinge’s novels.

So, considering all of the above, I make the claim that the single most valuable skill a software engineer can have is the ability to deeply understand and improve whatever horrid crap the last guy left behind. I further claim that it generally will be horrible, too, because if it wasn’t, you would not have to spend much time on it. (which is not to say that it never happens, merely that, when it does, the job is going to be done so quickly as to be unnotable)

Of further amusement is that the extrapolation of this thesis is that an engineer’s primary focus should be on skills that optimize for, well, optimizing crappy code: writing automated tests, refactoring, and so on.

In other words, I think I just reinvented Test-Driven Development, except with pessimism!

Also, I have been playing Blue Dragon. It is kind of lame so I do not think I will finish it, but it looks awesome on my HDTV.

Update: I found money in the poo! YAY!!!

andy Uncategorized

Comments are closed.