Fred is an asshole. Having said that, when talking about Fred, the people who report to him are hugely reluctant and scared at using that word to describe him.
During my consulting days at a client, who for the purposes of this post we shall refer to as Multiplitaxion Inc, the people who work with Fred seem constantly stressed out and unhappy.
Then in a conversation with one of the testers in Fred's team I stumble upon the reason why Fred is commonly perceived as an asshole by everyone who works with him. I am told that Fred "uses his logic to classify everything that he sees in black or white".
Using your logic and seeing things in either black or white, is usually your first step towards prickdom. It is your first introduction to the problem of other minds and nudges you to believe that everyone you are talking to is either a lying scumbag or a mindless zombie.
Consider for example, a tight situation in your project.
A situation where the sky is falling.
Your team are really trying hard to get a the data transformation feature rolled out to a client as quickly as you can.
You walk up to your manager to tell him that the data transformation service is going to take about three weeks to build.
He looks at you like you just dropped a dead rat on his table.
What follows is a 'logical' argument where he uses pressure and intimidation along with simple logic to question you why you think parsing a simple file is going to take three weeks.
You know why it will take three weeks to build but suddenly you find it difficult to explain the reasons articulately. Your throat dries up a little. There is strange awkwardness in the moment created by the intimidating look he is giving you. You fumble something to the effect that the file is not a structured CSV file to which he responds that we have formatted non-structured files in the past rather quickly. You respond that this one is complex. He questions you why.
Very soon, before you know it, you are playing the cat and mouse game where he is the cat and you are the mouse. It feels like you are defending yourself rather than having a real pragmatic discussion on timelines. It feels like you are being cornered. You know deep down inside that the file is complex but you suddenly start finding it really hard to explain why it needs your time and attention.
What your manager is busy doing, is finding out if you are are lying scumbag or it is genuinely going to take three weeks. As far as he is concerned, these are the only two possibilities that can exist. Things are either black or they are white. Not to mention of course, that he is starting with the assumption that things are black and that you are in fact a lying scumbag, unless you prove to him otherwise.
The reality of things however, lies somewhere in the middle. Chances are that the file parser will take about two weeks to write and about a couple of days to test. Chances are that if you are done early you will also ship early. Chances are that you are not lying, just keeping a couple of days because you know that shit happens when you least expect it to happen.
Things are neither black nor white. They are a totally different color and any other color to your manager means black. He has already stern investigation, cross examination and deposition all rolled into one.
You have proved yourself in multiple projects and multiple assignments. You have demonstrated your work ethics more than once. You stand there answering questions, wondering why your integrity, skill or gut-feeling is being doubted. And then, suddenly you hear a voice in your head whisper - F@#k him. He wants it in one week. Give it to him in one week.
This is when you start building a truck load of crap that causes companies to move in infinite loop of failure. This is when you know for sure that your manager is an asshole. You spread the word every time the topic comes up. Then there are others who have had similar experiences with him too. The story spreads within the corridors of your organization and a brand new asshole is born in your organization.
If you are working with a bunch of developers, learn how to shut the fu@#k up and listen to their problems, specially when the best of your team come up to you and tell you they need more time. Stop what ever you are doing and listen when they come up to you for any help whatsoever.
There is nothing wrong with a healthy discussion, but don't act like an asshole. Don't classify things as black or white and don't start by assuming that people who come up to you are lying scumbags till the time they pass your elaborate cross examination and prove their innocence. Don't interrogate your team members like criminals.
Put simply, don't be a black and white jerk.
I wish you good luck.