The F5 High

A while back, my good friend and MAAB cohort Loren Goodman sent me the following. I was hoping he’d start his own blog and post it (and other stuff) there. But he’s busy working on other things these days, so I doubt he’ll get to the whole blogging thing anytime soon. So I offered to post it here rather than have it sit gathering virtual dust. Enjoy.

Update: I got the timeline wrong. Loren sent me this and I offered to post it. He didn’t ask me to post it originally as I originally wrote. Sorry about that, Loren.

The F5 High

Hunting and farming in the next generation of software development

A little while ago I was having an intense discussion with a colleague of mine Scott Colestock while we were both out at Microsoft.  We were discussing the ever present need some developers have to build things themselves instead of looking for something to leverage or using an off the shelf product.  After we were postulating a couple of off the wall, overly judgmental and holier than thou theories behind this phenomenon, Scott said something that really hit home and opened my eyes to an interesting explanation of what might really be going on.  He offhandedly said maybe it is not about ego or fear of less than adequate solutions at all; maybe it is actually bout the F5 high instead.  The F5 high… hmmm have not heard of that one.  What is the F5 high I asked him?  The F5 high, you know, that feeling you get when you hit F5 in the development environment and something happens.  Come on, admit it, It feels good.  As I took in the idea, I realized that he was totally right, it does feel good, it is a sense of accomplishment, it is an ultra quick hit, and more importantly, it makes us want to do it again.  This simple button and the rote process wrapped around it is a gateway to experiencing indisputable proof of our own creativity.  So to some extent, we are able to become our own dealer, dolling out small packets of that near harmless drug called satisfaction whenever we want.    So after this grand near religious realization of our true essence and this new found understanding behind that very special little key, we moved back on topic and continued our discussion about architecture.

Later on I was replaying the discussion between Scott and I with another colleague of mine, Jon Tobey.  Jon is one of the most avid fisherman I know.  Right in the middle of my F5 story, just when I thought mans greatest revelation had been already been achieved, if you can even imaging anything greater, he proceeded to add yet another improvement to the growing theory.  He took the F5 high concept and explained it in the context of fishing.  As a sportsman, fishing is about the hunt, it is about the building feeling you get when there is a bite and the exhilaration that courses through your veins as you attempt to catch and reel in the unknown trophy on the other end of you line.  In the case of fishing, we don’t even keep the fish, we throw it back for reuse.  Considering that we return the fish to the pond or stream from which we caught it, fishing is clearly much more about the rewards of the process and not about the value proposition of the actual fish.

If we approached fishing trips like software projects there would be some very strange consequences.  Firstly, we would have to keep everything we caught – even if it is not a fish and even if we did not catch it.   Then we would bring them back to office and try and probably have to cram them though the little slots on the sharepoint server or something.  Reusing fish would be dramatically less fulfilling, we would just take the dead fish, somehow work a hook into its mouth, throw it across the floor, and then yank the rod with excitement on a par with a kid on the traveling carnival merry go round.  Then drag the lifeless fish corpse across the floor by reeling it in until it reached the end of our rod.  Take it off and throw it back across the floor, repeat.  Man, that sounds exciting doesn’t it?  So where does that leave us?  Right now we have a very smelly server closet and a bunch of drug crazed developers yanking dead fish around the office hoping to somehow score an F5 fix while wondering when fish serialization technology will reach the point where the rehydrated fish are slightly more exciting.  They are all very excited about the new social network called FishTank 2.0 where anyone can reel in anyone else’s dead fish.  This does not look good – I must need a quick hit of F5 – {F5} – crap, well not so exciting, it turns out that F5 in word fires up the find and replace box and I remain unfulfilled.

So it appears that good developers, aka hunters, need to do some fishing every once in a while to keep the monotony of eating fish every day in check.  For when this get too far out of balance, the devs usually start using the project managers as the fish and the requirements of the project as the river.  They bait the project managers and try to yank them off the page and into something new, something that will give them that F5 fix they so desperately need.  When the PMs tell them NO, they might go to the users, a different company, who knows?