And here I am, 12 years into my career as a software engineer, never, ever, wanting to be a manager. I just want to build things, I don't want to manage them. I see what it is like to be a manager as I work closely with them, and I just don't find it appealing at all.
As a senior engineer, my words also often matter, but I don't have the huge amount of responsibility that comes with being a manager, which is nice. I want less stress in my life, not more.
I guess my next 30 years in this career will be the same position I am in currently.
How much your words matter as a senior engineer depend on your management. You’re in a good situation right now, but that can change. I was in a similar situation several years back. My boss liked me and had a lot of connections. He would make sure I was in the loop on everything, make sure I had a seat at the table when decisions were being made, and seek out my opinion on what direction we should go, and told me point blank I could speak for him or any other manager and he’d back it up if needed.
We have a whole new management structure now and they are very top down, have big egos, and aren’t willing to even entertain feedback. Vocal low level managers or engineers have been getting pushed out of the company left and right, so all the autonomy and the voice I had are pretty much gone. Even things that I thought were engineering decisions have been largely removed. I will need X to build what I’m building, so I make it and it worked. Then, months later, I’m told there is a different plan for X, I did it wrong, and I’m told to remove my solution (fully automated and hands off) in favor of a corporate process and manual work by other team, which is often missed, which makes my service less reliable.
I’m glad I’m not a manager who needs to fight with these people, as I’d probably be out of a job by now so they can replace me with one of their friends. That being said, I’ve found the influence of a senior level engineer to be highly variable, even within the same company/team, on a longer timeline.
I try to stay in the small-to-medium company bracket, and in this bracket, my opinion has been decently taken into consideration. Companies that have grown large enough where endless processes start to be introduced, layers of bs jobs get added between engineers and C-levels, I've just left for smaller companies. I don't make FAANG salaries, but I'm pretty happy.
I already have daydreams about doing carpeting, as that would be something I'd actually do with my bare hands, so being a manager is 1 level even further removed from doing something with your hands. Manager building things is like saying politicians build countries. Technically not wrong, but not the kind of building I'm interested in doing.
I assume you mean carpentry, as installing carpet seems like a rough career, especially on the knees!
But even carpentry is hard on the body. Endless sawdust in your lungs, nonstop splinters, and of course spinning blades everywhere. We are very lucky that the biggest physical risk in software development is sitting down too long.
Carpentry yes, my bad! Oh yeah, it's less about carpentry in particular, more about the desire to do something tangible, with hands. Something that actually gets finished at one point. But yeah, software development is a very safe job, and we're lucky to get to do this.
You can start carpentry any day! It doesn't have to be your job, and you might enjoy it less if it was. A hammer, a saw, some scrap wood, some nails, and pretty soon you've got yourself a birdhouse!
In a large tech company not really. The Product Manager or Staff engineers build things using other engineers. The Engineering Manager uses their blood and sweat to lubricate the corporate cogs to make that process a bit more efficient.
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)?
I was the manager for my team for 6 months. It’s not that bad in the end but it’s a completely different job. I’m going back to IC next month. This was my first and probably last stint in my 15 year career
I don't think the good takeaway is to "never be a manager", more of don't be a corpo manager of stuff that's someone else's vision. It's not the difficulty of the learning or necessarily the people but the circumstances that surround it.
I think having management perspective is excellent to understand the contexts behind what is being built and why things are seemingly inefficient and broken. Gives more insight into solutions and what may not be effectively communicated. Memes as usual.
In my opinion you don't have to be a manager to know all these things. In fact, every good senior engineer should be aware of what the leadership is trying to accomplish anyway, as we're not just code monkeys, but rather problem solvers. If this isn't actively communicated to you by managers themselves (it often isn't), then you should proactively ask questions yourself, as like you said, it would give more insight into solutions.
As a senior engineer, my words also often matter, but I don't have the huge amount of responsibility that comes with being a manager, which is nice. I want less stress in my life, not more.
I guess my next 30 years in this career will be the same position I am in currently.