...And then you've loaded them up with a bunch of areas where they've taken technical responsibility until they're overwhelmed with maintenance. So you can't possibly put them in a management or leadership position.I disagree with you in 3 ways:
* I didn't limit the scope to technical responsibilities. You did. I mean everything from product leadership, customer interactions, management, growth, etc. No shortage of interesting things to do in an early-stage startup if you're willing to get your hands dirty.
* You imply increased technical responsibilities are a bad thing. How can one think that and be an engineer? Being overwhelmed with maintenance may indicate other problems. Maybe your organization doesn't value gradual maintenance and has to pay it all at once. Maybe you're getting the shit maintenance work while others get the fun projects. Or maybe you have low tolerance for the unsexy but necessary work of maintaining your code.
* You present technical responsibilities and leadership as mutually exclusive. Leadership and management are not the same thing! As a technical lead you may not be anybody's boss, but in a good technical organization it should give you plenty of opportunities to show your worth while growing personally.
I think the mistake here is confusing career advancement with the number of people reporting to you. Startups don't work that way. The measuring stick for your trajectory should be 1) how much you get done and 2) how much recognition you get for it. How many people report to you is an implementation detail.
... If you've been kicking ass managing a small team, have made it clear that you're interested in a director position, and the company hires an outsider instead, maybe they're idiots and it's time to move to greener pastures. That's how smart companies find great first-time directors.
... If you're an engineer but want to try your hand as a first-time manager, and you're not given the opportunity, find a company willing to take the risk.
... And so on.