Don’t be a technical masochist

There’s an old joke from Henny Youngman:

I told the doctor I broke my leg in two places. He told me to quit going to those places.

Sometimes tech choices are that easy: if something is too hard, stop doing it. A great deal of pain comes from using a tool outside its intended use, and often that’s avoidable.

For example, when regular expressions get too hard, I stop using regular expressions and write a little procedural code. Or when Python is too slow, I try some simple ways of speeding it up, and if that’s not good enough I switch from Python to C++. If something is too hard to do in Windows, I’ll do it in Linux, and vice versa.

Sometimes there’s not a better tool available and you just have to slog through with what you have. And sometimes you don’t have the freedom to use a better tool even though one is available. But a lot of technical pain is self-imposed. If you keep breaking your leg somewhere, stop going there.

11 thoughts on “Don’t be a technical masochist

  1. John:

    I pretty much agree. But . . . sometimes the effort spent overcoming a problem is well spent. Suppose you generally like tool A but it’s hard to do task X in it. It can be worth the effort to design a procedure within tool A that allows task X to be done easily. This is like the familiar idea of the mathematician who is so lazy that he spends two years figuring out how to do a 5-minute calculation in 5 seconds.

  2. Sure. There’s a cost to switching tools, and sometimes it’s worth pushing a sub-optimal tool a little further to avoid that cost. That’s even more true of groups than individuals because when your part of a team, your tool choices impact other people.

    But still, I see a lot of self-inflicted pain where people insist on using the wrong tool, as if there were some merit badge for doing things the hard way.

  3. This reminds me of an interview to the personal trainer of Tiger Woods in the beginning of his career. He was asked to comment on the only apparent weakness of Woods which was his bunker shot and what they were planning to improve it. He answered they never trained bunker shots because all other aspects of his golf skills were so strong that they could just focus on not getting to into the bunker at all.

  4. Thank you for putting this so eloquently. Developers in particular are quick to use a tool because it’s cool/trendy/already in use/etc instead of a better tool. It might be fun to learn a new tool or push your knowledge of an existing one. But it’s also important to accomplish the task without unnecessary hardship.

Comments are closed.