This is something I’ve been wondering about for a long time. Programming is an activity that makes you face your own fallibility all the time. You write some code, compile it or run it, and then 80% of the time, it doesn’t work exactly the way you imagined. There’s an error message, or it just behaves incorrectly. Then you need to iterate on it and fix the issues until you get the desired result, and even then it’s subtly wrong, and causes an outage at 3am on Sunday.
I thought this experience would teach programmers to be the humblest people in the world.
I can’t believe how wrong I was. Programmers can be the most arrogant dickheads you will ever meet. Why is that?
I totally disagree with a lot of this and encourage you to rethink how you communicate with peers.
Calling something someone made dumb is mean. Believe me, I totally get where you’re coming from and wish I could separate the emotional aspect from it but it’s just not possible. Humans are emotional beings. We make decisions based on emotions and use logic to explain them. You can’t just say something that someone made is dumb and expect it to not hurt their feelings because it “would still be dumb if someone else, even [you], wrote it.”
It is possible to critique code respectfully without losing anything. I realize you’re likely simplifying for the sake of discussion, but consider these examples, which would you rather be told?
These both convey the same message (the code is wrong and how to solve it) but one is polite. The first one is in the gray area and I choose it for that reason. It may very well be true that it is a mistake that amateurs make but saying someone made and “amateur mistake” can be degrading.
People view rude words about their works as rude works about themselves and any appeal to logic will not change that. Just say what you would say but be more polite about it.