24 ms·
Ask HN: Software Engineer hitting 40: what's next?
I've been working in software engineering for 18 years. I worked mostly as individual contributor (now as a Senior Staff Engineer), also I was an Engineering Manager for couple years. Now I am interviewing after a few years at the company, and I am hit by harsh reality. For the context, I am in Europe, not in the US.
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!
- arewenotmen 5y agoI'm a 'Principal Software Engineer' - to the extent that inter-org comparisons work, this is what a lot of places call 'Staff'. I'm in my late 30s and I work in the UK for the BBC. I'm embedded in a product team. I think lack of definition, or the perspective that an advertised role is just senior+ software engineer, is probably fairly normal. Unsurprisingly employers do a bad job of describing something that ideally ought to be flexible and self-directed. Our ads would probably look a bit like this too, but the jobs themselves are varied. The question should be whether you can actually do what you see fit, in role. You will need to explore each specific opportunity to try and fathom this. I think you could do with some of that flexibility yourself though. You have quite a specific ask (who you would report to etc) and I don't think all of it is material to enjoyment. Given that your other options are doing something that is specifically *not* what you describe, like line management or product, I think you should ask yourself what you're willing to compromise on here in order to be happy. I know you're talking about your ideals but it also seems to me to be a rigid (and may I say somewhat cynical) idea of what value you might bring or be able to bring. Try thinking about it as more responsive to a problem space with an element of self-development. I feel like at present, if you talked about it on these terms with an employer, you're presenting them with a set of assertions and constraints - 'I want to do architecture whether you like it or not, I will not do mentoring'. My role has presented me with new aspects which I didn't know I liked, and it's helped me develop as a leader and particularly an empathetic leader. My job is mostly about figuring out how I can provide the most value right now, and then doing that, and it's constantly morphing. When I started, I decided the best use of my time was firefighting and putting a neglected house in order with some big technical rework pieces. Now we have a junior-heavy team and until we have a critical mass of seniority, it's mostly skilling them up. There's lots of strategy and a little architecture too but there's only so many hours in the day. I like my job a great deal. I keep doing this line of work because I like engineering, problem solving by whatever means, improving the engineering culture, and helping people. You could have this too if that's what you want - don't let your own barriers and conditions prevent it. Can't help you with compensation though - I definitely don't make a huge amount of money. Doesn't really bother me.
- a94d5dc743 5y agoNext is 41