Comment by dimgl
6 years ago
I completely agree with you. I've come to the realization recently that most people are incredibly insecure. It's funny that I find this article posted today given that this is something that I'm struggling with and was mentioned to me today.
Some of my colleagues have told me that they consider me to be "brilliant" and that they enjoy working with me, yet there are many others who tell me I can't hold a conversation with them without making them feel like an idiot or that I'm belittling them. From my perspective, I would never intentionally say anything that would cause someone to feel bad about themselves. I also make it a point to tell those I meet that I'm very blunt and if I seem confrontational it's just because I'm curious about their thought process. I see mistakes or inefficiencies as a way to learn, not belittle.
However, this never works. Some people are simply unwilling to learn or consider your solution. The unfortunate part about software development is that the actual software development is a fraction of the job and the politics make up the rest. There is no clear answer to the question of "how can I say this particular thing without someone getting offended?" because the unfortunate truth that I've found is that at the end of the day if the person is insecure or is going through some kind of emotional turmoil anything you say or do will offend or bother them. Especially if you're confident and incredibly good at what you do.
The solution that has seemed to work for me is to simply not help them unless you are their boss. If you're their boss people are more likely to be receptive of your advice. However if you're not their boss and you know they're insecure (you can learn who is and who isn't if you pay attention and practice this skill) just avoid any chance you can where you might point out their mistakes or make them feel bad unintentionally. It's unfortunate, but it's human nature.
I've learned a lot about human nature and politics in the positions that I've been in recently... I might write a blog post about it. It's incredibly frustrating how much of software development is mired with emotions.
Software without context or purpose is worthless, so an inability to relate to other humans is a net negative.
Fortunately, doing is a technical skill that can be learned; however, the desire to do so requires first abandoning both that holier-than-thou attitude making flawed inferences about other people's preferences, and the narcissistic belief in your own Socratic importance.