I'm in my mid 30s and has been working in the software industry for the past 16 years. I'm a Lead Engineer at the moment and I've tried jobs as architects previously and didn't enjoy it. I still love writing code, learning new tech/tooling/stack and doing hands-on technical implementation. However, at some point it seems that everyone at my stage is moving into management or higher level positions doing project management, meetings, architectural discussions (mostly meetings), etc. which I really don't enjoy doing. Has anyone here work as a technical guy until retirement and can share your experience if you have any regrets?
Thanks.
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.