Jun 052005
 

One side-effect of work­ing in the soft­ware world is a tend­ency to use pro­gram­ming as an ana­logy for life. Just to prove this, when people ask why I do Pil­ates I use a couple of pro­gram­ming ana­lo­gies about how the whole pro­cess works. Pil­ates is a meth­od of exer­cise which I star­ted doing after tir­ing of the way my knee would slightly dis­lo­cate when I walked. I’ve been doing it for about 2 years now and although I’ve sprained my knee since, it does­n’t dis­lo­cate any more (yes, this is pro­gress!). Any decent Pil­ates stu­dio (I go to Dianne Miller Pil­ates) will tail­or not only the pro­gram but the way it’s taught to each indi­vidu­al’s needs. I’ve seen two cat­egor­ies of teach­ing, with dis­tinct sim­il­ar­it­ies to main­tain­ing software. 

First, there’s what you might call the fix­ing bugs mode (or maybe TQM if you’re more into acronym-filled BPR ana­lo­gies). Strength­en­ing the muscles around the knees in my case, and teach­ing my over-achiev­er delt­oids not to do the work that the rotat­or cuff and ser­ratus anteri­or muscles should be doing (lots of the Pil­ates philo­sophy revolves around mak­ing muscle groups do the work, not train­ing indi­vidu­al muscles).

Even­tu­ally you’re far enough along the path that the instruct­ors decide it’s time to change everything — some­what like deep refact­or­ing, or rewrit­ing the ker­nel. So right now I’m work­ing on chan­ging the way I walk, and I’m back to doing the really basic exer­cises at Pil­ates in a dif­fer­ent way. I’ve heard people who golf a lot talk­ing about rebuild­ing their swing which sounds like a sim­il­ar pro­cess, with sim­il­ar trade-offs to deep refact­or­ing. If you don’t do it, you don’t have any major per­form­ance gains. But rework­ing the way you walk, or the way you do exer­cises you’ve been doing for two years, or a pro­gram you’ve been fix­ing bugs in for five years, can be a big under­tak­ing. Per­son­ally I think refact­or­ing pro­grams is easi­er than repro­gram­ming muscle memory — soft­ware sel­dom spon­tan­eously leaps back to the old version!

/* ]]> */