The way I got there is: I was overconfident and good at seeming very talented. I took jobs that didn't require a ton of technical or incredibly hard interviews. I made a crapton of personal projects and taught myself an insane amount by 19 so that I actually knew a good deal more technically and practically than some intermediate positions. And I coasted for about the first 10 years. The next 10 I overworked myself because I thought I needed to, because I didn't want to do the job anymore and figured if I just did it better than anyone else I'd feel better about it. And finally I took jobs where I was literally making the world and people better.
The whole time, I gave myself crap for not getting enough done, and much of the time felt bad for "wasting" my time. Now I realize that I have a ton of life left still and no particular goals in mind, so who cares if it's a waste as long as I can enjoy the waste? And I do (mostly) enjoy my job and my free time now. Just sucks that it took me so long to realize that who I am is fine and doesn't need fixing. Whatever happens is just life and it's OK.
Problem is, even if you're perfectly comfortable with your own limitations, and being transparent about them, graduating up through the ranks as a software dev IC or w/e means meeting or managing the expectations that higher ups unempathetically and unilaterally apply. You have to get pretty (extremely) lucky with having a space to advance in the ways that you can. The reality is that you do need to be sufficiently successful to get by, and that bar is getting higher as everything increases in cost. If the smallest piece of real estate in my city for example demands the salary of a senior faang dev to pay for, the pressure is hard to avoid.