I saw this Quora post some time back.
“I started working at Google a couple of months back as a software engineer. I am sick of all the politics. What should I do?”
According to Fortune, Google is the no #1 company in the US to work with and is envied across the world for its cool culture. People will willingly give a leg and an arm to get into it.
So what is the problem?
It is office politics to be exact.
And you cannot avoid office politics even in software. It is unpleasant, it can get messy, and it drains on your productivity. All said, politics is an integral part of life for all human beings. Philosophers have argued for myriad centuries that politics is innate to humans, Aristotle even called man ‘a political animal’ long before Darwin postulated the ‘social animal’ theory and no one has disputed it till now.
That said, developers have to deal with corporate politics -- in fact, they need to embrace it. We've all heard techies say: "Leave me out of the politics. I just want to implement the technology." But that will not work. Where there's technology, there's change, and where there's change, there will be people who perceive themselves as winners or losers. That's where politics begin. You need to manage it, circumvent it, and come out as a winner. There is no other way.
Coming back to the bare bones, what is politics exactly?
According to Wikipedia.
Politics is the process of making decisions that apply to members of a group.
So do you see the connection here? There is no politics involved when a single person is making all the decisions. But when that single person multiplies into a group, the real game begins. The keyword here is “decision”. You cannot find an office without any decision making in place. That is why you cannot find any workplace free from politics. The degree of politicization may change but the animal still exists.
But the good news is that, like any other problem, politics is also surmountable. All you need to do is pay attention to the signs and start developing your ‘political radar’. Here’s how you can do it.
Be boring
Conversations breed more conversation and if you are drawn into a potentially political conversation, being boring is the best way to avoid it. Take the below conversation for example.
Them: I wonder, why they promoted Susan to be the tech lead. She can’t even code ‘hello world’.
You: ok
Them: Mandy would have been a great choice. She also has a great team connect.
You: umm
Them: What do you think?
You: Not sure.
Notice that you never said anything. The other person will soon lose interest in you and move on to better pastures. Remember if they consider you so boring that they would not approach you again, it is a win for you. While office gossip and chatter can be titillating, it can also be nasty. Think of gossip as spam and hit the "delete" button.
When people approach you with juicy details about Mr. or Ms. So-and-So, politely avoid the conversation. When gossipmongers realize that no one is interested, they'll quiet down and get back to work.
Know your informal code.
Your company has an informal code of behavior which would be quite different from the existing hierarchy put on paper. Master the rules of the informal code.
For example, you have this new framework that you want to implement which will improve the application performance of an existing supply chain software by 15% but nobody is getting convinced in spite of your best efforts. But you know that you have an experienced developer Sam within your company whom everybody listens and follows any objection. So if you can convince Sam, your manager is automatically convinced. Sam, in this case, is your informal code.
You will find answers in the informal code to most of your problems including whom to approach for what, who can help you, and who should not be approached. You need to understand your company magic formula first and take the right steps accordingly. Otherwise, your ideas and innovations will just get trapped in the quagmire of politics. Don’t attempt to change rules, rather make the rules bend in your favor.
Remember, a “no” has far more power to neutralize your innovative ideas than a “yes” does to move it forward. So knowing the power centers and moving them to your advantage is your best bet.
Be helpful.
The best way to keep out of trouble politically is to be seen as someone who doesn't play office politics -- in other words, be helpful.
Be a mentor. Help your fellow developers. Be the fountain of knowledge everybody wants to approach. Others will respect you, even if they don't always agree with you. More important, you have a lower chance of being a victim of politics. If you can help that person, especially if you can do so without taking too much of your time, you benefit yourself as well by building political capital and loyalty. In doing so, you reduce the chances that you will be the victim of political intrigue.
Remember helping also puts you in a position of strength as you are doing ‘favors’ on others and favors can also be asked for repayment by you at opportune moments. If enough people owe you a favor, your ideas get passed. If not, it gets killed or bogged down in meaningless details. Simple as that!!
Don't be exclusive with your professional relationships.
The easiest way to avoid problems is to get along with every developer within your organization. I know while that is more said than done. The more practical approach will be to maintain a consistently pleasant professional behavior with everybody.
If you have a concern, focus only on the issue, not on the person. If you have to refuse a request, explain why and try to come up with alternative solutions. The important thing here is not to change behavior as per your likes and dislikes. For example, you like Sam so you will share this wonderful piece of reusable code you have developed but you don’t like Tom so he will not get your code. Make it clear you don't play favorites. Everyone's a viable connection and worth talking to, whether you personally like them or not.
Playing sides is not only harmful to professional growth but will prevent you from working effectively with people from the "other" side. The worst situation that can happen, is when your side does not have the answers to a complicated problem and you need to approach the other side for answers. Instead, try to focus on your tasks and avoid siding with any group in the organization. And in the unlucky scenario of having to work closely with the source of the politics, be so boring that nobody can pull you inside.
Last thoughts.
Remember you should be known by the quality of your work and not by your political affiliation. You don’t have to get downright Machiavellian—but you don’t need to feel left out either. Focus on what you like about your job, and enjoy an occasional game of office politics to get things done.
You can be the best developer in the world, but if you can’t figure out how to get along with your co-workers, you are not only going to have a miserable time at work, you probably won’t be all that productive either. And If you find your moral slipping and work starts to get tedious because of too much office politics, find a better job but don’t let it spoil your peace of mind and quality of your code.
As John. Kennedy has rightly said.
“Peace is a daily, a weekly, a monthly process, gradually changing opinions, slowly eroding old barriers, quietly building new structures.”
Ravi Shankar Rajan is an information technology program director working in Mumbai, India. .He writes on a variety of subjects ranging from programming, leadership, creativity, and even dabbles a bit in poetry. Connect with Ravi on LinkedIn and Twitter. Subscribe to his blog “The Perfect Programmer” for the latest articles on programming, creativity, and much more…...