Try Coding Dear Boy
Several times a week I get an emails like, “Can you explain how Flickr does XYZ? I’m hoping there is a nice packaged solution for this.”
XYZ can be anything from “draw tag maps”, to “click in place editing”, to “scale MySQL”.
And I’m always a little baffled as to what to respond.
Until I realized what was going on.
Laziness Impatience Hubris
This is the dark side of the geek virtue of laziness.
The belief that if one just thinks hard enough, or cleverly enough, that problems will have an “elegant solution”. And by “elegant” we mean a solution that doesn’t involve much code. (elegant, such a tricky word, it can also mean writing tons of code for problems that will likely never manifest) And by “think hard and clever”, a good short cut is probably just be to ask someone.
So I’ve come up with a response that looks something like:
“We generally try do the dumbest thing that will work first. And that’s usually as far as we get. Almost everything we do is pretty straightforward, and as such is well documented around the Web, sometimes by us, generally by others. And when we do get fiendishly clever, as we do now and again, it’s usually a highly tuned (read idiosyncratic) solution for the problems we’re trying to solve.”
Method Acting
But what I want to say, in the spirit of the great Laurence Olivier on giving advice to Dustin Hoffman, “My dear boy, why don’t you try coding?”.
Duct Tape
Which is not to say I mind getting these questions, I love talking about this stuff, it’s why I do it. And it’s often amusing to give the, “This is how we do it at Flickr, no really” talk.
But at the end of the day its 0.1% compsci, 0.9% clever ideas, and 99% duct tape. (btw Joel’s The Duct Tape Programmer is a meditation in similar vein)