Sorry my Omnissiah is acting up again
Did you miss this?
I still write code almost daily however, e.g. for personal projects or in FOSS. For one, I love it as an activity - writing code is stress-relief for me. If I don't do it for some time I really feel deprived. I also think it's necessary to keep the first-hand knowledge of stacks and tools alive and well, e.g. for effectively communicating with engineers in a way both sides will enjoy.
I also do still make a point to e.g. do a MR regularly at work, partly to make sure I know the processes and their pain points, also so I can use my clout to complain if we make engineers waste time with stupid stuff, as processes also tend to accumulate cruft over time.
And obviously I don't think of writing code as a "lowly activity". Quality and skill matter on every level.
For that matter, you can also encounter quite a lot of "the architects don't know how to code"* stereotypes, so the subtle-disdain thing can go both ways (your comment may be exemplary). I try to prove them wrong by having written more and more different stuff than most :-)
* = https://i.programmerhumor.io/2021/11/programmerhumor-io-prog...
Anyway, the article seems very Amazon centric since I have no idea what an L6 or an L7 is. I get that they’re career ladder steps but that’s it.
And having testimonials about yourself on your own website…
The whole website feels like I clicked on an Ad for a person.
It can get much more navel-gazing than this, such as the posts by 24yos who insist they finally figured out what life is about after working at a startup for 3 years. :)
L7 is a principal engineer - typically effecting change at org level which will impact many teams
True role models of mine never were/are L3, L4, L5, etc... They were/are awesome engineers or scientist from the get go. (Like the Johns: The von NEumann and the Carmack.) Experience lets you get better and better, but if you are stuck at a role or organization, the problem might be that you need to find something that you are more passionate about and not necessarily that you are low level because your thinking is not 'independent enough' or you are not 'high-level enough'. At least that is my experience.
It has a huge payoff (think 7 figure TC/year for principal+ at big tech), with little personal risk required. It's no wonder people take it so seriously.
I went through a period where I cared a bit too much about an org's leveling system. Not surprisingly, I wasn't promoted, even after giving up some technical work. Eventually, I became really unhappy: I had cut myself off of any work that was fulfilling. It really did feel like I was letting some important part of myself wither away in pursuit of a bullshit hierarchy. I eventually left and joined a startup. I'm slowly remembering how much I like to write programs. Needing to work towards survival is a very tangible goal that has the benefit of making politicking and made-up titles less of a focus...for now.
It's honestly a bit scary how you can lose parts of yourself in these systems. Tread carefully if you aren't 100% into them. Also semi-convinced that some tech middle managers project their own anger/grief over leaving the IC work behind onto those rising through the ranks instead of processing it and finding a sustainable equilibrium.
Yeah, screw that.
These roles with fancy titles may come with astronomical compensation for an engineer—and rightfully so—but they're essentially buying your soul. You're not an executive, and are still below them on the political and compensation ladder, but you'll easily have 10x more on your plate than an executive. You'll be expected to act as a lap dog for the company for anything tech-related, while you probably will only enjoy 10% of that work. Your guidance will only be appreciated when the stock goes up, while you'll be the first to be held responsible for any technical screw ups.
So, nah. I'd rather continue to enjoy my work, maintain my freedom and peace of mind, and still get paid well enough as a perpetual "senior".
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.
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.
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.
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). He was happy in his previous role, doing groundbreaking work, 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.
You're doing all the politicking and influencing stuff many of us presumably don't like and associate with management roles, while also being expected to be "hands on" and at the top of your technical game. "Nothing is not part of your job", as this article describes it.
Someone who's not doing this, the article argues, "is setting themselves up for failure." Yikes! These are not rookies if they reached Principal IC, but the most experienced team members ever, yet the author still feels the need to say this. Which makes me thing it's a really perilous path.
Seems highly stressful. I'd rather stay a low-level IC. Do we need to move up or out? (In general I mean, I wouldn't want to work at Amazon).
Other engineers I've seen (a smaller sunset) have that job description more as an observation of their skills and influence. Their mandate isn't to influence, they just do. They are respected for their vast knowledge, historical success, and insight. So they naturally are heeded by most, and consequently they broadly influence the org.
Both cases sound miserable in their own way, but if I had to choose I'd much rather land in the latter. The latter still involves some politics, but at least it sounds like you're not wasting your life playing stupid games.
I actually don't mind that some people are good at influencing others, through well earned respect, good communication skills and technical chops.
I resent it when it becomes a mandate and some official "badge" in the career ladder. I'm suspicious of these principal/architect types who "parachute" out of nowhere into teams and projects, because it's "their mandate", ask lots of questions, mess with stuff, and then leave and don't take responsibility because "the team owns the project, not them". I've seldom seen this work well. A lot of teams end up politely ignoring what these types say, because they know if you're not a true stakeholder, what you're saying doesn't matter.
It depends on the person, I think. Personally, I often end up doing this sort of work, particularly in smaller companies. I really like it, but appreciate that the vast, vast majority of people I work with would hate it.
For some people, they prefer to lead through influence, rather than through a reporting line. There's a lot of toil in managing people (well), and some really excellent people don't like the core job of management, but are really really strong in some technical area, or have a broad enough perspective and enough personality to convince other people to do stuff.
In some ways, it's the software engineering world's PM, given that you have influence but not direct hierarchical power, and what matters is the amount of teams that you can influence (like sometimes this is through a piece of software, designing and building Airflow was this kind of work).
You worked in the design of Airflow? We're heavy users at my current company.
> 25. To get to principal, you need to put yourself on the critical path. To be effective as a principal and go beyond it, you need to actively remove yourself from it.
And
> 26. If you were promoted to principal, it’s because you’ve been acting as a principal for a while
Say you need to keep doing what you’re doing, but also change everything.
Technically that’s true of any step change - a junior developer is expected (loosely) to fix the bugs and do the tasks, to the spec. They should ask for help early and often, and should have enough slack in their estimates from their leads that they have time to mess up to learn. If they continue to do that they will stay junior forever.
They need to learn when to ask, how to estimate and how to avoid certain pitfalls. When they stop asking the basic questions and learn to research, they’ll be promoted to mid level (which they’re already doing). To be an effective mid level though you need to start making mistakes, but in a different way. You can’t be stuck on not being able to install a tool for 3 days, for example.
Just my opinion: one of the key mindset shift that happens before someone steps into staff and principal engineering is understanding that the technical choices you make are tradeoffs. You give up conceits (or one should) that a technical opinion is separated from context, while also getting to deeper technical principles that appear across architectural levels or disciplines (such as queues). You also see how technical systems are inseparable from the people using it, and being a part of it.
When you start seeing that, you start seeing that everywhere. You start to act in a way that is informed from that understanding. You need to be on the critical path in order to do what matters, but you also need to connect those dots that are overlooked.
But that is also one flavor of principal engineering. I tended to do the horizontal influence than deep technical and domain expertise. At early stage startups, people have to wear multiple hats, often exceeding the scope of what they were initially hired for.
I've always felt staff+ was a bit of a trojan horse on the IC ladder. I understand the role and its importance to be closer to the work. But some companies really seem to love separating you from the work to be done in pursuit of the almighty iMpAcT.
I have seen extremely talented engineers not get their promo to this role because they were "too into coding." And I have advocated for one of them (w/o their knowledge), arguing the project wouldn't exist in it's current form without their technical contributions, and then witness the org retcon their judgment into a staff-level promotion without any significant change in duties.
Makes it hard to take too seriously, honestly. If the purpose of a system is what it does, then it's meant to be a miserly, inertial source of institutional status. One that can get you a lot more money, of course, so play the game as best you can without losing yourself in the process.
It it usually correlates even more with their ability to portrait themselves as capable.
Thankfully, there is significant overlap between these groups, but sadly not a full circle if visualized as a Venn diagram.
Believing otherwise is psychologically dangerous: if the system is somewhat arbitrary, then that opens up the possibility that their promotion was also somewhat arbitrary and not under their control.
I can’t believe this needs to be said. Who is taking “because I said so” as a (first) reason to make an engineering decision with no justification?
Justifications, needing to say things, etc., are for the weak. The strong get away with shit. That's how you know they're strong!
Or at least that's what >50% of the people I've met throughout my life consider normal. Maddeningly, heartbreakingly, infuriatingly, that number seems even higher among computer programmers
One thing I've found personally rewarding is having to articulate why I believe certain designs / choices are bad ideas, and be ready to propose better alternatives.
If all of my team members were equally experienced, there would be much less need to do this. But it would probably mean atrophying the knowledge underlying my gut instincts, and not being so open to valid alternatives.
If you ask why the vast majority of people have no answer other than “because I like it that way”.
I’ve jokingly used the example with my own management, “I’d plunge the toilets if they were backed up and became our biggest issue.”
It’s been sad to watch the talent exodus there on my LinkedIn these last 12+ months as these folks flee the ship for elsewhere. So much experience and knowledge just gone and the bar for L7+ with those left has tumbled off a cliff.
I dunno, maybe in Silicon Valley or the US in general, but I think most places outside of that took a much more balanced view of those people even back then, they're just humans after all.
Many people experienced working with those "rockstar" engineers outside of Amazon, "rockstars" who still tried to work as if they were still at Amazon, and the obvious effect of that was that it created a lot of needless friction between the people who saw themselves as "I'm the best engineer because I was L7 at AWS" and the rest of the company.
See recent press on leaked internal doc about folks at AWS whining that they struggle to secure speaking spots for their folks at AI conferences because nobody sees AWS as having recognized leaders in this space.
I think every company that has a "strong culture", no matter what direction, tends to impact people deeply enough that they try to take that with them when they join new places, often creating lots of friction and adding complexity where there shouldn't be any.
>Amazon brain drain finally sent AWS down the spout
* Learn new external shit
* Bring that new external shit back to your organization, which requires integration and knowledge transfer
* Inspire people with the new stuff. This means actually talking to people, but its more than that. Its motivating and inspiring people.
That's it. A principle is not a people manager, so there is a lot they don't have to deal with, but they are required to demonstrate and prove their new knowledge in the context of the current organization. This proof can be research papers or MVPs.
ninetyninenine•10h ago
It's technical management. You create impact off the work of others. You tell 10x people to do 10x work and you get 10x the credit when management only is like 1x of talent and effort.
I met a principle engineer who didn't know what a database transaction was and it still fits every description on this site. We shouldn't call these people engineers anymore. They are managers that don't need to do 1 on 1s.
DiscourseFan•10h ago
BobbyJo•10h ago
microflash•9h ago
lumost•10h ago
That being said, when I was in the role of a principal engineer at a major tech company - my ultimate responsibility was to get the project to success. What that meant on any given week could have alignment, coding, guiding, or reviewing.
light_hue_1•9h ago
As a principal scientist I definitely don't manage people.
Mainly, people managers have power to tell people what to do and when. I have zero power over anyone. No one needs to listen to me. Ever. If people ignore me there's literally no one I can complain to. And no one tells me what to do. If I wasn't competent at my job I'd be sitting alone in an office staring at a wall.
The reason why anyone would ever talk to me is because I have well over a decade of experience more than every other scientist in my org (200+ people) doing very complicated things, at scale, across many areas of AI/ML, and publishing many dozens of papers in top venues. So I know what I'm doing and can find problems, shortcuts, keep them from wasting time, find creative fixes to AI/ML issues, and see connections to business problems. Basically help scientists deliver better features faster. I can find new projects that those scientists are excited about. And I can communicate with product, managers, leaders about very complex technical ideas in ways that more junior scientists cannot.
People in my org come to me because I provide value basically. Not because they have to.
> You tell 10x people to do 10x work and you get 10x the credit when management only is like 1x of talent and effort.
If only! 70% of the work I do is invisible small course corrections here and there across multiple orgs that fix things no one ever hears about but would be disasters down the road. 20% is working on projects that scale with many people. 10% is strategy for new experiments and projects.
For the vast majority of what I do other people get 100% of the credit and my name is a small footnote at best.
Maybe an example would help. Sorry that I need to be a bit vague. A large project recently was going in a particular direction. I saw two months ahead of time that this direction was going to run out of steam for a combination of science and business reasons. It would end up missing metrics. Leadership was asking for something that was broadly correct but subtly wrong. I spent a month finding a new direction that was the opposite of what everyone thought we had to do, finding the right small 1-2 person experiments to derisk the new direction, get senior people to understand it and agree to it, set up the correct relationships to make it viable, and then I had the evidence to convince project leadership and management to shift. A few days later we had a VP review and the response was that they're delighted with the direction, it's far better than they ever though, and this will be a flagship for an org with tens of thousands of employees. That review would have gone horribly without what I did because the problem I saw two months ahead of time would have surfaced and the project would be seen as dying and aimless. But the team got the credit for being on top of things as a whole, not me. As it should be.
> They are managers that don't need to do 1 on 1s.
I have more 1:1s than managers, because they can afford to just tell people what to do. I need to develop junior scientists, keep relationships up, stay on top of other orgs, business priorities, etc.
Managers fail by creating chaos around them. Principals fail by becoming irrelevant.
sandeepkd•9h ago
light_hue_1•8h ago
As you go up the chart you have more independence and are less tightly coupled to your manager. By the time you get to principal you should be largely independent. At the same time, you have much more responsibility.
That's just a practical problem. As your manager becomes more senior (director/VP) their scope also increases. They just cannot "manage" you the way someone would manage a more junior IC. Also at the principal level you aren't just bringing value to your manager, but to other parts of the org as well.
In other words, I can't ask my manager "what should I do today?". I cannot even imagine what his reaction would be if I asked that question.
> The manager has to you like as a person and some how believe that all these activities are adding value.
For what it's worth my manager is a great person. But he wouldn't for a moment believe anyone when they say they add value.
It's up to me to find ways to document and express my value. Figuring out how to do this is part of becoming a principal. So I keep notes, I record wins, I make sure that I do things that bring me visibility, that I present new ideas, I contribute to larger roadmaps at the org level, I make sure that other scientists can say good things about me, I help fix problems that other orgs have so that they report I was useful, etc.
re-thc•9h ago
In most orgs sadly that's not why people talk to a principal. It's that the process requires it, the manager wanted them to and/or there's you i.e. someone else to take responsibility. Of course they won't tell you that directly.
taneq•8h ago
trashtensor•8h ago
so i do sympathize with a lot of the negative sentiments about the role here in this thread, and i think that in general there is a lot of navel gazing about the staff+ tech ic roles, there is an actual place for them as tech leads of large projects.
questionableans•8h ago
procaryote•7h ago
If you have the skill and you're in a larger company they may already have a structure around it you can apply. Otherwise you should talk your manager into trying it, or you should find a new job in an org that does have this kind of role
If you don't have the skill, you should get the skill first, by making your team more effective, then make your team and all related teams more effective together
neilv•7h ago
The skeptics of the role might not have seen how easily and badly a large multiple-team effort can go astray, and the value of someone spotting the problems, and making sure they get addressed, before the product line or company is ruined.
ninetyninenine•5h ago
neilv•3h ago
Maybe we should think of the Principal role as complementary? If you're working on a compiler, you're going to be interacting cross-team with hardware engineering team, etc., and spotting lots of things. But someone who is looking at all the teams, and not spending so much time on compiler details specifically, will spot some things the compiler person doesn't. So together you get better coverage of problems that neither alone could spot.
Of course, once we throw differing pay grades into an organization, everything gets more complicated. And people might resent something being called "complementary", if what's bothering them is that the role in question pays better or is considered more prestigious.
Though, the Principal role is in the engineering career track of that compiler writer, if they want that kind of ulcers.
ninetyninenine•5h ago
Then your case is the exception, not the rule. To reach the level of principal, you generally have to be recognized for delivering high impact. Visibility is not just ego, it is how organizations perceive value. If your work earns you no visible credit, then no one really knows what you contribute. And if no one knows, how could anyone justify promoting you in the first place.
That is the ideal. In the ideal world, principals are elevated because they have a visible history of making the system better. They build frameworks that others rely on. They turn chaos into structure. They guide teams through impossible projects. Their reputation is not something they chase, it forms naturally from the wake of their work. In the ideal, visibility is the residue of real impact. People talk about them because their fingerprints are on every success.
But the corporate world rarely functions on ideals. In the real world, power accrues to whoever is closest to power. Titles often flow through social gravity more than technical merit. Some people climb because they deliver, others because they simply survive long enough to become unmovable. The higher you go, the more politics matters and the less evidence is required. Impact becomes subjective. Influence becomes reputation. And reputation, once earned, decays slowly.
In that reality, being invisible is not a liability. It can be a strategy. A principal who keeps their head down, avoids controversy, and stays on friendly terms with the right directors can outlast a dozen brilliant but abrasive engineers. The irrelevant survive because they are not a threat to anyone’s ego. The company quietly carries them, paying tribute to their title while forgetting their function.
Even the ideal, though, cannot escape the need for visibility. A principal who does great work in secret still fails the fundamental requirement of leadership: to be seen. Influence requires perception. You cannot guide a culture if nobody knows you are there. Quiet impact might keep systems healthy, but it does not create belief, and belief is what organizations promote. The best engineers learn to make their results legible. They translate their impact into stories others can tell. Without that, the work disappears into the background noise of everyone else’s effort.
So there are really two systems running in parallel. The first is the ideal, where promotion is earned through visible excellence and quiet authority. It demands both impact and awareness. The second is the reality, where promotion is often granted through time served, connections maintained, and an ability to avoid friction. The ideal rewards contribution; the reality rewards endurance.
You can succeed in either system, but they ask for different currencies. The ideal asks for mastery, courage, and the discipline to lead by example. The reality asks for patience, diplomacy, and the instinct to stay useful enough but never threatening. One builds respect. The other builds stability.
And most companies, if we are honest, prefer stability. Stability requires engineers to act the way you describe but talk the way I do. You talk about the ideal, you even believe you walk it, but because no one can see your impact, no one can tell the difference.
I've held the ranking of staff in many companies. I've interacted with principals, staff, and distinguished engineers and I can tell you visibility is required to fulfill the ideal. If visibility wasn't there, than the person earned the rank through other un-ideal means.
light_hue_1•2h ago
Of course you need visibility and impact. But it's not the kind of crass taking credit for what other people did that the original poster talked about.
As a principal you need to actively build visibility because so much of your work is normally invisible. It means being an active participant with discussions with leadership, clearly being the person that sets the agenda on something, becoming someone who other principals turn to on a topic and then report to their managers, leading the conversations on a topic, being the person that people can bring a hard problem to and then see results, picking up on a business need first and finding a way to deliver on it, etc.
In the example I gave for the quiet change in direction of that project, there are many ways in which I get visibility. I told my manager this was a risk and I have a strange solution. I told the manager of that project. The other principals that I needed to involve and their directors know I pushed this. My VP knows because no one talked about that kind of feature until I did. I checked how crazy this direction change would be with more senior scientists and product people. I actively make sure that these gentle communications happen, and in a sense they're natural, because I'm taking the lead on something.
But no one is going out of their way to say "I take credit for all of this work that everyone else did".
> A principal who keeps their head down, avoids controversy, and stays on friendly terms with the right directors can outlast a dozen brilliant but abrasive engineers.
I don't think that abrasive people should become principals until they change their ways. There's so much cross-org coordination that you need to do, if you're abrasive, that's going to hurt everyone.
That doesn't mean you should be a pushover. I don't back down from technical arguments if I know I'm right and have the data to back it up. I have gotten into deep weeks-long disagreements reported far up to chain. But it's important that you can still go have lunch with your peers and collaborate on other topics even while you're trying to show that they're totally wrong in one area. That's part of building trust.
> In that reality, being invisible is not a liability. It can be a strategy.
A strategy to be fired. This is not viable.
There is no tension between "quiet authority" and visibility. If you're invisible no one will ever come to you. Visibility is what consistently demonstrates to people that talking to you will make their lives better.
procaryote•8h ago
If you think management is like 1x talent and effort, you should try management for a bit.
ninetyninenine•5h ago
10x engineers don't need to be principals. The idea behind principals is that they don't do any engineering. They leverage the work of others to become 10x. It's very much considered a "leadership" or management role overall.
A 10x engineer is usually literally a person who can output 10x through his own work alone. As a sidenote, with AI everyone is now 10x. So it's really a 20x thing now.
procaryote•2h ago
I didn't understand the point of managers until I got a good one. Perhaps you've just been unlucky
willseth•18m ago