The other aspect is organizational appetite for risk.
The first company I worked for let anyone grow into any role they proved they could do. If you solved the hard problems you were the senior developer, if you took the reigns you were quickly promoted to lead/manager. Seniority didn't count for anything and roles were very fluid.
That's an uncommon situation and what I've learned is it's hard to imagine if you've spent a career in more traditional organizations.