It is always disheartening to walk away from a heated conversation. After having it happened to me in both professional and personal life, I took a long time to think about why is it difficult to have conversation with me. Through a lot of observations and seeing how others talk, I finally figured out one dang good reason why: programmers are too used to rejections.
Every hour a programmer spend on work, there are a good dang amount of messages that says you were incorrect. It could be a compiler error, a run time error, service time out, or whatever other hundreds of reasons. Being constantly bombarded with messages that "you are wrong" is a fact of life for us. However, that is not so with any other profession.
An accountant, from watching my girlfriend, may have a lot of places where things can go wrong as well, but they have very limited ways of checking correctness. Error can go unnoticed for a couple days. Doctors are rarely told they are wrong even though they have the burden of life. Maybe when patient dies or sues, but frequency isn't multiple times in an hour. A cook may never be told his cooking sucks until no one comes to his restaurant anymore. The list goes on, other professions are rarely told that they are just straight wrong and there is absolutely no negotiation about it at all. They do not have to face the harsh reality that failure at every other step is an absolute norm.
So talking to programmers is harsh to be frank. We are quick to see possible faults because seeking for reasons why a bug exist is our job. This makes us appear very pessimistic, although really, we just find it strange being confident without testing first.
Another extended reason is that programmers are ready to dig deep to find out the root cause. This is natural for us so that we can fix a bug successfully. Additionally, We are also curious about how others fix something. We really like to turn all the stones.
However, that is not how most others operate. More often than not, people like an idea purely because it sounded nice, not because it is logical. This is why advertisers spend enormous amount of time coming up with a tag line; "Make America Great Again" remember?
More importantly, people do not usually explaining their choices in detail, unless they are lawyers. Being precisely logical in conversation is far from normal. Therefore when asked why, others feel an amount of pressure greater than we programmers anticipate. Others feels they are defending themselves while we are just curious. Now I realized this, I often explicitly say I am just curious to my girlfriend so she will not feel like I am questioning or doubting her.
There are a million reasons why a conversation failed. I think these two aforementioned reasons are probably the most elusive while super influential. Programmers are trained to approach problems differently, because what our world is a cold and hard-facts determined one. There is zero room for negotiation and barely any ambiguity. In order to succeed, we have to constantly withstand the depressing waves of rejections and be exceptionally meticulous about the cause of anything. This combination make us deviants to have conversations with, but we can fix ourselves just like how we fix bugs all the time.
If you found this helpful, please feel free to drop a like, leave a comment, or follow me.
Top comments (26)
I'm not sure you're describing a reality here. I think communication is difficult, period. When I see non-programmers discussing, or non-programmers with programmers discussing, or programmers with programmers discussing, it's always the same problem: they define the terms differently, they have different expectations, they don't listen, and they're sure they have the "truth".
It's because you're not living in Germany :D
Definitely not here in America XD.
Yeah communication is difficult period. Just wanted to add some insight for perhaps why programmers may have a small niche of problems in this. Otherwise it'd be just a regular and already-beat-to-death type of article.
For me it is different. I do not like correcting people. When we had pod meetings in my school we would do group coding. Sometimes one of the group members would start coding and make blatant errors, but for some reason I would feel bad for correcting them. I guess I didn’t want to make anyone feel bad. I would just let someone else call it out or see if they catch it first
Definitely don't like making people feel bad, but at work feeling sometimes have to come second. I have had several instances if I didn't say something we would be stuck at a problem while on a tight schedule.
I'd say generally it's better to speak out on something than not, at least it means you are paying attention to the topic.
I can definitely understand that. I guess it’s different for me because I haven’t been in the work setting yet
I've let a lot of thing pass by unsaid with my product manager as well. he often asserts why there is a problem with our app even though he doesn't spend time coding the app.
I just let him say whatever he wants because most of the time what he says have zero ramification and it's really not worth busting his chops.
The concept of pair programming actually depends on one person questioning the other, catching each others errors, and offering opinions as a means of increasing quality.
Daaamn. This made me think about how I'm sometimes regarded as pessimistic or a devil's advocate cuz I'm all in to see what might go wrong rather than what is likely to go right. Plus the explaining of why or why not take a given choice is somewhat automatic for me when talking with someone about decisions.
I think communication may come difficult as it is, but it surely has its own for each of us in accordance with our lives. Interesting point. Thank you! <3
you are welcome :D I do that all the time just like you, so now I just let a lot of things pass without bothering.
This should be "is far from the norm" instead. It's not abnormal to deviate from the defacto-standard. Qualifying behavior of high technical people as not normal is derogatory, especially because this norm is based on loud and popular opinion.
I don't think it's bad to be not normal. If we are just like the average joe, then we should be paid the average joe's salary and be replaceable by some random our boss meet on the street.
Thanks for this insights. Now I understand why a course leader was mad at me. I organized a scrum course for my colleagues and me (around 30 people) but at some point the course leader just totally snapped and got mad at me for "frustrating" the class by constantly asking why things were done a certain way and what would go wrong if we did not do it like that. He thought I was at the course against my will. Little did he know that I was the initiator....
I had a very similar experience with my lead too! It was one of the moments that made me think I need to find out what went wrong exactly.
is that bad? thinking of the side of programmer i see it as a really good thing :D
it's pretty bad when your not-as-technical boss gets annoyed easily because no one else ever doubts him ... or your girlfriend who's thinks you just don't trust her XD
ahhh the "issue" with the girlfriend.. the worse it gets the more logical i get and it spirals out of control :D
classic!!!!
Imagine combining that with a scientific background 😆😁
that is exactly me lol ... I am a biology major with interest since childhood. Drives my mom crazy sometimes XD
Same here: also originally a biologist (evolutionary behavioural biologist, how about you?).
was just a physiology graduate then i jumped ship to web dev immediately XD I didn't want to be in a lab or study more to become a doctor... so i had to find my way out somehow.
I agree with the fact that us programmers are used to the constant criticism but this doesn't mean we are entitled to do it with others. Interesting topic, great post.
Oh yeah we aren't entitled. Doing that constantly just makes someone an asshole.
It's more for the instances when I randomly finds something that doesn't make sense to me and ask for clarification. People can get embarrassed real fast since they never thought about it until then.
An interesting assertion. How do you test it? :) Seriously, now, I never thought about it that way. Warrants further introspection.
I didn't think about it this way until I consistently see people having problems replying when I ask why. It's always weird to see people's shock face when they were so confident just a word ago.
I really do think a lot of times people don't actually think about why they do or say something.
Alternate titles:
"Why Conversations Are Difficult With * SOME * Programmers"
"Why Conversations Are Difficult With Certain Personality Types Regardless of Profession"
hashtag: broadbrushmuch?