News

Third Basket Sydrome

Written by UI-Staff

Every time I get stuck on a problem I remember an apt analogy an old colleague used to make.  It's based on a grocery store visit.  You're just grabbing a few things, so you pick up a hand basket as you're entering the store, but the top basket is wedged into the one below it.  The baskets are stuck, and they're just not going to come apart.  You pull and you pull and nothing seems to separate them; it's frustrating.  Meanwhile, the solution was literally right in front of you: you could've just grabbed the third basket from the pile and gone ahead with your shopping.  Your focus was fixed on the immediate problem, blinding you to the broader goal and its context. My friend calls this the "third basket syndrome" and programmers get into it a lot – I have to fix this problem I've encountered no matter how frustrating it is instead of the more pragmatic I'm going to drop this blocking problem because there are easy alternatives available to me.

I think this is one of the differences between software development (which I love) and system administration (which I do not love).  With software there is always a detour around the problem at hand.  You change the data model a bit and the API suddenly makes sense. You ditch the poorly factored code and start over from scratch with greater understanding of the problem.  You dig around the internet and find an existing library written by somebody who's already worked through this issue.  With systems problems – be network or machine related – you're just stuck.  You can't bypass a broken web server because a broken web server means you're site doesn't work, period.  If the database server is down on your development machine that you're not going to be working on dynamic apps.  If the internet is down at the office (which it happened to be as I started writing this) you can't make forward progress on the code you were writing, which happened to depend on a web service.  I have said it before and still believe it, Systems Administrators should be like plumbers or prostitutes: available in short shifts at very high rates,  whenever and wherever they're needed.