>> I agree there needs to be a better way for people to grow. That's why I'm interested in flat structure experiments.
I worked at a startup who got bought by a large corporation. We had already had a flat structure:
Manager
Team Lead
Senior Developer
Developer
As soon as you moved to Senior Developer, your development ceased. Which lead to essentially a flat structure for developers since most didn't want to go into management. The only option was to quit - which happened frequently and increased turn over.
This lead to another crisis of how to give developers a role besides management to aspire to. They came up with two roles. One was a "research and development" role and the other was an "application development" role.
This lead to another crisis. When you have a large team of developers and only two roles to aspire to - you again have another flat structure. Too many people for too few spots put them right back where they started. If you didn't get an "R&D" or "App Dev" spot, developers got frustrated and left. It created more politics and backstabbing and "cliques". If you knew the manager, you got preferential treatment to get into these now prized roles. It actually created more problems than it solved.
In order to get around this, you have to build a hierarchy structure, not just new roles. This include title changes as well as increase in pay, increase in responsibilities, etc. You can give developers a non-management track, but it as to be structured, and give people a sense they are achieving their goals and not feeling like they're being marginalized or just another cog in the wheel.
This is why I'm not sure flat structures will work. When you reduce the ceiling of achievement for everybody, what else is there to look forward to?