Internal Politics for Software Engineers and Managers: Part 1
“Politics” has a bad reputation in tech companies. What is it, why is it important, and how can you get good at the “right” type of politics?
Q: I’m a tech lead and I feel like my voice is often not heard, and my team members are often ‘rolled over’ in decisions by more influential teams. I want to get better at internal politics, but without being labelled as ‘political.’ How can I navigate this minefield of internal politics?
“Politics” has a bad reputation among most software engineers. If an individual contributor (IC) or a manager is described as “political,” it almost always has a highly negative implication. It usually means that person makes few to no technical contributions, but works through others to get what they want, sometimes manipulating them for personal, not team, ends.
What about when a software engineer is referred to as “influential” by their peers? This usually refers to how they are seen to not only have strong technical skills, but to excel at gathering support for various initiatives; maybe their own, or those from their team or organization.
Politics in some form is unavoidable and happens wherever there are groups of people and decisions which need to be made. ‘Man is a political animal,’ is one of the philosopher Aristotle’s most famous maxims. This is as true in 21st century tech as it was in Ancient Greece – with the caveat that today it applies not only to men.
For women and underrepresented groups in tech, learning how to influence people early on, is even more important. As Rina Arstain, tech lead manager at Google, shares:
“As a rule of thumb, women have to learn how to influence people earlier on in their career if they want to get anywhere. This is because we cannot rely on getting credit for our ideas or being perceived as experts – even if we are. We cannot expect to be the loudest or most forceful person. Not that being loud is a good thing, but it can be effective for men. Being perceived as self-interested in any way is a death blow for us; we always have to look like we’re taking care of others. Learning how to navigate organizational politics is a survival skill for women in tech.”
“Internal politics” and “influence” within a company are connected, even though we don’t like to refer to influence as “political.” Influence is the “good type” of internal politics that I’d argue software engineers should learn about, if you want to support your team and eventually progress your career.
This article is Part 1 in a two-part series covering internal politics as an IC or manager. In this article we cover:
What is internal politics?
What is internal politics?
The “bad” type of politics.
The importance of influencing others.
How to get better at The Game.
How to influence people in your organization.
Expanding your network.
Additionally, Part 2 covers:
The importance of politics as an individual contributor (IC).
Political situations as an individual contributor.
Becoming ‘influential’ an IC.
Internal politics, as a manager.
Building up political capital, as a manager.
Avoiding the “political” label.
1. What is internal politics?
Broadly, it’s the dynamics within a company of people – or groups of individuals – influencing others and using their conviction to shape things as they see fit.
For example, the CEO of a company wants to acquire another company. However, several of their direct reports oppose this plan. This is politics playing out. This is what happened when Microsoft CEO Steve Ballmer wanted to acquire Nokia. Unfortunately for him, Satya Nadella, Tony Bates, Bill Gates & the Microsoft Board all opposed him. Despite this opposition, Ballmer used his political savviness – a mix of his ability to convince people, his status and authority and a talent for recruiting allies – to push his original vision though.
A long-tenured leader is leaving the company. Who will get their spot? Will it be someone promoted internally, or someone recruited from the outside? Potential candidates will use their influence to convince decision makers to vote for them. A good example of this was when several executives within Microsoft were in the running to become Microsoft’s new CEO when Steve Balmer retired in 2014. Skype’s former CEO Tony Bates was one of the top candidates for this role.
I worked at Skype at the time – a part of Microsoft – and people around me would talk about how Tony was ‘playing politics’ to get the spot. In reality, several Microsoft executives were being just as active in presenting themselves as the best next leader for the company. In the end, Satya Nadella was chosen and Tony Bates left the company – reportedly because he wanted the CEO position and would not settle for a different role.
Whose business initiative wins the support of a larger group, who gets promoted – and who misses out – who is put in charge of running certain projects; all of these depend on influence, networks, track record and internal politics.
Politics is present as soon as there is a group decision to be made. Take an all too typical example in many engineering organizations: a monolith versus microservices debate. A group has operated a single service which became large. Several team members are frustrated by how slow it is to make changes to it, and how their work is coupled with the code that other teams own.
An engineer proposes a solution: break out into smaller services, spinning off microservices. Each team can own their own microservices. It takes some effort from engineering teams, but the effort will be worth it.
Another engineer counters the proposal. The move is too risky. The monolith can be tweaked to address the current issues. There’s a backlog of work to be done related to reducing the current monolith tech debt.
Before you know it, most engineers are taking sides:
Does this image look familiar? It’s akin to a political campaign where the two candidates want to gain majority support. Except this is no campaign, but the stakes are high: whatever the decision, it will impact your engineering group for the years to come.
You could be one of the engineers proposing to move to microservices, or to stay on the monolith. You might be one of the many engineers with strong opinions on this. Or you could be someone with some other stake in this debate. Regardless of your position, if you have skin in this decision, you’ll likely want to influence the group to make the decision that is for the best of the organization - at least in your view. You might not realize it at the time, but you are involved in internal politics.
Seniority and being involved in internal politics are connected. What makes one software engineer more senior than another? For example, what is an obvious difference between a senior staff software engineer and a senior software engineer?
Their scope of influence will differ; the more senior person will be expected to have a much broader range of influence.
The person with a broader range of influence needs to be good at influencing large groups; taking input, finding common ground, explaining their ideas and adjusting them when needed, and getting things done across teams and groups.
Politics, as a form of influence, is essential if you want your ideas, projects – or people you support – to progress. So why does the name ‘politics’ have a bad reputation?
2. The “bad” type of politics
My take is that many of us feel software engineering should be based on the merit of ideas, objectivity, and not soft “people skills,” the strength of your network or powers of persuasion. This is why many software engineers try to distance themselves from anything that could be seen as ‘political’.
The label ‘political’ has a bad rap because it usually refers to activities that don’t make friends of others. It also refers to activities which are self-serving or partisan; i.e. they seek to benefit one group at the expense of others. These are worth avoiding where possible.
Perception is important when we talk about anything considered ‘political.’ You might be performing a selfless action, but if people around you aren’t aware of that context, they might label you as selfish or “political.”
Take an example of a staff engineer who’s part of a promotions committee. This committee rejects the package of a senior engineer. The staff engineer has worked closely with this senior engineer, but the staff engineer doesn’t endorse the senior engineer’s package at the meeting.
So, was the staff engineer being political? Did they act selfishly in not sticking their neck out for their close colleague, the senior engineer?
What if this was a promotions setup where anyone with biases recused themselves from voting? And the staff engineer did just this: stepping outside the room and having no input in the discussion and decision. Some people might assume that the staff engineer sabotaged the promotions proposal, but they did not do this. Instead, they acted in the “higher” interest of impartiality by declining to take part in the discussion about a person who they knew well.
This shows it’s hard to make an accurate judgement without knowing all the details. In practice, people mostly fill in the gaps with their assumptions, unless given more details. Perception – or lack of it – matters.