If you find a good niche, and develop a lot of domain expertise in that area, you can likely make it to the senior levels of an IC, even if you don't have the most super-awesome technical skills.
The trick (and of course there is a trick) is to find a narrow enough niche that you would enjoy working in, where you can get paid well, but isn't so narrow that you have very limited choices regarding who to work for.
I think it's kind of rare to find a company that will promote you to "the senior levels of an IC" on just your technical domain expertise. I mean REALLY rare. At most places I've seen, you can get promoted on purely technical knowledge up to a certain level, but beyond that level, you're expected to show "leadership" and "influence" and "cross-team impact" and all that jazz. Same expectation of social skills as if you wanted to take the management track. So no matter which way you go, you ultimately plateau early in your career if you just focus on technical mastery.
Businesses are inherently social organizations, and at the higher levels, all require the typical bullshit that you though you left behind in high school: Schmoozing, smooth talking, brown nosing, political savvy, charm, confidence, cutthroat opportunism, those telltale "Ivy League mannerisms" that you see in every VP at your company. I learned this too late in my career, and it's really hard to pivot from "grumpy old man" once you become one!
+1 to all that. :) Seems to me that being a senior IC comes with risk of (1) having to take part in political BS, (2) rat-race of being compared to aggressively-climbing-the-ladder peers (if in an org that does that kind of performance nonsense), (3) not having enough time to both keep on top of tech and lead/mentor others / get scope-creeped into doing the job of a manager for non-manager pay. Therefore to me it can be a poison chalice. Instead, one can stay as a mid-level, and do it really well especially if one has a lot of years experience, and be seen as a helpful nice coworker without having to do X hours of mentoring a week to meet some kind of bar. And be less stressed, have more time for family, etc. I think the mid-levels who could've been a senior might be the savvy ones. This will probably of course, come at the expense of lower immediate salary. Long term however this may increase career longevity , more time to learn, less burn-out etc, thus salary hit is less than expected. It might be like investing your pension in a safe utility stock or something, you'll never get rich, but you'll be fine and not have to worry. :) As regards grumpy old men, from what I see its the seniors and architects that are stressed and grumpy, while I get to crank out code happily. ;) Maybe if you're grumpy, going back to mid-level is the cure? ;).
Yeah, the expectation that _everyone_ excels in leadership and influence leads to some absurd situations, like everyone on a team being "tech lead" for some part of the project. Or the all-"senior" team. Presumably they're all leading each other? Same game goes for cross-functional impact.
The whole point of the separate individual ladder was to give an alternate career path to management. What a lie that's turned out to be.
I came to realize recently that, despite having been quite ambitious, I never really wanted to rise through the ranks. It took it nice, quite job without management responsibility to show me hoe good it can be to be good in your job and not worry about career advancement. There are other things to spend energy on on life. That's the reason why I am less then thrilled to be pulled into high profile projects lately... Especially those projects will have zero real world impact despite being high profile...
The trick (and of course there is a trick) is to find a narrow enough niche that you would enjoy working in, where you can get paid well, but isn't so narrow that you have very limited choices regarding who to work for.