Senior engineer is fairly low. At some point you may get tired of stagnating salary and being told what to do all the time.
They are higher technical positions that have no or very little management responsibilities (up to senior principal engineer, architect, etc). It depends also on the company and how much they value you.
Best I have seen is engineer with PhD and decades of experience be the research/architecture guru, no team, no direct reports, a lot of Matlab, and be "VP of technology" in a company of several hundreds.
> Senior engineer is fairly low. At some point you may get tired of stagnating salary and being what to do all the time
Or not. While I acknowledge that the mindset of chasing eternal growth and riches professionally is very common, is not hard to imagine a subset of people that are happy with staying in one rung of the ladder and get meaning from things outside their career.
Senior engineer is a "terminal" position at most companies, and certainly is not a bad spot. Only around 15-18% of engineers were above that at my last big tech company if I remember correctly.
Senior is the last IC level where you can pretty much exclusively focus on the technical work, in most cases. You can be very successful doing this! Staff and above roles can vary widely, but most of the time you're expected to have a multiplying effect on the team, which requires a lot more soft skills.
If a company has too many engineers above senior you run into a problem where everyone is looking for impact, but no one is doing the actual work!
> At some point you may get tired of stagnating salary and being told what to do all the time
Managers don't get told what to do all the time? Since when? Managers just get it from both sides. If you don't know about all the stuff your manager is dealing with from people above them, or from other managers in the organization: good! That means they're doing their job shielding you from that. The manager is telling their reports what to do—okay, I guess so, sometimes. But just as often they're adapting their plans to what their teams tell them can or should or has been done. And they're also being told what to do by people to whom they are direct reports. People who are, in my experience, much more demanding and much less collaborative than most managers themselves are with their teams.
I've been a manager, and I stopped all that because it felt like I had more bosses and less agency than when I was an IC.
Stagnating salary? Every job change comes with around 20-30% raise usually, so I would not call it stagnant. Managers are also being told what to do, by those above them.
Since I do not work for FAANG companies, but rather small-to-medium (regular?) tech companies, they mostly never have principal/architect roles. My current role, in most cases, is actually the highest IC role there is.
If you remain 'senior software engineer' your salary will be constrained by the market range for that position.
When you get to the top of the range your salary will only increase in line with inflation/market forces whatever you do. It's not possible to get 20-30% more every time you change job unless you've stayed a long time in your current job and they were taking advantage of you (in which case those 20-30% represent what you were actually losing).
As for titles, obviously what I meant relates to what the actual role entails. 'Senior software engineer' is usually not very senior, in my experience this often means a dev who can be left alone to deliver the specific feature they were tasked to code. As for "highest IC role there is" again, if the job description is very senior you can also negotiate commensurate title and pay.
So what? Chasing money in life is utterly stupid long term strategy, if somebody told you this they were lying to you (or deeply unhappy people who went that way and instead of admitting the mistake they just drag others in same pit). Literally everybody who achieved anything serious in life says so. Yes it sucks when you don't have them at all, but once over that they should never be the top priority.
Do what you like, and for most normal humans (TM) moving to managerial position is moving to worse job while paid marginally better. More stress, far less interesting creative work and more baby-sitting/micro-managing incompetent folks, chasing other teams, processes, politics etc (if you don't do that you are not really a manager in any bigger company).
I am software dev for 20 years, my current full time employment net salary is over 20x compared to my first full time employment while doing largely the same job. You don't get good increases by moving up the ladder, you get it by switching companies and negotiating hard. That's it for the money part.
My point is that if you want to remain IC then why limit yourself to stay close to the bottom of the pile when you could aim for better pay and more impactful and interesting work?
It's not about chasing money for the sake of it but in the real world more money always helps if you can get it. In this case this also goes with better job satisfaction.
A 20x salary increase in 20 years means either fantastic career growth up the ladder or so-called "developing country". No-one gets that kind of increase in a developed country just by moving company, or at all, really.
20x increase happened to me as well. My first full-time coding job paid around 2.5k PLN after taxes, while my highest paying job so far paid around 50k PLN after taxes. That was over the span of a bit over 15 years, with low inflation over entire timespan.
> If you remain 'senior software engineer' your salary will be constrained by the market range for that position.
The salary range is somewhere from $100k to $600k in the US depending on the company. So if you hit the cap at your current company just move to one that pays more. If you've hit that limit at a top tier company then you can start moving to higher IC roles such as Staff.
"you start moving to higher IC roles such as Staff"
QED.
I don't understand the nitpicking. It is factually impossible to get 20-30% salary increase forever if you move every 2-3 years while remaining at the same level. You'll get to the top end fairly quickly.
The person I replied to who said this has happened to them has only been in the industry 12 years. So, yes, they started as junior, then eng, now senior engineer, they moved maybe 3-4 times. But now if they stay at "senior software engineer" level then things will taper off.
Netflix is indeed an outlier and has always paid higher than the rest of the market since it's such a shitty toxic place to work and in a terrible location to boot.
Even they aren't hiring someone looking at L5 at one of the other big companies at 600k. They'll be much higher than the other companies though.
/All/ the current and former Netflix engineers I've talked to talked glowingly about working Netflix. I'm supposing there's a lot of self-selection. And they've recently started hiring remote.
Agreed. It's nice to be "Senior engineer" when you are 28. Not when you are 38 and being lorded over and over-ridden by "Staff Engineers" with half your experience.
Not everybody wants to get promoted to their level of incompetence. Some of us want to stay at a level that we are good at, and not endlessly climb a ladder.
>Best I have seen is engineer with phD and decades of experience be the research/architecture guru, no team, no direct reports
While we're at it, does anyone recommend going for PhD in EECS fields for someone who doesn't like at all to be in academia or do "research" (aka read pdfs, write proposal/papers, code up and run simulations)?
They are higher technical positions that have no or very little management responsibilities (up to senior principal engineer, architect, etc). It depends also on the company and how much they value you.
Best I have seen is engineer with PhD and decades of experience be the research/architecture guru, no team, no direct reports, a lot of Matlab, and be "VP of technology" in a company of several hundreds.