First, note you're likely to get some survivorship bias in these responses - older people who left the industry are less likely to comment on HN.
That said, as a developer in their mid-40s, here's my take:
1. In general, mid-level engineering management jobs (which I consider Manager to Senior Director level) pay significantly more because they are shittier jobs. Sure, there is the rare soul that loves these kind of jobs, but I think most Directors would freely admit they liked their day-to-day a lot more when they were coding. I find that the type of folks who succeed in these roles have basically stopped caring about work so much and are much more invested in their family life. I.e. they don't "love" their job, but they do well at it because they want to make a nice living for their family.
2. I went the senior engineer -> architect -> director -> senior director route, and honestly I hated being a director/senior director. I don't mind so much managing people, and I really enjoy mentoring, but at the director/senior director level you're doing a ton of managing up, which I hate, and there are a ton of logistical responsibilities at this level that I find mind-numbingly boring.
3. So I switched companies and am now a "principal engineer", which I love and I think is my sweet spot. I don't have any official direct reports, but I do a lot of mentoring and general "team management". Given my history, the senior execs at my company appreciate some of my "management-level input", but they know I'm most effective if I'm not involved in tweaking job-level band discussions. To echo another commenter, I do just enough management-level stuff to keep me involved at a high level, but I spend the majority of my time writing code, doing code reviews, and working closely with product management to give engineering input re: new features.
Your points just hit me directly. I consider myself pretty good with my problem solving skill and ability to learn. I feel like I am better as an IC than a manager. Yet, a few times, I got "convinced" into management role because whether manager left or they couldn't find people with enough knowledge for the position. I have always being able to say "nope".
I've been working for 10 years, same big tech company but I switched to different teams every 2 years within the same organization.
Recently, I got into a honest discussion with the senior leadership and basically said "I just want to be an IC and next step would be Principal Engineer". So, they set up a role for me to do "special" assignments: I would pick something I think I could improve either efficiency or accuracy or brand new initiative for the business need. I'm mostly doing reconnaissance works where I would go in and see if this is something feasible to do. Once, I get a proof of concept working, the next step is to get a team of engineers (or current project's team) to discuss and delegate. I have to say I really like this experience so far. It has a feeling like doing consultant works with one big client!
It would be great if management would encourage this all up and down the chain including to IC's at the ends. There are many who would want to contribute but usually end the conversation on deaf ears. Or a management chain that is bias against the unknown. But lately, especially in this environment, profitability is speaking over innovation.
I took the bait and while I don’t regret doing it, it’s definitely not my favorite job. For me, a small team of 4-9 is ideal. I can stay connected to actual work, and get the chance to mentor others.
I’m actively hiring, looking for staff engineers and principal engineers who went this route and acquired a business management toolbelt, while remaining self-driven learners with a sense of professional value based on outcomes that continued to drive evolution of their own hands-on skills.
In other words, I’m looking for people who would like to be employed as #3 after proving #2 no problem and being able to speak that language.
To clarify some of the other responses, there is confusion between someone on the Board of Directors (often called a Director of the Company) vs. an Engineering Director. In most medium-to-large software orgs, the manager tract goes something like Manager->Senior Manager->Director->Senior Director->VP->Senior VP->CTO. Obviously some of levels may not exist depending on the size of the organization, but in general a Director and above manages few ICs and instead manages managers.
In the UK at least, Director of X used to be more common than Chief X Officer, but they seem to be used roughly interchangeably. Similarly Managing Director was used more often than CEO. We seem to use a mix now but overall moving more toward US conventions.
That said, as a developer in their mid-40s, here's my take:
1. In general, mid-level engineering management jobs (which I consider Manager to Senior Director level) pay significantly more because they are shittier jobs. Sure, there is the rare soul that loves these kind of jobs, but I think most Directors would freely admit they liked their day-to-day a lot more when they were coding. I find that the type of folks who succeed in these roles have basically stopped caring about work so much and are much more invested in their family life. I.e. they don't "love" their job, but they do well at it because they want to make a nice living for their family.
2. I went the senior engineer -> architect -> director -> senior director route, and honestly I hated being a director/senior director. I don't mind so much managing people, and I really enjoy mentoring, but at the director/senior director level you're doing a ton of managing up, which I hate, and there are a ton of logistical responsibilities at this level that I find mind-numbingly boring.
3. So I switched companies and am now a "principal engineer", which I love and I think is my sweet spot. I don't have any official direct reports, but I do a lot of mentoring and general "team management". Given my history, the senior execs at my company appreciate some of my "management-level input", but they know I'm most effective if I'm not involved in tweaking job-level band discussions. To echo another commenter, I do just enough management-level stuff to keep me involved at a high level, but I spend the majority of my time writing code, doing code reviews, and working closely with product management to give engineering input re: new features.