Making the right tool for the job

A while back I came across a post where a developer took code that ran in 5 days and shortened it to 15 minutes. My immediate reaction was to treat it as “I was doing the wrong thing, so I stopped doing that and did the right thing instead.” But it wasn’t so simple. The developer clearly wasn’t an idiot.

When someone writes a new thing, I default to assuming they’re bad at Google or would rather spend their time writing unnecessary code than doing the thing they’re ostensibly trying to accomplish. That’s not always the case, of course, but I’ve found it to be a sane default over the years.

But in this case, the post’s author clearly thought through the problem. The tools he had available were unsuitable, so he made a new tool. It works on a much narrower set of problems than the existing tools, which is why it can be so much faster. But it’s not so narrow that it will only work for this one time. It’s a good mix of general utility and specific utility.

Leave a Reply

Your email address will not be published. Required fields are marked *