This is the 2nd in a series of posts (starting here) on the non-technical challenges of senior software developers.
Let's say you're a "senior engineer"[1]. In many tech companies, this is a position which puts you maybe at the 70th-80th percentile of engineers in the org (this will vary), because there are levels above "senior". You probably got promoted to the senior level because you're strong technically, you get stuff done, and you act as an example and mentor for others.
As a senior engineer, it's no longer just about writing code. Delivery is still important, but leadership and innovation are increasingly key—especially if you're trying to get to the next level. To get to that "staff" level you'll need to make substantial impact, based on your own initiative and ideas.
And you have ideas! But you're finding that your ideas aren't getting very much traction, and you're frustrated. You're committed to the business, you're trying to move the needle. Why aren't people listening to you?!?
One problem is that there are other senior engineers who are also putting their ideas forward. Assuming the environment is resource-constrained, which most are, your ideas have to compete with others for priority.
Engineering cultures like to imagine that they are meritocracies, so ideas supposedly compete on their merits. Cynics might argue, on the other hand, that it's all about corporate politics. Neither of these positions is correct, although both merit and politics play a role.
A simple model
Let's say that your idea has some intrinsic merit M. It’s pretty much impossible to objectively determine M, but for the sake of the model we can posit its hypothetical existence.
Then you have to convince others of your idea. You have a certain amount of skill in elucidating your ideas, advocating for them, and convincing others that your idea is worth pursuing. Let's call this skill-at-influencing factor S.
Social capital, positional authority and office politics are also factors; let's combine these into a "politics" factor P.
Then M*S*P = Z, the perceived merit of your idea. This is what determines whether your idea will get prioritized over someone else's—but more importantly, it is how your peers (and senior leadership) perceive your idea. Indeed, many people will unconsciously assume that Z==M.
Career growth: applying the model
"See, I knew it was all about the politics," you say. But cynicism isn't going to help you advance, so consider the following in order to identify where to focus your own growth.
First: merit. If 30% of your organization is at least as senior as you, it's quite plausible that other people actually had better ideas. Are you listening to those people and learning from them? (Probably not if you're ascribing your failures to politics and position.) Is the limiting factor technical strength, or is it your understanding of context? The best ideas are closely aligned with business strategy.
Second: skill-at-influencing. In my experience this is one of the biggest differentiators between a "senior" engineer and a "staff" engineer. It doesn't matter how good your ideas are if you can't convince anyone else that they are good ideas. This is super important, so I'll dedicate a separate, upcoming post to the topic of upskilling in this area.
Third: politics. Despite the reputation, politics are not all bad, and are a fact of life in any group. Your social position in your organization and your relationships with your colleagues will influence how you and your ideas are seen. Although you only have as much "positional authority" as your position grants you, effort spent increasing your "social capital" will pay dividends over time. The way to do so is not through pretense, but rather through sincerity, kindness[2], reliability, and investment in others—and knowing when to stand your ground (and when not to). It also helps to learn the language of the business so you can more effectively communicate. (Also, although I have presented them as separate factors, politics overlaps considerably with skill-at-influencing.)
Finally, I want to highlight the importance of understanding business context. This could have been another factor in the model, but it's actually deeply intertwined with all three: politics impact what context is important, and your ability to get context; skill-at-influencing depends on your ability to know and apply context in your conversations; and the merit of your ideas depends significantly on their relevance to the needs of the business.
Skill-at-influencing, politics, use of context—taken together, these "soft" skills often stymie senior engineers in their ability to increase their impact within an organization. If you think you've got "winning ideas", but your ideas aren't winning, consider growing in these areas.
[1] I talk about engineers in this article because that's what I know, but I would expect that this analysis+advice applies more broadly.
[2] important: "nice" is not the same as "kind"; people-pleasing is a failure mode (ask me how I know!).
Next post in the series: Skill at influencing