It means you’re failing at some combination of knowing how to delegate, how to communicate trade offs between time, cost and requirements and how to prioritize
It takes effort to become better than you are at your current level. To get past junior, that should happen by osmosis. For some people, talent alone will take them to senior. For others, they will need to put in the time to learn how do work more efficiently.
Consider that it will take a senior developer 20 hours to do a job a junior might take 80 and the quality will be better for the senior. In turn, the senior may only code 20 hours a week and spend the other 20 in something that might take a staff engineer 5 hours.
The problem is that skill acquisition takes time.
I’ve always changed jobs. It’s a lot easier to get a “promotion” as part of an interview when you control the narrative than going through the promo process.
Besides because of salary compression and inversion, even if you do get an internal promotion, you will probably make less than someone coming in at your level.
But I’ll tell you the lack of a framework does not change anything. Then all you get is “in my judgment, you haven’t proven yourself to be senior yet.”
And the result is the same: the person leaves to a place that will appreciate them.