Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

That’s life. Unless you’re a hermit, a complete pushover, or a slave master, you’re constantly trying to influence without authority.

Want to go out to dinner with friends? That’s influence without authority right there.

Want to get your PR approved? Influence without authority.

Trying to get your point across to strangers online? Ditto.



> Want to get your PR approved? Influence without authority.

That's not really the case.

First of all, software development is—or should be—a collaborative effort. The PRs I create are no more "mine" than the ones I review from my peers. We're all working towards the same goal, and developers shouldn't have to defend or vouch for their work.

Secondly, politics plays a role in every organization, unfortunately IMO. So people who are held in high regard for whatever reason certainly have more authority, and thus influence, to enforce their will over others. Reviews of their code often have a single "LGTM!", or they might even merge without approval.

Similar situations happen outside of software development as well. A highly charismatic person in a friend group has more influence, even though everyone is aiming for the same goal ("get dinner", etc.). An opinion from popular people on tech forums like this one carries more weight than an opinion from someone unknown, even if it's the same opinion. And so on.

So coming back to "principal" ICs in companies, these are mostly political rather than technical roles. The person got to that position because they proved their ability to be influential and lead teams, which generated increased revenue for the company. The company is betting that putting them in a position with more authority, where executives lean on them directly, would lead to even greater revenues.


Authoring and reviewing PRs when no one person owns them individually sure sounds like influencing the direction of the team without any authority to make a unilateral decision to me.

You’re right about politics, but I think the part where people may vary is the definition of authority. Does being consistently influential make someone an authority? It depends on what that means. They will be believed more often (they have soft power) but they don’t have hard power to command someone to do something. What makes it a gray area is they almost surely have influence with someone else who does have hard power.


>Reviews of their code often have a single "LGTM!"

Unless the code is a very simple change, the code should at least have the occasional question or suggestion.


Yes, but the stakes at your job are different. You don't get fired or get bad performance reviews if you fail to convince your friends to go out for dinner. You're not expected to be constantly be doing this either. You are not paid a top salary and get performance reviews based on that.

Principal ICs sounds like a high stress occupation...


I’m sure the stress level varies by the individual.

The upside to a more collaborative role like this is you don’t have the stress of having to know everything. Individual developer roles can be more stressful because if you say you’ll solve a problem in a certain amount of time, and then you’re off on your own coding, and things aren’t working out… you’re personally on the hook for the whole thing. Whereas if you’re leading an effort and company priorities shift so people can’t contribute as much, you communicate that to all your stakeholders, and look good for letting higher priority efforts have more resources.


You're painting a very rosy picture of what this role entails.

> The upside to a more collaborative role like this is you don’t have the stress of having to know everything.

It's the opposite, actually. The person in these roles has to wear many hats, and have an overview of many areas and teams in the company. The article is explicit about this. They may not be an expert at everything, but they should certainly have working knowledge of each area, have the ability to jump in and steer each ship—whether that involves communicating with each team, removing roadblocks, or writing code themselves—, and be able to communicate all of this in a language useful to executives.

When individual teams are not working well, when multiple teams are not working well together, and ultimately when value is not being produced, it is people in these roles who will be on the hook first.

So the stakes are indeed much higher for this role than for someone working in a single team.


It’s different for different people, but IMO, knowing something significant about everything is easier than knowing everything about something significant.

And if you understand the organizational dynamics, being in a position to fix (or recommend the cancellation of) projects that aren’t working gives you more control over your destiny than being just another person trapped in a dysfunctional org.

So I’m not saying higher level roles are easier for everyone, but I am saying lower level roles can actually be harder for someone who has mastered higher level roles.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: