"The right tool for the job"

I’ve been thinking a lot about engineering values and principles lately, and one that keeps popping up is “use the right tool for the job”. I don’t think it’s a very good principle.

I have a theory that when it comes to forming an engineering culture in a team, a good principle requires some level of controversy. Otherwise, it’s too banal. If you got on your soapbox and started preaching about “using the right tool for the job”, I doubt you’d find a single person who disagreed with you. That’s because it’s essentially meaningless, and the right tool is wholly dependent on other factors. No one who reads it is any the wiser about how you approach engineering problems.

Your engineering principles should say something. Everyone thinks that you should use the right tool for the job, but what that means varies greatly.