Favouring tools is bad engineering (2018)
samjarman.co.nz
samjarman.co.nz
"You shouldn't like things" is an absolutely horrible piece of advice. Especially when presented vaguely... Especially when becoming productive in software involves displaying the grit of constantly solving small problems that arise day to day within the tools everyone uses.
Having a preference is a perfectly natural shortcut to productivity, and not a sign of poor engineering. There are dozens of other things we can improve as a community of software engineers which would actually make software better, faster, easier to debug, more maintanable.
This assertion is pure nonsense. To really believe in that, first you need to somehow believe that hard technical requirements like availability of technical features is something that does not exist.
Afterwards, it requires you to believe that different levels of proficiency with a tool has absolutely no impact on productivity.
I mean, what does the author think that "favourite" means in this context?
Even though it's important to review technical choices, let's not fool ourselves into believing that all tools are equivalent and that different levels of mastery and experience have zero impact on performance and turnaround time.
I also think it's rather unnatural to "not like" any of the tools you use in your day job. Humans are emotional beings, and so I'm going to have an emotional response when I'm forced to read a cryptic C++ compiler error. Those emotions drive me to "like" tools that give me nicer compile errors.
Sure, we can exert effort to suppress emotions, but I think there are better emotions to suppress than the feeling of enjoying a nice programming language or framework.
Sometimes you need to standardize on one tool, and sometimes you don't want to do a study on what the best tool is--you just use what you know.
Choose your battles.
It's hard to take this article seriously. The message would be better without the exaggeration and strong tone.
Heck, it's not just software tools. Some of my friends once got into a heated argument over whether adjustable crescent wrenches were ever acceptable to use. One side was saying, "Crescent wrenches just round off the nut and ruin the part in the long run," while the other side was saying, "Yeah, but we can't haul a 100-piece mechanics tool set everywhere we go."
People are going to be people. They will have likes, dislikes and strongly held opinions about their tools. Saying, "its bad engineering to even like a technology or tool" is tantamount to saying, "it's bad engineering to be human".
Yea, I too know people who have tendency to pick random stack that 2 devs are "proficent" (including him/her) when the rest of whole company has 0 experience in it
>It’s fine to dive deep and master a technology, but the best engineers or developers don’t have a tool name in their title. Senior Java Developer sounds as ridiculous as Senior PVC Pipe Plumber. The best start with the problem and find the best solution for it.
the difference is that Java's environment with all its quirks and stuff - jvm, GCs, graalvm (I don't do Java, so idk) and stuff is 1000 times more complex than PVC Pipe
I do wonder if you'd say
>Senior Linux Kernel maintainer sounds as ridiculous as Senior PVC Pipe Plumber
I do agree that the best people aren't people of one stack.
Everyone has a little bias. It's not necessarily bad or wrong.