News for hackers. Stuff that matters.
Re:What does a Principal Software Engineer do? by makecheck on Tuesday December 14, 2021 @01:24PM (#29555217)
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” really contributing as much as me? Sometimes I even thought the reverse, like: how can this seemingly-junior person still be stuck at that level, when he is clearly doing all this great stuff we depend on every day? Of course the especially soul-crushing case is when you encounter people that clearly suck at what they do, and they’re 1-2 levels above you; and worse, I have occasionally seen those people promoted further!

It is also hard not to look at titles on places like LinkedIn. I know I shouldn’t care, since titles mean different things at every company, and some especially-impressive-sounding titles can range from “meh” to “god-level” depending on where it is. And yet, it gets in my head sometimes, making me wonder every few years if I am at the level I should be.

When the title “matters” at a company, it also makes me consider it a factor in annual reviews. If I get a raise, bonus, etc. but see my damned title stagnate year over year, suddenly I care about this and take it as a complete lack of recognition by the company (that literally would not happen if they simply did not tell me what my title is!).

Re:What does a Principal Software Engineer do? by HeyLaughingBoy on Tuesday December 14, 2021 @03:54PM (#29557534)
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 with them.

I've been very disappointed by comparing people's titles with their actual technical ability -- somehow it never seems to be the case that the ability outstrips the title.

Re:What does a Principal Software Engineer do? by skeeter2020 on Tuesday December 14, 2021 @05:09PM (#29558730)
>> somehow it never seems to be the case that the ability outstrips the title.

Really? You've never worked with a junior who's punching far above their weight? I've had several on my team and work as hard as I can to get them promoted asap.

Re:What does a Principal Software Engineer do? by HeyLaughingBoy on Tuesday December 14, 2021 @05:23PM (#29558923)
OK, perhaps I should have said "rarely." I've had direct reports who were like that and happily gave them the max rating on Performance Reviews and recommended promotions.

That said, it definitely gets rarer the higher up you go.

Re:What does a Principal Software Engineer do? by tehjoker on Tuesday December 14, 2021 @05:27PM (#29558978)
Peter principle
Re:What does a Principal Software Engineer do? by mfrw on Tuesday December 14, 2021 @09:05PM (#29561153)
> 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? by Bolkan on Tuesday December 14, 2021 @09:36PM (#29561388)
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? by renox on Tuesday December 21, 2021 @10:49AM (#29638502)
A long time ago, Judo didn't have color belt either, they added it for the Europeans so that they could see their progression..

That's one benefit but I think that the main benefit is that when you've a high level, you'll know that this guy in front of you is a beginner and you'll go soft on him, which is quite important: if he doesn't know how to fall properly the beginner could be injured if the "high level" guy doesn't notice in time..

Re:What does a Principal Software Engineer do? by lr1970 on Tuesday December 14, 2021 @08:58PM (#29561099)
> somehow it never seems to be the case that the ability outstrips the title.

People get promoted until they reach their level of incompetence :-)

Re:What does a Principal Software Engineer do? by trgn on Tuesday December 14, 2021 @03:35PM (#29557229)
That's all true, and yet, and yet.

> and seeing your influence grow as you are trusted with more things.

That's the ideal scenario, that you earn the esteem and trust of your peers because the work you do speaks for itself.

The flipside with this is, this process takes time. It really takes years. Sometimes there will not be that time. You are a new hire brought in to do a high-impact thing; or a high-impact project crosses across the entire organization where suddenly all participants are relative stranger; or the team you worked in was of very low external visibility but a mentor recognized your potential and pulled you out to help recalibrate a different but malfunctioning team, etc...

Then titles are important. It is very unfortunate that we are very cynical of titles, because, in well-run organizations, they are meaningful, and in fact, should be meaningful. Imagine in the military if every officer had to prove themselves over and over again. It's unworkable.

At some point, larger organizations will need to grant leverage to a technical individual. A title helps with providing that.

Re:What does a Principal Software Engineer do? by vasco on Tuesday December 14, 2021 @06:34PM (#29559654)
I agree and go further to say I've seen people with demonstrated contributions suddenly clearly being more valued when they get a title, to the point that nothing changes about what they do but others rate the impact as being larger after a promotion, to the point that they eventually are actually having larger impact just because others now believe they can / should.

I've also seen the opposite, perfectly fine engineers get worse after a promotion due to the weight of the title, without any other change to their work / schedule.

Re:What does a Principal Software Engineer do? by pradn on Tuesday December 14, 2021 @01:49PM (#29555626)
You hit the nail on the head. It was very different coming from Microsoft, where people's title and level (about one-two levels corresponded to a particular title) were visible in every chat dialog, to Google where you can edit your title to anything you want and levels can be seen only by going to a tool and looking it up specifically.
Re:What does a Principal Software Engineer do? by kelnos on Tuesday December 14, 2021 @06:41PM (#29559726)
When I started at Twilio, I set my title on whatever chat we were using to something silly like "Director of Naptime Initiatives". (Well, ok, when I started we just had a poorly-used internal IRC server, so I guess this was a bit later when we got HipChat or whatever.) Sadly, these days the title field on Slack is synced with Active Directory, which has the human-readable title name, plus the level number.

It's really dehumanizing. I think I'd rather not know people's titles, just what team they're on, and their role.

Re:What does a Principal Software Engineer do? by ghaff on Tuesday December 14, 2021 @02:41PM (#29556413)
At my current company, where I've been for over ten years, I've always just made up a title to match my current focus/what seemed "fresh." My original external title that was made up to hire me didn't actually make a lot of sense and differed from the internal HR title anyway.

Ended up doing something similar in my original tech job as well. I'm not sure I've ever really used my official HR title and would probably have to look it up to be sure I'm remembering it correctly.

Re:What does a Principal Software Engineer do? by zhengyi13 on Tuesday December 14, 2021 @04:52PM (#29558455)
I've personally set my title to "Shennanigans Regularly Effected".

Also, lots of folk deliberately opt out of level visibility, too.

Re:What does a Principal Software Engineer do? by pradn on Tuesday December 14, 2021 @05:54PM (#29559256)
I didn't know you could opt out of level visibility!
Re:What does a Principal Software Engineer do? by CodeMage on Tuesday December 14, 2021 @04:00PM (#29557658)
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?

Re:What does a Principal Software Engineer do? by LargeWu on Tuesday December 14, 2021 @04:30PM (#29558119)
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 that, hence why you won't get big raises forever.

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.

Re:What does a Principal Software Engineer do? by akiselev on Tuesday December 14, 2021 @05:58PM (#29559307)
> 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 effect on the teams around them. Their schedules were indistinguishable from most managers, except they met mostly one on one and they could get a senior engineer's worth of work (impact wise) done in between the meetings instead of paying the management overhead.

Re:What does a Principal Software Engineer do? by LargeWu on Wednesday December 15, 2021 @10:52AM (#29567661)
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.

Re:What does a Principal Software Engineer do? by CodeMage on Wednesday December 15, 2021 @11:08AM (#29567911)
> They wanted to remain at a Sr Engineer level perpetually, but also not have their salary stagnate.

Pretty much that, except that I wouldn't use the word "stagnate". What I said was "lag behind the cost of living", which might not have been the most concise way of putting it, but I hoped it would get my point across.

Essentially, the conundrum I've faced too often is that if you're not climbing the ladder, the purchasing power of your salary will start falling, even if your salary rises, because the raises you get reflect the lack of regard the company has for people who aren't climbing the ladder.

Stagnation, for me, would be to stay at the more-or-less same purchasing power. And I would be fine with that.

Re:What does a Principal Software Engineer do? by spydum on Tuesday December 14, 2021 @06:05PM (#29559382)
Agree with this pretty strongly. However there is something I've observed: org multipliers can exist without managing people. HR generally doesnt know what to do with them. It's almost unreasonable to call them ICs, but there you have it.
Re:What does a Principal Software Engineer do? by LargeWu on Wednesday December 15, 2021 @10:53AM (#29567675)
This to me is a principle or architect role.
Re:What does a Principal Software Engineer do? by BlackFly on Wednesday December 15, 2021 @03:58AM (#29563559)
> 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? by kelnos on Tuesday December 14, 2021 @06:53PM (#29559861)
It certainly doesn't make you a bad anything. Your level of ambition is a personal thing. It's yours alone, and no one gets to look down on it[0]. This idea that a person's worth is tied to how far they want to and are able to go in their career is something that needs to die.

If you're happy with where you are, and happy with your salary and status, then it's fine to stay there! Certainly, as you say, continue to learn new things, make quality contributions, and get your work done.

Many companies will have what they call "terminal levels" for individual contributors (most probably don't really advertise this unless you specifically talk about it with your manager). The idea is that you can work at a level where you can get your day-to-day work done with minimal guidance, even if you need guidance on the bigger picture stuff (like what you should be working on, and why). You should certainly talk to your manager about this, if you feel comfortable. And if you don't, and/or they keep pushing you to climb the ladder further, then yeah, you should probably find a new gig.

One caveat: ageism is still an unfortunate thing in our industry, and as you get into your 40s and beyond, if you're still "only" a "senior software engineer", you may have trouble getting new jobs.

Companies don't want to get stuck with people who are perpetually "junior" and need a lot of hand-holding to get their jobs done. That's of course ok for a while someone is learning and growing, but if they aren't growing out of that, they're a liability and time sink. But once you're past that point, you should be ok. The only problem is if you end up at a weird place where no one wants to progress up through staff/principal/architect/fellow, in which case I wouldn't be surprised if everyone starts getting pressured to up their ambition. But that sort of scenario seems somewhat unlikely?

[0] Well, unless they are in your immediate family and your lack of ambition is putting their livelihood at risk in ways they can't mitigate. But I'm assuming that's not the case here ;)

Re:What does a Principal Software Engineer do? by monkeybutton on Tuesday December 14, 2021 @06:15PM (#29559481)
What will you do when you're in your 50s? I've seen what happens to older developers, they're one layoff from being totally screwed. Ageism is a real problem in the industry and it motivates me to keep advancing.
Re:What does a Principal Software Engineer do? by CodeMage on Wednesday December 15, 2021 @11:16AM (#29567962)
I don't know. I really don't, and that's scary. I've been programming since I was 7 years old, on a ZX Spectrum 48k, and now that I'm 40+, it's been a long, long time. And in all that time, I've never really wanted to be the guy who has to be responsible for a bunch of other people. All I've ever enjoyed about software development was being elbow-deep in code, and learning new things. And now that I'm older, I'm starting to get scared that the world doesn't appreciate people like that.
Re:What does a Principal Software Engineer do? by xmprt on Tuesday December 14, 2021 @02:40PM (#29556396)
On the flip side, having a title is a good way to know if you're being compensated appropriately. If you see someone 2 levels above you working on much less impactful projects then perhaps it's time to have a conversation with your manager about pay or time to start looking for new jobs.
Re:What does a Principal Software Engineer do? by kstrauser on Tuesday December 14, 2021 @03:47PM (#29557436)
On a side note, I use to see people with higher titles than mine not visibly doing as much as me, and found it grating. Now I have one of those titles, and I'm working harder than before, but a lot of it is with vendors, contractors, and overseeing projects. To ICs inside a particular project, it probably likes like I'm not doing much of anything. It changed my outlook on such things a lot.
Re:What does a Principal Software Engineer do? by eadmund on Tuesday December 14, 2021 @05:55PM (#29559266)
I have found the same thing over the years. A lot of times the folks who 'just don't do anything' and 'just don't understand' were doing plenty and understood plenty, I just was too immature to get that at the time.

Not 100% always, mind you, but way more often than not.

Re:What does a Principal Software Engineer do? by ipaddr on Tuesday December 14, 2021 @06:30PM (#29559616)
Why do you feel you should be paid more because you feel you are doing more work? You are paid the least amount possible to fill your position during the hiring cycle. Your worth is what the market will pay you.

The fact that someone else is doing more or less with a higher title shouldn't influence your life at all. Jealousy shouldn't tell you when you should look for a job. If you are unhappy leave if you are happy stay. If your happiness is determined by what a random person is paid you will never be happy.

Re:What does a Principal Software Engineer do? by joconde on Thursday December 16, 2021 @12:15AM (#29575190)
That sounds weird. Are you saying that doing more work than better-paid employees shouldn’t be an argument during salary negotiations?
Re:What does a Principal Software Engineer do? by banner2018 on Tuesday December 14, 2021 @11:26PM (#29562084)
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? by berto4 on Tuesday December 14, 2021 @05:52PM (#29559234)
i feel like a lot of folks don't care for the title as much as the monetary incentives and perceived "power" that comes with it.
Re:What does a Principal Software Engineer do? by soheil on Tuesday December 14, 2021 @03:00PM (#29556712)
> when you encounter people that clearly suck at what they do, and they’re 1-2 levels above you

I think this is a logical contradiction. If there exists people that you are in a position to judge their competence you deserve to be in their position or higher, therefore it cannot be that they are 1-2 levels higher than you.

Re:What does a Principal Software Engineer do? by burnished on Tuesday December 14, 2021 @04:30PM (#29558121)
Do people get what they deserve? It seems unclear. Therefor, no logical contradiction.

Logic is a great tool by the way, but unless you are applying it formally you might be better off not trying to invoke it casually.