Often times I get frustrated with the second type you describe because they seem to assume that I have deliberately (or otherwise) chosen to do something suboptimal out of laziness or neglect when often it is simply from not being a subject matter expert myself.
There is a lot to be said for not taking any shit when it comes to getting things right in a project. However, I think that the most brilliant engineer is the one who helps people who make mistakes or are not as smart/experienced as they. Implying the only reason someone would not do "The Right Thing" is because they're bad is a sort of self fulfilling prophecy.
That’s definitely problematic behavior you’re describing, there is a big difference between starting from a place of reason and moving to stern due to repeated behavior and starting with stern. The latter is the “good asshole.”
There is a lot to be said for not taking any shit when it comes to getting things right in a project. However, I think that the most brilliant engineer is the one who helps people who make mistakes or are not as smart/experienced as they. Implying the only reason someone would not do "The Right Thing" is because they're bad is a sort of self fulfilling prophecy.