Web design lessons from an angry carpenter

As it turns out, common sense applies to web design! Who knew?

Earlier today, JavaScript performance guru extraordinaire Nicholas Zakas wrote a note on his personal blog about his admiration for the notorious chef Gordon Ramsay's leadership skills. While Zakas didn't relate this directly to web development - although he could have, as what he describes applies to any work involving more than 1 person - it made me think of a somewhat related pseudo-religious experience I had some months back, that definitely made me a better web programmer. 

In Sweden we have a public service TV channel, funded by a mandatory fee from all households. They don't have to show commercials or pimp themselves to whatever popular trends seep across the pond, so the content is to a big part made up by highbrow cultural home-produced programs. Since I'm a snobbish elitist academic and all, this channel is where I spend most of my (not very extensive) TV time.

But for reasons long forgotten, I one day strayed from my safe state-sanctioned pen into the wilderness of private, commercial-funded television. And not just to any channel, I ended up in front of the worst of the worst: Kanal 5, a really cheesy plastic channel showing absolutely nothing but reruns of pop-culture american series. In the few cases where they do produce their own material, it has to be piggybacking on some very safe popular trend, so as to guarantee that they meet their minimum quota. And right now my poor country is plagued by a home-styling craze, which the commercial channels are falling over themselves in the rush to capitalize from. 

Argasnickaren

So what I ended up in front of was Kanal 5:s attempt to cut their piece of the home-styling pie, a program that according to all laws of nature should be not just awful, but downright hellish. So imagine my surprise when Arga snickaren turned out to be not just not mediocre, but really really good! The concept of the show is really simple - the angry carpenter (which is what the title translates to) visits families whose house renovations have derailed, and helps them to get back on track. He does this both by contributing know-how and a big-ass team to do the work, but also by fixing the families' social relations, which inevitably are either the cause of the standstill or severely damaged by it.

Much like what Zakas appreciated about Ramsay, the angry carpenter accomplishes all this by letting the residents know what they're doing wrong and where they're fucking up. In other words: by yelling. Laziness, stupidity, failure to plan and lack of skill pisses him off no end, which he makes sure to make his surroundings aware of. Still, his outburst are always justified, and inevitably helps the poor target to step up his or her game and get closer to the goal. At the end of the show, the families all worship him for having set them straight, even though he did this by harassing them incessantly for a whole week.

Now, a geek through and through, I really don't care much for home styling, probably because it exposes me as both impractical and lacking in taste. Still, whether due to the angry carpenter's undeniable charisma or the love and professionalism with which the show was put together I don't know, but I found myself glued to the screen, loving every second. The biggest reason for my fascination, however, was that almost all of the lessons he knocked the poor family fathers over the head with could be directly applied to my web development work.

In that first show I stumbled into, Anders - that's the angry carpenter's name - was berating a man with some severe priority problems. "So", he said to the harrowed man. "You decided to rip out the only livable room in the house, in order to make a sauna". "Yes", the man feebly responds, shuffling his feet. "And you did this", Anders relentlessly goes on, "even though you DON'T HAVE A FUNCTIONING KITCHEN!".

Immediately I thought of the project I was currently working on, and suddenly Anders is leaning out through the screen, adressing me: "So, David, you've spent all your time on this project thus far on trying to refactor your classes to use a meta-tastic factory factory pattern, reducing the total code size by 5% and increasing the ninja factor by 500%.". "Yep", I smugly responed, even though I definitely should have seen what was coming: "Yet you still haven't written a single line of code concerning the main infrastructure, meaning that come Wednesday when you're all to showcase your progress so far, you'll be sitting there with a bunch of fancy generalizations of NOTHING WHATSOEVER!". 

This process has been repeated every Wednesday at eight in the evening ever since. Every time he delivers some common sense words of wisdom to make right some renovation gone wrong, and every time I find an equivalent digital mistake of mine in recent web work. That poor dude in episode five should have matched his ambitions to his budget (and probably skipped the digging of a new basement just to be able to fit a huge jacuzzi in), and I should have matched my web site's planned feature set to the timeframe available to the project. Every week, almost without fail, Anders' hammer-and-nail advice to the houseowners translated to JavaScript dito to me.

So, what's the lesson here? That pop-culture television can sometimes be worth your while, even if you're a culture snob? That a kitchen is actually more important than a sauna, even if you've wanted one ever since you finally left your mum's place? That might all be true, but the real lesson for me was that common sense applies to web development. Probably that's _very_ obvious to all of you, but somehow I've always seen our craft as this somewhat esoteric art form that's above all that, a perfect blend of aesthetics and logic, where both halves of the brain need to be in full working order if you are to prevail, etc etc blah blah. That you still need to be pragmatic about it, as you do with any craft, I've remained blissfully ignorant of. I chose to focus on the ninja aspects, opting to forget that you need to be a peon too. 

But ever since the angry carpenter straightened me out, I'm making sure give the plow more time than the nunchaku. Meaning I actually plan my work and prioritize not _only_ according to how many guru points I'd score. Although the occasional maybe not totally life-savingly necessary refactoring does still sneak in. At times.

Posted by David Waller 

0 comments

Leave a comment...