Ask HN: Software Engineer hitting 40: what's next?
442 points| man-next-door | 4 years ago | reply
I like technologies and programming, I want to further improve my skills in designing and developing reliable and maintainable distributed system, make better technical decisions. Also, I want to keep learning and playing with new techs. I am now interviewing for the roles like Staff / Principal Engineer, My expectations for the roles like Staff / Principal Engineer are that while staying hands-on, say for 30%, I will primarily use more my skills in architecture, engineering, and communications to focus on large, important pieces of functionality, technical decisions with big impact, etc. I expect that I would report to a Director or VP level manager, so that I could be exposed to a big picture, collaborate with and learn from a professional who operated on strategic level.
In reality, I am now interviewing for Staff / Principal roles and see a few problems that make me rethink my carrier plans. First, the definion for the most of those positions looks Senior Engineers with a few more years of experience: so you are limited to the scope of a single team scope, report to an Engineering manager, just be a worker at a feature conveyor, just be faster, mentor young workers, maybe get some devops skill. I feel limited in impact in such roles, my borders and carrier are defined by Engineer Managers, who are usually less experienced in engineering and leadership topics than I am. The work is also very repetitive, there is not much meaningful progression, next level. I think those titles are created to cover problems caused by diluted Senior titles: an illusional career progression candy for ICs with some salary increase.
I saw a few Staff / Principal roles that put a very high bar on technical expertise, when only 3-4 percent of all the engineers have such levels, and again usually limited to a lot of coding and a single team scope. They usually have long exhaustive interview process.
An important problem with Staff+ IC roles is that there is a low salary limit as well, and you will face much more competition for top roles. Mostly salaries top at the level of a director of engineering. It is typical for a company to have 10 directors, but only 1-2 IC with a similar compensation.
I want to work hard, and see meaningful progression: in salary, in impact, in respect.
I would like to ask for advice. I believe there are qute a lot 35+ engineers here that faced similar problems and made some decisions for their careers. Now I think to plan switching to a EM track or to Technical Product management. Thank you!
[+] [-] leet_thow|4 years ago|reply
I feel like the ability to work from home in my sweats on simple problems as a senior engineer and receive a 75th percentile income relative to my neighbors in one of the best neighborhoods in my new home state is the most societal progress I will ever experience in my lifetime. I'm a lifelong bachelor by choice. Why bother striving for anything career wise when I am on track to retire comfortably to focus on my mostly free hobbies no later than the age of 50? For a house with a 3rd bedroom I don't need?
No, best to appreciate what I have and leave the striving for the next generation of engineers.
[+] [-] notacoward|4 years ago|reply
People who have never reached either that level or that longevity will surely say I should have stayed in, played by the rules better, and built up political capital so I could make more positive change some time in the future, but you know what? I had already paid those dues many times over, and I wasn't interested in paying them yet again. For all but a few, that promise of a rosy future is just bait that employers use to justify their BS in the present. I'm not that much of a sucker. Now I'm comfortable and my time is my own, and that's the only victory condition I care about.
[+] [-] bjornsing|4 years ago|reply
[+] [-] asdfman123|4 years ago|reply
I think you can be a productive dev well into advanced age, but I think once you get to 40-ish the career becomes more like treading water until you retire.
And if you're the kind of person who doesn't like meetings and wants to go back to being an IC, you might not have that option anymore because you can't take a paycut.
[+] [-] peakaboo|4 years ago|reply
Highly recommended for a comfortable and enjoyable life unless your ego needs to compete with others to feel worthy.
[+] [-] unknown|4 years ago|reply
[deleted]
[+] [-] HarrisonFisk|4 years ago|reply
Smaller companies tend to want principal engineers in theory, but as you are finding they can often struggle with how to utilize them properly. Often you see them playing a Chief Architect role or something similar which is more hybrid with PM than pure tech. So getting PM skills could help set you up for this direction as well.
Finally, you have said you did management for a bit before, so you should know if this is an interesting path or not. This is a very different role, so I would recommend you do this only if you have the passion and desire to do this full time. Most principal engineers I know have done management for a bit and gained a lot of skills related to it, but ultimately wasn’t what they wanted to do.
[+] [-] dbrueck|4 years ago|reply
Essentially no meetings and I design and build stuff all day every day and it's great.
[+] [-] city41|4 years ago|reply
[+] [-] beebeepka|4 years ago|reply
[+] [-] stjohnswarts|4 years ago|reply
[+] [-] ajb|4 years ago|reply
[+] [-] indogooner|4 years ago|reply
[+] [-] throwawaypren21|4 years ago|reply
It's true that IC roles are less common at this level but they are definitely out there, especially in big tech. In the US anyway, it's basically a 2-tier system: $700K+ total annual comp or sub-$200. I didn't discover the former even existed outside the Bay area until the last few years, but boy am I glad I did. If you love what you do, in the right organization you'll have autonomy, creative freedom and potentially influence org-wide. And I'm not gonna lie, the money is great. (Side note to my US-based friends: at the high end, Salary.com, GlassDoor, etc is absurdly low). To the OP: if you're feeling constrained by your existing environment, consider looking around. The last 2 companies I interviewed asked virtually all design/architecture & leadership questions, no "leet code". There are definitely lots of opportunities from FB, Google, Apple & Amazon for PE roles in Europe so consider looking around. But that all assumes you fundamentally enjoy what you do (not talking structurally, actual system & technical leadership — the building & shipping part). I work hard at times, but honestly these days I could do most of my job in a couple of hours per workday. I wish you the best.
[+] [-] xyzzy_plugh|4 years ago|reply
[+] [-] throwaway_60757|4 years ago|reply
Do you have any advice for positioning a career to those first tier of jobs over the next ten to twenty years?
[+] [-] travisgriggs|4 years ago|reply
I too, just want to build things—too many legos as a child (and adult), I guess. I work at a smaller company where the software side is pretty small (5-ish), so I enjoy a huge amount of autonomy.
Having interviewed around a little, I find a lot of places that have a hole, and they’re just looking for a peg to fill it.
I already filled the hole at my current company, and wpuld be leaving a much larger holder if I were to leave.
My problem is that I’m somewhat anxious financially; a number of people depend on me for the salary and benefits I bring home. So while many people tell me I would be a strong consultant type, the insecurity frightens me. I’m good at at inventiveness, initiative, entrepreneurial behavior _when_ it’s under the umbrella of someone else’s money and I feel secure.
I’ve graduated to tech lead, semi manager, three times, and never really liked that. I just end up frustrated with those that I’m responsible for. I work better in a “we’re all dribbling the same ball” context.
[+] [-] d0gsg0w00f|4 years ago|reply
While I dont move around nearly as much as some in the industry, I do find value in moving every 3-5 years. Not really for the salary but more for the different perspectives it offers. You'll learn so much and look back at your small software team one day with fond memories and chuckle about how big the world outside that team is and how the values from a small team are hard to find. Make it something you seek out and appreciate, not just something you do every day.
[+] [-] pram|4 years ago|reply
Last year I went from Staff to Senior taking another job. I make 30k more and do essentially the same thing. If you want more money just optimize for that and stop caring about title imo
[+] [-] mixmastamyk|4 years ago|reply
[+] [-] fjfaase|4 years ago|reply
[+] [-] rufus_foreman|4 years ago|reply
Here's the deal, you're 40, you write code for money, and you're asking what's next.
What's next is that your brain is going to be slowly deteriorating, so yeah there's going to be some choices.
Like do a job that doesn't involve writing money for code, do a job that involves being a people person. One of those. I couldn't do that. I don't "get" people, maybe you do. Good luck with that.
Another choice would be to go back in time and invest money when you're in your early 20's and none of this is an issue. Time machines are great. I'm a time machine. I came back here to tell you kids to invest their money in index funds so that half a century from now, everything is going to be OK. It's going to be beautiful.
People hate time machines.
[+] [-] mikewarot|4 years ago|reply
No, it isn't. Your eyesight is going to drop, you'll need reading glasses. When you hit 50 or so, your vitreous humor will detach from your retina (if you're nearsighted like me), so you'll deal with floaters forever. So, bigger screens, with less text in a given area than you now enjoy.
Your physical health will slowly go, but that shouldn't stop you from programming for a very long time. Your ability to switch tasks and handle interruptions, will drop... flow takes time to achieve. Email is asynchronous for a damned good reason, answer it once you're done programming.
Mostly, you'll get grumpy when poked, but the computing resources should keep getting better for another decade or so before leveling off, so there's that.
[+] [-] deterministic|4 years ago|reply
[+] [-] mathgladiator|4 years ago|reply
You wound me. I'm about to turn 40, and I'm finding my brain is sharp but my body is shit. I have to deal with gout and daily pain. Fuck me. Can I have your time machine, so I can exercise more and eat less?
[+] [-] marcinzm|4 years ago|reply
[+] [-] superfrank|4 years ago|reply
In my experience, this isn't what I've seen staff engineers doing. The expectations you laid out at the top are much more in line with what I've seen staff engineers doing.
The staff engineer's I've known are basically the technical version of a VP or a director. They're often not focused on individual features, but rather new products or large scale architectural changes. The mentoring they do is often mentoring strong developers into future leaders at the company.
The staff engineers at my current company are currently focused on how to integrate multiple products where each product has three to four teams of engineers working on it. At a previous company, I can remember them being focused on whether we stay with on-prem hosting or move to the cloud.
I'm not sure where you're interviewing, but to me it sounds like they may not be big enough to need what I would consider a staff engineer, but they just have seniors that they wanted to promote.
[+] [-] progre|4 years ago|reply
[+] [-] yusufaytas|4 years ago|reply
[+] [-] md_|4 years ago|reply
[+] [-] ibains|4 years ago|reply
It is hard to hire in the bay area, especially leaders who have experience shipping high quality products (systems), so we built the team in India.
Many young companies like us struggle since a lot of the talent (definitely in the bay area) is locked up in the Faangs where poor fiscal/monetary policy in the US has inflated stock part of the compensation so much, that it makes no sense to leave.
So it is hard find principal engineers to do great work because they choose to go to large companies and get poor work for money.
The bar is high for us though, we’d look for engineers with specialized skills (compiler, database internals) and leadership on complex products. The middle is the dead zone (engineers with N years of experience wiring apps)
Not sure about the European market, but maybe you can try to go to a smaller company?
[+] [-] marcinzm|4 years ago|reply
[+] [-] dilyevsky|4 years ago|reply
> Many young companies like us struggle since a lot of the talent (definitely in the bay area) is locked up in the Faangs where poor fiscal/monetary policy in the US has inflated stock part of the compensation so much, that it makes no sense to leave.
This is just patently not true. Netflix is just one examples and there are many more. You just want top shelf talent at bottom shelf prices. If young companies struggle to hire the reason is they underpay cash or equity and just refuse to accept that simple fact.
[+] [-] hungryforcodes|4 years ago|reply
[+] [-] mathgladiator|4 years ago|reply
Ignoring titles, the problem with high level engineering roles (beyond their difficulty) is finding problems that meaningfully grow you technically as you can reach a practitioner within the field. These roles are rare because most businesses don't actually need nor benefit from them.
The other challenge is that the title inflation really messes with people. For example, a key aspect of higher level engineering is not just technical but understanding organizational shit as well. For example, it's now just about execution but planning and thinking about execution in context of 50 to 1000 people.
Take the Amazon curve: SDE I - 0 SDE II - 1 (an intern) SDE III - 5 (a team) SDE IV/Principal - 25 (a big team) Senior Principal - 125 (an org) Distinguished Engineer - the company
Using the people scale and how much you impact an organization lets you know where you are within the FANG universe (and the FANG generally are in alignment with titles and pay-bands). This represents another challenge is that being a high level engineer requires a tremendous amount of trust from management to influence everything under their empire.
What I recommend is scoping the places where the frontier is being pushed which align with what you want to work on. Second, test the waters if they have a technical hierarchy which can support you. Third, put the problem first rather than titles/comp and be willing to build trust within the organization. Influencing over 5 people requires tremendous trust.
The unfortunate aspect is that the duality of building trust can make it exceptionally rare to achieve that level. It's not a trivial level because it requires both the technical AND people skills. The only way I've seen to short-circuit it is to be absolutely a beast on the technical front, and this can be done via an open source project of exceptional merit OR building a company.
[+] [-] ozim|4 years ago|reply
Of course unless you were terribly underpaid or you spent all the money on whatever...
I am going to be 35 this year and I was working on FIRE - while I cannot really drop the job for the rest of my life. I think I have enough, like flat with no mortgage in quite OK place so I don't have to spend most of my salary on renting. Now I am looking into cutting my hours, because with my current rate working 4 days I still could save money.
I will probably stick with current company as long as possible because I hate interviews and then if I will have to I will take whatever job will be there if things go south.
But that is me I like low fuss life, keep it small and steady. Happy that I can get some beers over the weekend and play with some raspberry PI. No need to get a sports car at all :)
[+] [-] Silhouette|4 years ago|reply
As someone in that age bracket, but not working in the big US tech bubble we often discuss on HN, I don't entirely agree. I have other commitments now that I didn't have in my 20s, things that can cost a lot more money, yet which have improved my quality of life greatly and are of immense value to me.
For a 35+ year old developer here in the UK, even a good one, if they're still working most as a hands-on employee they will probably have spent the majority of their career earning a salary that is above average by UK standards but less in TC than a new grad with zero experience would get at a FAANG in a US tech centre from day one. Almost no-one with that kind of role has been earning FU money here, and we're still doing better than most of the world outside the US. For a long time, if you wanted more you either went freelance or started your own "real" business.
Today that situation is changing, slowly. Upward pressure from the crazy amounts of money in the industry both in the US and increasingly in other places as well, combined with demand for decent developers outstripping supply, means salaries that were almost unthinkable even five years ago are starting to become viable and a whole scale of technical roles above "senior" is starting to appear at larger companies. We're still nowhere near US levels, but someone recently asked me whether I'd consider taking on what we might call a senior staff or principal level role at a UK-based tech company where I'd been consulting, and the kind of salary they were asking about was at least 3x where the salary ceiling was for most UK developers just a few years ago (which many of those developers would have hit well before the 10 year mark).
So while the argument above might work in parts of the industry in the US it's not necessarily the case in other parts of the world, where new options have been opening up for highly experienced developers in recent years that could break through a long-standing ceiling and make a huge difference financially.
[+] [-] lr4444lr|4 years ago|reply
My point is, I worry less about my "career goals" and spend my time learning about my employers and how to produce high value for them, whatever form that takes. I have never worried about or feared for my job.
[+] [-] msoad|4 years ago|reply
In my company, if I try to do a lot of work it will backfire. I will out that my work is being celebrated by some no-talent PM and promoted by my sneaky manager without my knowledge. They then bring in all the "high priority" issues from "the top" to me to fix.
I learned that those people don't understand how software is built so I'm just coasting and doing the absolute minimum. Less credit stealing and less high priority feature requests from the top.
I still get Exceeded Expectations rating every year. Because I pretend my work is so difficult and takes so much time...
[+] [-] raffraffraff|4 years ago|reply
[+] [-] zz865|4 years ago|reply
Yes people will tell you can be pricipal dev or whatever but the pyramid narrows quickly, its only for people who are really good tech and people wise. That might be you but most devs assume they'll get there when they wont.
[+] [-] dafelst|4 years ago|reply
[+] [-] cableshaft|4 years ago|reply
My prior experience with other tech stacks helped me pick things up more easily too, because I know what subjects I should be googling to get the information I need, and a lot of it is basically the same concept, but with different syntax.
[+] [-] _hcuq|4 years ago|reply
[+] [-] cebert|4 years ago|reply
I’m a little younger than you (35), but can see a similar situation nearing for me soon. I’ve gone as high as I can at my current company as an individual contributor. I also was a team lead for a year with four direct reports. I love coding and building things, but I’m really starting to think I need to start making the transition into management or technical strategic leadership before I’m viewed as being too old to be an engineer. I have good social skills, enjoy public speaking, and get along with a wide range of personalities, so this transition wouldn’t be too uncomfortable for me. I can always code or do side projects on my own time.
[+] [-] rubicon33|4 years ago|reply
[+] [-] zhenghao1|4 years ago|reply
I switched to a cybersecurity startup in February 2021. I was Engineering Manager. I thought I could call the shots for all engineering decisions and hiring of software engineers. I was completely off! Not only did I inherit 2 sub-par engineers with poor work ethics, the CTO did not have a clue on what he was doing. It's a long story which I can elaborate in my blog; but I left in July 2021.
What I concluded after this experience, in terms of salary, impact and respect....all this doesn't really matter. I think the most important thing is you got to love working for your boss. The boss is the most crucial factor to consider. A good boss will be able to provide you the 3 things you mentioned. Titles don't matter either. Just make sure you aren't underpaid for someone with your experience level, then all's good.
One more thing in my list of must haves: the company you join must have people that you consider way smarter and experienced than you are. This sort of environment allows me to learn and upskill myself.
[+] [-] ceautery|4 years ago|reply
I chose to keep being a software writer, and lean into mentoring. I'm 50, and don't have trouble with respect or salary. I don't know European employment law, but over in the states it's common for higher performing devs to shop their skills around every couple of years to find a better salary.
[+] [-] voakbasda|4 years ago|reply
[+] [-] barefeg|4 years ago|reply