There was a lively thread on proggit the other day about how difficult programmers can be to work with:
- "always trying to one up each other and prove how smart they are"
- "petty infighting and ruthless backstabbing"
- "constantly seek refuge in argument by authority, blindly quoting their favorite gurus to support their positions"
- "desperate need to believe in absolutes"
I have to admit, I am certainly guilty of pretty much all of the traits listed in the post. Some more than others, much to my chagrin.
It occurred to me that as I have gained more experience (read: got older) these tendencies have tended to diminish. I have realized the more aware I have become with the business side of the equation, ideals I was once passionate about now seem rather insignificant in the grand scheme of things (and of course with the benefit of 20/20 hindsight).
My interaction style has also changed a lot. Whereas before I would quickly jump to conclusions when I saw things that were "wrong", I now try to come up with possible explanations for why it is the way it is before flying off the handle. What I have found is that I often learn something new - if not with the code or process then certainly about the way the individual works.
So today I came across a post in The Fishbowl about a thing called the "Principle of Charity". It's a good read. Fundamentally it says be charitable to whom it is you are dealing with and assume the best of them:
- They are not idiots, brain dead or morons.
- They are honest and not trying to scam, manipulate or deceive you.
- They did their homework.
I like it! It is nice to find out about things you have a sense of but can't quite put a finger on. Getting back to that proggit thread, I wish someone had told me about this 20 years ago. I dare say my technical discussions would of been much more efficient and less aggravating had I afforded my poor colleagues the benefit of the doubt occasionally.
Charles says his challenge is to remember the principles. I think my challenge (now that I am enlightened) is how to respond to individuals who violate those principles when dealing with me. Let me clarify that. I mean to say how to respond "politely".