Politics: The activities associated with the governance of a country or area, especially the debate between parties having power.
This is not an article on software development as you might expect but rather touches on some of the subtleties that are affecting from as high as technology choices to as low as implementation details. Politics is not something that is particular to one individual or to an individual company, it can be found from the smallest startup to the biggest corporation. The difference is scale: while startups don’t really have the time to think about politics and they are pretty much limited to personal preferences, corporations, due to their rigid structure, have loads of it. There are companies that are better or worse at this or even within the same company, there are departments doing a better job at fighting it than others.
Why is it important?
Because it influences in a decisive way the way teams work as well as how the technology is supposed to work. Architecture can be switched or twisted in order to serve the interests of a person or another. I am not saying that we are not all subjective and we don’t have our own preferences, but politics are the extreme.
More often than not, it’s because of power, be it in the form of a promotion, influence, importance within organisation or just plain ego, proving the other people wrong.
I have been always a promoter of using the right tool for solving the right problem and try to understand everyone’s arguments for a particular solution however politics severely interferers with this reasoning. When people play politics their arguments are not “reasonable” but rather “I say so” or “I decided so”. Those, in a technology world, are not acceptable arguments as they do not have any logical sense and most of the time decisions like this are going to backfire and when they do the same people would neither acknowledge this nor take responsibility.
Another important example where politics are playing a huge role is when multiple teams are working together on a project. Some of the technologists would choose to, either omit critical details to reach to a good solution, or choose a solution that would hurt the other party just so that neither would be getting the glory.
Why people are playing politics in technology?
Personal reasons, most of the time. It’s either because they want themselves to get better but not by being better but rather but making everyone else look bad, or because they don’t like someone in particular or because they do like someone, or because they want to be liked by everyone. It can also be done out of fear, misunderstanding as well as stupidity.
What can you do in such situations?
It really depends from situation to situation: if it’s directed against you, is it the interest of someone in a particular project, is it at organisation level and so on.
Most of the time you’d have to join them, expand your influence and get in the game but always stay true to yourself. Always remind why are you doing it, it’s because of your personal interest, is because you believe in certain values and technology and progress shouldn’t be stopped because someone “said so”.
If you see it’s not working or the people you are working with don’t see reason, leave! It is not worth while wasting your time with people that value politics more than technology.
DISCLAIMER: I am pretty sure politics are everywhere and probably are part of the normal software developments process, but the situations I am referring to in the post above are not normal.