Right now, I’m lucky to work in a great team where everybody is a wonderful human being. However, during the years in software engineering, I’ve encountered a disproportionate number of assholes comparing to other fields or professions. Does coding affect someone’s personality negatively or it’s the other way around? Do computers attract certain asocial elements, so they can put on the headphones and not talk to people? Why there are more assholes in software engineering than in real estate or food&beverage?
Machines are binary in their nature. There’s always a reason why X is not Y. There is usually a strict causality and clear boundaries: true or false, zero or one, genius or idiot. Maybe that’s why people who already have a duality mindset (Steve Jobs early in his career?) are lured into computer science. In the outside world, things are often uncertain, fluid, flexible and colored in shades of grey (and other pallets). However, in the world of functions, expressions and algorithms there is virtually no uncertainty. There’s more of black-and-white contrast, and more “this works” and “this doesn’t work”.
Another path of thought: for somebody to be good at programming, he/she needs to be comfortable with processing meaningless steps — akin to an interpreter or compiler. Indeed, any algorithm for a machine is meaningless, and often to find a bug we must follow each statement line by line. Keeping in mind the meaning of the end task only hurts the human debugger.
So in this cruel world of bits and bites, where incomprehensible labyrinths of code lead to triumphs or tragedies (with nothing in between) … put people first, please don’t be an asshole!
PS: The title really should have been “Why there are more assholes in programing vs. other fields?” But I just couldn’t resist the temptation of using something catchier.