All the guys (and they are all
guys) who are defending the coding culture of abuse are engaging in delusional power fantasies. While they claim to be talking about getting the work done, they are actually engaged in an entirely different activity which is counterproductive to progress. Following are some of the erroneous claims and why they are false.
Technical expertise is a justification for hostile behavior. Just reading the statement shows how obviously idiotic it is. Just imagine that this was operational in other situations: your auto mechanic, pharmacist, grocery checkout clerk, all insulted you because you didn't know as much as they do about their work. This actually happens with police, where they can arbitrarily make a mountain out of a molehill, or vice versa, and this is one of the reasons we are seeing so much upheaval now that it's ending up on video.
Technical issues should be discussed using emotional language. Emotional language is the opposite of rational discussion, and it makes incorrect reasoning much more likely. Why engage in behavior that leads to less trustworthy results?
The person who prevails in an emotional argument has the best technical answer. Again, this is completely ridiculous. Sometimes there is no clear best solution. If the ultimate decision is based on the ability to prevail in an emotionally based environment, then the outcome is biased towards argument skill and away from technical issues. Clearly there is no correlation between being able to win an argument and being technically correct.
It's programming culture, get used to it. That's a circular argument that can be used to justify any bad behavior: racial discrimination, ethnic cleansing, rape, religious violence, by substituting something else for "programming". At best it could be construed as an unreasoned defense of the status quo in software development. Given how notorious software is for being late, over budget, bug ridden, incomplete or nondeliverable, stating that programming culture is OK is to set the bar really really low.
I personally have seen vast amounts of time wasted in useless argument. It's routine to see people fight over meaningless points because nobody was willing to back down. I've seen men almost come to blows. I have seen projects crippled because everyone was forced to take sides. There are times when there is actually technical agreement, but the fight continued anyway. I have wasted years of work time because of this kind of behavior during my career.
So what'sreally going on here? You have a bunch of guys who claim to be guided by technical excellence who are defending a culture guided by irrational emotional behavior that often delivers bad results.
There is an obvious answer: it's not really about the technology, it's about unbounded ego. The real goal is power and personal dominance. Coding is just an excuse.
This conclusion is supported by looking at the common attitude in the supportors of a culture of hostility. According to them, they are each and every one the best programmer in the room, they never make mistakes, they win by their coding skill and ability to browbeat their inferiors, and my implication they are respected and feared by their co-workers. Now ask yourself: how likely is that all these guys are that level of uber-geek? The only reasonable answer is that there is a lot of self delusion going on here. If the culture of hostility worked with all those manly programmers out there, one would assume that there would generally be a lot better software out in the world. Somehow that just doesn't seem to be happening.