If you have ever been to a zoo you will definitely want to see one animal and that is Lion. Why? It’s because a lion is the king of the jungle. It’s at the top of the food chain.
I asked questions from my parents like: “can a lion kill an elephant or crocodile or cheetah”.
Then I watch Jurassic park movie. A dinosaur can kill the lion. They were huge. They can destroy buildings as shown in movies.
What if dinosaurs are still alive! We are able to keep the ferocious animal in the zoo, like lions and tigers. We can keep the dinosaur in our control and put them in a zoo. But definitely, if alive, dinosaurs will be at the top of the food chain.
Still, there are dinosaurs in our life. We want to keep them in a zoo. They are at the top. They are our bosses. How can you keep them in your control?
I believe managing and controlling boss is part of your job. Those who knows the pleasure in controlling their boss knows what I am talking about.
It creates benefits like extra vacations. Flexible timings. Fast promotions. Learning new things on the job. And most importantly free time to explore new opportunities.
Everyone hate their bosses. Especially programmers. Your boss telling you do a lot of things in the shortest possible time. Comparing you with others.
Bosses are hard. I realise this during my first interview after graduation. The boss told me in the interview that “We are hiring you but you are a liability for first three months- since it will take three months for you to adjust in the environment learned things that we do here and the way we do things here ”.
In short, he was telling me that you will consume electricity, one PC and internet bandwidth while he was not making any money from me.
This remind me a quote from Bill Gates
“If you think your teacher is tough, wait until you get a boss. He does not have tenure”
Well, this is not brutal. The brutal thing is that your boss telling you things that are not technically possible. For example suppose your boss ask this: ”Why would a particular task takes so much time in C++ whereas the same task can be done quickly in Matlab”. What would you say?
Convincing your boss that Matlab is not equivalent to C++. Explaining that there is a huge difference between a lab work and production work. How Matlab has built-in features and etc etc. It could be a nightmare to explain.
It does not matter if your boss is technical or not
Well, so many times your boss is right if he is a tech savvy person. Or if your boss has programming experience. But it is rare that your boss knows all about your field.
Whether your boss knows about technicalities of your job or not. In all cases, it’s a nightmare to convince your boss to your way of doing things.
You are not alone
If you are thinking that you are the only person in the world who has this maniac boss. Then you are wrong. We all have such bosses. Consider yourself luckiest if your boss likes you from the start.
Now, How can you handle your boss? There are three options.
Option 1
You can confront your boss. Go direct. Deny orders and do the things your way.
In many cases, this will not work. Especially if you are a new hire, e.g less than 2 years, you can get fired.
Confronting strategy works if you are so senior that you makes yourself a requirement for your boss. You have dozens of good projects under your belt. You are invincible. Then you can confront and tell your boss to shut off.
Option 2
You can fire your boss. You can quit. Many people can say you are escaping the bad situation. Well changing the bad situation and not making a compromise is one solution to your problems.
Keep in mind your ultimate goals. Like learning, earning according to the market and free time to live your life.
If you can fulfil all of your goals through another job then there is no shame in firing a bad boss. This will even leave some bad reputation for your ex-boss. Someone who is leaving a job is also a sign of bad management.
Will you find the best boss next door? Not guaranteed. But your next boss could be little better than the previous one. If that does not work then change again-shamelessly.
Option 3
What if you can’t follow the above two options? This is a situation when you are not experienced enough to dictate your own terms or if you are easily replaceable ( it’s easy in programming world). That is your boss can fill your position in no time.
Another reason is you don’t want to get in the hassle of finding a new job. Then in order to put your boss under control, you will have to make few changes in daily routine.
Understand your boss’ needs and wants
First, you will have to understand from your boss’ perspective. Your boss may be stressed out because of his superiors. Your boss may have challenging goals to accomplish. Or your boss wanted the next promotion.
Find out your boss’ goals and priorities and then align your goals accordingly.
Address Your Boss’ Fears
If your boss does not have information about the programming language and frameworks/tools that you use. This could make your boss uncomfortable. Or more accurately fearful. Your boss maybe thinks that you are making a fool out of him or her. What you need to do is address this fear.
What you can do to address this fear: educate your boss about technologies. For example, tell him about the benefits of python over other languages. What you can accomplish with node.js or any other tool or platform that you use.
Secondly, educate him about the way you do things. Like why you choose one strategy that your boss is sceptical about. Share any research paper on that or a book reference on that strategy with your boss.
One important point to note here is that: don’t educate to ridicule your boss. Don’t educate like you are confronting him -especially in front of your colleagues. This can backfire.
Don’t hurt your boss ego because everybody wants to protect their ego in front of others. And someone at a higher level then you (like your boss) is supposed to know everything that you do.
If you highlight that your boss does not know anything about what you do. This will hurt your boss’ ego. Hence you have to educate your boss politely.
Illusion of control
Another thing that you can do to appease your boss is by giving your boss the illusion that they are in control and they are guiding the whole process.
For example, a year ago I was working on a challenging project. There were a few things in my mind that I was thinking of experimenting. One day my boss called me up for the discussion on the problem. In that meeting, he was discussing a technique that was already in my mind. I kept a note of it.
Next, I ran an experiment to test that technique. That was successful and bring me near to my objective. I reported my boss that the technique that he mentioned does help me out. Explaining in detail how that specific technique helped me in solving the problem.
In this way, I make my boss the part of the process and someone who has full control over the project. Afterwards, when I completed the project my boss appreciated me than ever before.
The flipside of the story: In that meeting, my boss also mentioned dozens of other techniques that a sane programmer would laugh to death. But I kept myself in control.
So by making your boss the part of the solution and giving the illusion of control, you can win your boss trust.
In addition to that, giving your boss the education and giving them the illusion of control can work together. When you keep your boss educating, it is possible that your boss gives you ideas in future from the same knowledge that you taught your boss earlier.
What can be wonderful then your boss telling you the things that you told earlier and guiding you the way you want to be. That is the state where you know that you have put your dinosaur in your little zoo.
No doubt that this strategy will take some time. You will have to give it time initially and reap the benefits in future.
So what is your experience? Have you faced a stressful situation with your boss on programming projects? If you are new in the professional programming you will face them.
If you have faced these challenges then tell me in the comments and what you do to get out of that situation.
I read every comment.
Really interesting article. I have been facing such problem and I will take time and use one of the three options. thank you very much!