Live data from Hacker News

What does a Principal Software Engineer do?

blog.devgenius.io

161–170 of 176 posts

Re: What does a Principal Software Engineer do?

#161

Having been at several companies, I think I was happiest about my career when I didn’t have a fancy title and did not really know anyone else’s either (aside from obvious managers). It was nicer just knowing who’s in charge of what thing , and seeing your influence grow as you are trusted with more things . When I see titles, it just makes unhelpful thoughts enter my head, like: are all these people “at my level” rea…

I hadn't thought about it in this context before, but I used to train Kendo ( https://en.wikipedia.org/wiki/Kendo ), a Japanese martial art, a long time ago. One interesting thing is that Kendo doesn't have belts like most other martial arts, the principle being that seeing the color of someone's belt causes you to prejudge their ability. Ideally, you should only know how good they are by actually training/fighting w…

> Kendo doesn't have belts like most other martial arts, the principle being that seeing the color of someone's belt causes you to prejudge their ability.

TIL: This is a really interesting perspective; Thank You for this! I will use it from now to calm myself down. I, always either got mortified by the extreme skill of my juniors or by the incompetence of seniors — not sure if it’s the case with me or is it a general feeling.

The Kendo way at-least makes me ignore the titles :)

Re: What does a Principal Software Engineer do?

#162
The descriptions in the article are roughly correct for companies that have modeled themselves on Google, which is most companies headquartered in the Bay Area.

Microsoft's Principal Engineer is much more junior than at these companies. It's more like Senior/Staff Engineer. Amazon (headquartered in Seattle like Microsoft), also has a Principal Staff Engineer role which is less senior than Principal at Google and most other Bay Area companies, roughly equivalent to Senior Staff at those companies.

Re: What does a Principal Software Engineer do?

#163
post #157

Earlier quoted context omitted.

The vast majority of titles in tech confer more prestige than deserved, because there's no downside to a company handing them out like candy. I don't look at it as a portability issue, the incentive isn't to be accurate to begin with. Inflated seniority is just a perk they can offer that doesn't cost them any money, so everyone offers it. Titles across the industry are meaningless unless you're calibrated to that com…

> there's no downside to a company handing them out like candy. Some companies believe this, but I don't think it's true. Handing out titles like candy can kill morale.

I get what you're saying but I think it generally does the opposite. People like prestige.

Re: What does a Principal Software Engineer do?

#164

Having been at several companies, I think I was happiest about my career when I didn’t have a fancy title and did not really know anyone else’s either (aside from obvious managers). It was nicer just knowing who’s in charge of what thing , and seeing your influence grow as you are trusted with more things . When I see titles, it just makes unhelpful thoughts enter my head, like: are all these people “at my level” rea…

I hadn't thought about it in this context before, but I used to train Kendo ( https://en.wikipedia.org/wiki/Kendo ), a Japanese martial art, a long time ago. One interesting thing is that Kendo doesn't have belts like most other martial arts, the principle being that seeing the color of someone's belt causes you to prejudge their ability. Ideally, you should only know how good they are by actually training/fighting w…

Reminds me of rocket league. It's 1v1s do not tell you the rank of your opponent until the end of the game. But you can clearly tell when you come across a player that is one rank above you. They play very differently.

Beating that higher ranked player promotes you to their rank (and demoted them). It's like a mini boss that the game doesn't tell you about.

Re: What does a Principal Software Engineer do?

#165

Earlier quoted context omitted.

Title inflation is real. 2 years ago I was hired as Staff with pretty high bar to clear. This year I know a team where all the seniors complain they’re not Staff, and now half the team are Staff engs.

I was under the impression that Staff just meant you have some sort of leadership role, as opposed to just being an individual contributor. Is that not the case?

[deleted]

Re: What does a Principal Software Engineer do?

#166
post #5

Always keep in mind that sometimes the "principal engineer" title is just a company's only way of hiring a senior engineer because their pay bands are so far below market rate. Don't let a description of a Google principal engineer scare you away from inquiring and applying for principal engineer positions at other companies. Source: have been that person.

Are there many folks who care more for a title than compensation? Granted, a higher title might help one win more compensation when negotiating one's next job, but fundamentally one must back that up. I mean, you could hire me as a principal engineer for $100,000 today and I could hope I can get hired as a distinguished engineer for $800,000 next year, but somehow I don't think anyone with that much money to spend is…

I'm not aware of companies caring what your current or last job title is when they hire you, and for that reason I don't think most developers care what title they get when taking a new job. The titles are really only important internally, if companies have a culture of respecting certain titles, or when they have strict salary bands for each job title that are matched to some supposed industry standard. Salary bands are a blanket corporate policy that many companies use to enforce a very crude form of hiring discipline, and over time they can get really out of touch with reality (always on the low side, of course.) In the last couple of years I've spoken with several companies that limit the salary of "senior" developers to $160k or even less. Some of these are stodgy old companies like you would expect, but some are also midwestern companies that are switching to a "remote first" model but still have salary bands calibrated to their low-COL city of origin.

Managers deal with unrealistic salary bands via title inflation when they can, but sometimes their hands are tied. I joined a team that did have the freedom to use title inflation and ended up with a principal title in a team with more principal engineers than non-principal engineers.

Re: What does a Principal Software Engineer do?

#167

Having been at several companies, I think I was happiest about my career when I didn’t have a fancy title and did not really know anyone else’s either (aside from obvious managers). It was nicer just knowing who’s in charge of what thing , and seeing your influence grow as you are trusted with more things . When I see titles, it just makes unhelpful thoughts enter my head, like: are all these people “at my level” rea…

Don't get carried away by marketing of thoughts, few folks prefer to be the mouthpiece of some grandiose concept .. if crazy ideas have followers, it becomes a cult...a cult over to.e becomes religion.

There might be some honesty / truth behind what is described but in my 2 decades of IT work, mostly ass kissers have taken home the big bucks .

Re: What does a Principal Software Engineer do?

#168

For anyone who is a Principal Engineer at a FAANG, what do you do day to day? I'm a Principal Engineer, not at a FAANG, and that mostly means i'm an expert at what I do and know the product inside and out, and I spend a good amount of time coding. I do also help others, answer questions, and deal with complex problems. I'd say I do 80% coding and 20% meetings / other things. I interviewed somewhere else and they want…

I'm a staff/principal at a FAANG. My experience agrees with the other answers here that "it depends"—specifically, on what the larger org or team needs from me at the moment. There is a chunk of consistent work, though, which is somewhat of a mix between an engineering manager and an IC.

Like engineering managers, I am responsible for planning out a team's long term goals and reporting on them to senior management. Also like engineering managers I'm responsible for hiring and evaluating technical talent, particularly the senior software engineers in our org plus people who are under consideration for promotion or hiring into my level.

Unlike engineering managers, it's important that I do "hands on" work. This includes my own tech designs and coding, but much more reviewing the designs and code of others. I see my job as delivering technical artifacts through others. What's different between the principal/staff role and the senior eng/tech lead role is the levels of indirection. For a senior eng, you are generally owning the output of a team of people (roughly 3-7 people, though it varies).

At the staff/principal level you work at the level of a team of teams, so your job is really to develop and mentor the tech leads of those teams. Occasionally you might be called in as a tie-breaker or to assist on some cross-team issue, but ideally that doesn't happen too often because the tech leads know their stuff (and they'd better because there is no way you can know the details of multiple team's worth of systems).

Re: What does a Principal Software Engineer do?

#169

Earlier quoted context omitted.

I'm waiting to find a place that won't push me to keep advancing up the career ladder, without leaving my salary lagging behind the rising cost of living. Does having limited ambition make you a bad dev/engineer, if you keep learning new things and contributing quality code at your current level of responsibility?

It doesn't make you a bad engineer, but it does, generally, put a ceiling on the value you are able to provide to the company. Individual contributors can only get so much done in a given amount of time, and over a long enough time scale, are generally interchangeable with one another. Sure, you might have some specialized knowledge or understand system X better than anybody else, but there's diminishing returns on t…

> As you move up the chain, it eventually stops being about your direct technical contributions and about your ability to multiply the value of everybody under you in your org.

This will forever strike me as a post hoc rationalization for justifying salary increases when the truth is that the salary increase is just a natural outcome of being granted institutional authority. This is the most visible with the CEOs that fail being given absurd bonuses and then justifying that as necessary to attract top talent. The people that are value divisors are still given huge remunerations precisely because of the position, not because of their impact.

To the exclusionary aspect of the idea, unless your employees are being micromanaged then a large part of their work is discretionary. If they are not being kept in the dark and are not working alone then a large part of their work is also collaborative. Putting these things together, your good employees will field requests from other teams, prioritize them on an ad hoc basis, connect dots and report opportunities amongst themselves: solving problems that influence many more customers than the direct ones they work with. Promoting them will move them out of the circle where they learn about these situations on the ground. Instead of multiplying your capabilities, you may end up dividing your people by removing a key communicator from the employee social network when you promote them. Potentially, everyone recognizes there is a problem, but the problem solver role is a vacuum. Worse if nobody is able to recognize there is a problem now that the person who was able to recognize it is faced with different challenges.

Institutional authority is not isomorphic to collaborative potential (or any general notion of work multiplication). Personal authority, respect, cooperation, skill, insight, all kinds of things can make a person's individual contributions many times greater. All these things are independent of institutional authority and the actual use of institutional authority will almost always come off as a cheap form of insecurity: "Do it because I'm the boss."

The truth is that it is easy to create a hierarchy and challenging to measure impact.

Re: What does a Principal Software Engineer do?

#170

Earlier quoted context omitted.

It doesn't make you a bad engineer, but it does, generally, put a ceiling on the value you are able to provide to the company. Individual contributors can only get so much done in a given amount of time, and over a long enough time scale, are generally interchangeable with one another. Sure, you might have some specialized knowledge or understand system X better than anybody else, but there's diminishing returns on t…

> it eventually stops being about your direct technical contributions and about your ability to multiply the value of everybody under you in your org. I thought that was the whole point of the IC track: putting a technical person into a role where they can be a multiplier without burdening them with management responsibilities. Every staff/principle/architect IC I've ever worked with has had that kind of positive eff…

Parent was explicitly stating they didn't want to climb the career ladder. i.e. They wanted to remain at a Sr Engineer level perpetually, but also not have their salary stagnate.

I don't disagree that principle engineers can and should have a big multiplying effect, but I also wouldn't consider them strictly IC's either, even if they don't have people managing duties.

Post reply on HN