http-window-punkave-com-wp-content-uploads-2009-01-monkey-230x300-jpg
January 28th, 2009

Exactly when is it time to be awesome?

If not now, then when? If not today...

Ah, but hold your horses there pardner.

Back in the day, you did the same darn thing over and over. That was before you knew better. Back when you were a dumbass. You've sworn off that stuff.

Now, the very first time you do something, you're tempted to say, "I'm going to make sure I never have to do this again! I'm going to make sure no one ever reinvents this particular wheel again!" And you strive to make your work as thorough and reusable as possible.

Then you actually finish that first project, and you find out that what you built totally isn't what the client wants after all. No, in the real world they want an entirely different set of gimcracks, accessorized with sprockets you never imagined. And you've sunk a day and a half into doing elegantly what you could have done adequately in half an hour.

"Yeah, but I did the noble thing! And I learned something." Well, yes, you did learn something, but don't pat yourself on the back just yet.

There's a time to do something perfectly, universally and beautifully, setting a cosmic standard for all time. And there's a time to say "gee, I've never tried this before. Let's try delivering what the client actually asked for, going a few rounds with them and learning a little more about the true nature of the problem before we make it perfect forever."

I've written before about the DRY principle (Don't Repeat Yourself). And an excellent principle it is, in many fields of endeavor, not just software. But a word of caution is in order: when you haven't done something before, keep the DRY rule on the back burner. Build that first practical implementation for that first client project. Only then, when you know it works well and meets real-world needs, should you try to lay down the law once and for all on the subject.

In short: if you want to be a zookeeper, start small. Get a monkey.

Check out another article
January 22nd, 2009
IDES 322: Techniques Studio
By