I need to share a story that’s been eating at me since our Series B board meeting last month.
Two years ago, we were 50 people. Flat structure. No middle management. Everyone knew everyone. We could make decisions in hallway conversations.
It was beautiful.
Then we raised our Series B. Grew from 50 to 150 people in 18 months. Kept the same flat structure because “that’s our culture.”
It collapsed spectacularly.
What Worked at 50 People
The flat org was genuinely amazing when we were small:
- Communication: Everyone in company all-hands, everyone heard everything
- Coordination: Informal Slack messages got cross-functional alignment
- Decisions: Product, engineering, design could huddle and decide in real-time
- Culture: Strong sense of “we’re all in this together”
- Speed: We shipped fast because there were no approval layers
I was a true believer. Flat orgs = fast orgs. Hierarchy = bureaucratic death.
What Broke at 150 People
Around the 120-person mark, things started fracturing:
Information silos:
- Product team planning a feature engineering didn’t know about
- Engineering building infrastructure product didn’t prioritize
- Design working on concepts that didn’t align with roadmap
Duplicate work:
- Two teams building similar customer dashboards (didn’t know about each other)
- Three different approaches to authentication (no coordination)
- Multiple teams talking to the same customer (confusing them)
Conflicting priorities:
- Who decides if we build Feature A or Feature B?
- What’s actually the company priority vs team priority?
- How do we allocate engineering resources?
Decision paralysis:
- Too many stakeholders to get alignment
- Every decision became a multi-day Slack thread
- “Let’s just schedule a meeting” (which timezone?)
The Math Problem
Here’s what I finally understood:
Communication paths don’t scale linearly. They scale exponentially.
- 50 people = 1,225 potential communication paths (n × (n-1) / 2)
- 150 people = 11,175 potential communication paths
That’s 9x more communication complexity with only 3x more people.
You can’t maintain the same informal coordination at 150 that worked at 50. The math doesn’t work.
The Resistance from Leadership
When I proposed adding structure, I hit a wall:
CEO: “We’re not a hierarchical company. Hierarchy kills innovation.”
CTO: “More managers = more bureaucracy = slower shipping.”
Head of Design: “I don’t want to create artificial barriers between teams.”
The cultural resistance was intense. We had built our identity around being “not like those corporate companies.”
But the chaos was killing us faster than structure would.
The Solution (Still Imperfect)
We didn’t add traditional management layers. Instead, we created a “coordination layer”:
Product Managers as Domain Owners:
- Each PM owns a product area (not a team, a domain)
- Responsible for cross-functional alignment in their area
- Decision authority for their domain
Engineering Leads (not managers):
- Technical decision authority for their service/domain
- Coordinate engineering work within their area
- NOT responsible for performance reviews
Clear escalation paths:
- Domain-level decisions: Domain owner decides
- Cross-domain decisions: Bi-weekly product council
- Company-level decisions: Executive team
Result:
- Decisions that took 3-5 days now take 1 day
- Duplicate work dropped by ~70%
- Team satisfaction actually increased
The Question That Haunts Me
Is there a magic number where flat orgs must add layers?
My hypothesis:
- 0-50 people: Flat works beautifully
- 50-150 people: Starts breaking
- 150+ people: Must add structure or face chaos
For those who’ve scaled companies: Where did your flat structure break? What did you do about it?