DEV Community

Discussion on: What does "using the right tool for the job" mean to you?

Collapse
 
thormeier profile image
Pascal Thormeier • Edited

I tend to use this phrase when I describe my tech stack to emphasize that I'm not fixated on a specific framework.

Maybe I can best explain what I mean by that by first explaining what it means to me to use the wrong tool for the job.

Building entire ecommerce platforms with Wordpress, for example. Yes, there's plugins, and no, they're not nearly as well maintained, flexible or modern as Shopware. Wordpress is an amazing piece of software, don't get me wrong, there's a reason that a large part of the internet runs on Wordpress still, but it's not meant to be used as an ecommerce platform. I've also seen people using Moodle as a CMS. Works, but Wordpress or Drupal would've been a more sensible choice. Every library, framework, language and toolkit is meant to solve a certain, often very specific, set of problems. A tool is the wrong tool, if its core set of solved problems overlaps minimally with the set of problems you're trying to solve. "Solving a problem" is also by no means a boolean state, more of a spectrum. Some tools solve the same problems, but in a different quality. I often use the "hammer, screwdriver and nail" metaphor for this: You can sink a nail in a wall with a screwdriver, but the hammer works better (believe me, I tried), because it was designed to do that. Also, you can probably hammer in a screw, but the screwdriver does a much better job. If you need to fight the tool to get your problem solved, that's when you use the wrong tool.

What's the right tool, then? As per my set theory excursion above, it's the tool whose set of solved problems overlaps most with your set of problems to solve, in the best way.

Collapse
 
amiamigo profile image
Ami Amigo

Lovely! ...The best tools are the ones designed for the job...and the do that one job perfectly! No need of hacking! They just do the job