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?

  • JackbyDev
    link
    fedilink
    English
    arrow-up
    4
    ·
    2 years ago

    I totally disagree with a lot of this and encourage you to rethink how you communicate with peers.

    Human emotions don’t belong in software development. Code doesn’t care about your feelings so neither do senior devs.

    There is a major difference in the following statements:

    > This code is dumb

    > You are dumb

    The former has nothing to do with you, even if you wrote the code. The code would still be dumb if someone else, even me, wrote it. Too many people take criticism of code as personal attacks – human emotions do not belong in software development, facts and logic do.

    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?

    • This is an amateur mistake, don’t do this. It is done properly here.
    • It is easy to make this mistake, I have made a similar mistake before, here is how to solve it correctly.

    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.