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

It’s definitely not for everyone. But if the person, the org and role are a good fit, it’s not going to be that kind of worst case scenario.

IMO, “nothing is not your job” is odd phrasing that doesn’t really mean “everything is your job,” it’s more like “see something, say something—-in a way that is received constructively and results in positive change, whether through your own actions or others’.”

The unstated corollary is if you’re in a shitty organization that just will not get better, the most positive change you can make for the world is to stop wasting your time helping them and go somewhere better, where you can make a difference.



The way the author describes it (in contradicting terms; see the point where he claims if you're a Principal IC, you were promoted because you already acted like one, making the ~30 items of advice redundant) it's the most stressful position ever.

Be critical, don't be in the critical path, be laid back in an advisory role but be hands-on or you're setting yourself up for failure, work on stuff you enjoy but be ready to justify why it needs a Principal or you're "working on the wrong thing", sponsor, consult, explain to leadership, mentor, code, be present, do not be too present, "feel the pulse", don't attend too many meetings, don't attend too few, gently nudge, don't speak all the time, be careful about staying quiet, etc etc.

Seems like hell. And presumably, you'll get fired if things turn out badly with a project.

Thanks, but no thanks.


The contradictions are difficult but wisdom has always been like that. See for example the book of Proverbs, it’s full of contradictory advice.

“Do not answer a fool according to his folly, lest you also be like him.”

Versus

“Answer a fool according to his folly, lest he be wise in his own eyes.”

The skill is to understand the truth of both statements, and to discern when to apply each one.


I'm not sold on that kind of wisdom, it's very close to empty platitudes.

Atheist here, so Bible wisdom is especially not useful to me.


All that and also without a team of engineers working with you on the same problems, and you have limited formal power to actually set priorities and assign work. That sounds miserable.


The way it works is you convince engineers and managers to want to work with you.


Making your whole living on influence without authority sounds awful.


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.


It’s a lot better than the reverse.


It’s all about being balanced and picking the right strategy for the situation, not doing everything all at once. A guide like this could be useful for someone to consult when they find themselves in a different situation, regardless of their seniority level.

And in my experience, more senior engineers don’t have a greater risk of being fired for a project going badly because they identify problems to work on that matter and are within their areas of expertise, and evaluate possible risks early and communicate them.


Being balanced about political/soft skills makes me nervous, especially when it becomes a mandate and your main role. Some people are good at it, some are bad -- but it's completely irrational to expect this to be the logical next step for ICs and senior engineers.

I've seen it backfire spectacularly when a very senior engineer who worked in a critical part of the product was forced into this "because of promotions", then because he was an introvert did it poorly and got a really bad performance review ("underperformer"), got upset and quit. Aftermath: his manager ended up getting fired because of this screwup, but truly that was scapegoating. What's worse is he was happy in his previous role, doing groundbreaking work, didn't want the promotion and wasn't planning on leaving.

I'm not disputing what you say, but in my experience the middle technical roles are the safest. Too junior and you'll be the first to be axed for mediocre performance, too senior and you'll be blamed for failures and fired (sometimes for playing the political game and losing). Meanwhile, the mid/senior programmers doing the work will keep on.

Unless there's another round of layoffs, those upset everything.


That’s why a lot of companies only promote after demonstrating a track record of performing at the next level.

It can also be an argument for secret levels. Although I’m not sure how useful that really is in practice.

For someone who does well at influence, it’s not a mandate, it’s permission to spend some time on the nontechnical factors that are necessary to make your work turn out better. And that also means helping others who have good ideas but aren’t comfortable with the influence part themselves.


> That’s why a lot of companies only promote after demonstrating a track record of performing at the next level.

If that's the case, why is this article needed? Someone promoted to Principal is already savvy, why would they benefit from this advice?


Why does an experienced programmer ever need to look anything up?

It’s useful to have reference materials to check against, or for things you haven’t worked in recently.


I don't think this is like looking up a reference. This article is a general guideline on how to be a good Principal IC, the thing you're supposed to already know if you're a Principal IC.

This is like reminding a top doctor "do differential diagnosis". Nope, top doctors already know this, it's redundant advice.

This is like reminding a good thinker they must think about things: they already know this and it's presumably how they got to the position in the first place.


That's a good point.

I think this article is a promotional piece for the author's personal brand, thinly veiled as advice for others. It's "look at what I know, and here's why you should pay me". These people love to talk about themselves.




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

Search: