Conflict and the Engineer
I’ve often thought that Linus Torvalds went over the top with his email persona; while there is nothing fundamentally wrong with self-confidence, abuse is always inappropriate.
That being said, I am entirely on board with the contempt inherent in this quote from 2013:
I’m also not going to buy into the fake politeness, the lying, the office politics and backstabbing, the passive aggressiveness, and the buzzwords. Because THAT is what ‘acting professionally’ results in: people resort to all kinds of really nasty things because they are forced to act out their normal urges in unnatural ways.
This type of concerted sociopathy, particularly when coupled with the type of deeply seated insecurity, lack of trust, and/or technical incompetence frequently found in middle and executive management, creates a profoundly toxic atmosphere – one particularly damaging to creative personalities, which, at the end of the day, a really good software programmer tends to be.
A fundamental talent of a software developer is the ability to think outside of the box, to stand outside of other peoples’ operational context so that they can see the basic nature of a problem or need and create a solution which not only addresses it but which also integrates into the surrounding systems AND provides a framework for future enhancement / expansion. The really good software developers LIVE in that space, and do so confidently. While more socially apt software development staff may be able to present an adherence to social “norms”, very, very few of us live them 24/7. More importantly, no matter how uncomfortable it may make you feel, you really don’t want us to.
Your average software developer personality type doesn’t deal with conflict and confrontation well. If that opposition occurs with a similarly skilled person, social niceties do tend to get dropped by the wayside, as there is an implicit expectation that the shared love of operational accuracy and elegance of design will forgive any perceived hurt in the way the criticism is phrased. But if a software developer or engineering type goes to the trouble of telling you, a non-technical person – that you are making a technical mistake, you should be prepared to draw upon whatever self-confidence you can to ignore your ego and listen to the MESSAGE, not the content, particularly if you do not hold, and cannot expect to gain, the expertise and experience that person holds. It’s not a personal attack on their part.