Growing from a small engineering team to a larger organization requires intentional changes. Communication patterns, decision-making processes, and cultural practices that work at 10 people break down at 50 or 100.
Here’s what changes as you scale, and how to navigate the transitions.
Stages of Scale
10 Engineers: Everyone Knows Everything
Characteristics:
- Single team, shared context
- Informal communication (anyone talks to anyone)
- Collective code ownership
- Decisions happen naturally in conversation
- Hiring is ad-hoc
What works:
- Minimal process
- Direct communication
- Fast decision-making
- Flexibility
30 Engineers: Teams Emerge
Characteristics:
- 3-5 teams form around products or functions
- Communication starts requiring intent
- Some specialization appears
- Coordination becomes necessary
- Not everyone knows everyone
Challenges:
- Dependencies between teams
- Duplicated effort
- Knowledge silos forming
- Hiring needs to scale
50 Engineers: Structure Required
Characteristics:
- Clear team boundaries
- Managers emerge (player-coaches → dedicated managers)
- Formal processes for coordination
- Specialization (platform, security, etc.)
- Onboarding matters
Challenges:
- Slower decision-making
- More meetings
- Culture dilution risk
- Communication overhead
100 Engineers: Organization Design Matters
Characteristics:
- Multiple layers of management
- Cross-team coordination is a discipline
- Formal architecture and standards
- Dedicated functions (infrastructure, security, data)
- Career ladders and levels
Challenges:
- Maintaining velocity
- Preserving culture
- Avoiding bureaucracy
- Cross-team alignment
Team Structure
Two-Pizza Teams
Amazon’s rule: teams fed by two pizzas (6-10 people):
- Small enough for effective communication
- Large enough for meaningful work
- Clear ownership and accountability
- Minimize coordination overhead
Team Types
Stream-aligned teams: Deliver customer value directly
- Feature teams
- Product teams
- User journey teams
Platform teams: Enable stream-aligned teams
- Developer experience
- Infrastructure
- Internal tools
Enabling teams: Help other teams overcome obstacles
- Security specialists
- Performance experts
- Architecture guidance
Complicated subsystem teams: Own complex components
- ML/AI
- Payments
- Core algorithms
Clear Ownership
Each area of the codebase has a clear owner:
services/
├── orders/ # Orders team owns
├── payments/ # Payments team owns
├── users/ # Users team owns
└── platform/ # Platform team owns
Ownership includes:
- Feature development
- Bug fixes
- On-call
- Technical decisions
Communication at Scale
From Implicit to Explicit
At 10 people, information flows naturally. At 50+, it requires effort:
Documentation:
- Architecture decision records
- Runbooks
- Team charters
- API documentation
Regular communication:
- Team newsletters/updates
- All-hands meetings
- Slack channels with structure
Reducing Communication Overhead
Minimize required coordination:
- Team autonomy
- Clear interfaces
- Loose coupling
Make coordination efficient:
- Defined escalation paths
- Regular sync points
- Asynchronous by default
Conway’s Law awareness: Your organization’s communication structure will be reflected in your system architecture. Design both intentionally.
Cross-Team Coordination
For technical decisions:
- Architecture guild or committee
- RFC process for significant changes
- Tech leads forum
For product decisions:
- Product roadmap reviews
- Dependency identification
- Prioritization discussions
For execution:
- Sprint demos across teams
- Dependency tracking
- Shared milestones
Process Evolution
What to Formalize When
| Team Size | Formalize |
|---|---|
| 10 | Deployment, code review |
| 20 | On-call, incident response |
| 30 | Planning process, team charters |
| 50 | Architecture decisions, engineering levels |
| 100 | Career development, performance management |
Process Principles
Just enough process:
- Add process when pain exceeds cost
- Remove process that doesn’t add value
- Review processes regularly
Clear but flexible:
- Document the “what” and “why”
- Allow teams to adapt the “how”
- Avoid process for process’s sake
Decision-Making
Small decisions: Team autonomy Medium decisions: Team lead + stakeholders Large decisions: Broader consultation, formal RFC
# RFC: Migrate to PostgreSQL
## Problem
Current MySQL setup has scaling issues...
## Proposal
Migrate to PostgreSQL using...
## Alternatives Considered
1. Shard MySQL
2. Stay with MySQL and optimize
3. Migrate to PostgreSQL ← Recommended
## Impact
- 3 teams affected
- 4 week migration
- Retraining required
## Decision
[After review period]
Culture at Scale
What Scales
Values and principles:
- Documented, repeated, reinforced
- Hiring aligned with values
- Behavior, not just words
Rituals:
- All-hands meetings
- Demo days
- Celebrations
Shared practices:
- Code review expectations
- Testing standards
- On-call culture
What Doesn’t Scale
Founder-dependent culture:
- “The way we’ve always done it”
- Tribal knowledge
- Implicit expectations
Informal apprenticeship:
- Learning by osmosis
- “Watch how X does it”
Preserving Culture
Explicit documentation:
- Engineering handbook
- Onboarding materials
- Decision-making principles
Hiring for culture:
- Values interviews
- Culture contribution (not just fit)
- Diverse perspectives
Leadership modeling:
- Leaders embody values
- Recognition for values-aligned behavior
- Addressing values violations
Hiring at Scale
Structured Hiring
At 10 people, you interview as it comes. At 50+, you need:
Defined interview process:
- Consistent format
- Trained interviewers
- Evaluation rubrics
- Calibration sessions
Candidate experience:
- Responsive communication
- Clear timeline
- Good rejection handling
Sourcing:
- Not just referrals
- Diverse pipelines
- Employer brand
Onboarding
Week 1: Environment setup, meet team, understand context Month 1: Deliver meaningful work, understand domain Quarter 1: Fully productive, shipping independently
Buddy system: Pair new hires with experienced engineers Documentation: Onboarding checklists, learning paths Feedback loops: Regular check-ins, 30/60/90 day reviews
Technical Practices at Scale
Shared Infrastructure
Platform teams provide:
- CI/CD
- Observability
- Deployment
- Security scanning
Stream-aligned teams focus on business logic.
Standards and Autonomy
Standardize:
- Languages (limited set)
- Frameworks (blessed choices)
- Infrastructure patterns
- Security practices
Allow autonomy:
- Implementation details
- Team processes
- Local tooling
Technical Debt
At scale, tech debt compounds:
Prevention:
- Review for maintainability
- Time budgets for cleanup
- Clear ownership
Remediation:
- Dedicated time (20% rule)
- Periodic tech debt sprints
- Migration strategies
Key Takeaways
- Different scales require different approaches; what works at 10 breaks at 50
- Form two-pizza teams (6-10 people) with clear ownership
- Shift from implicit to explicit communication as you grow
- Add process when pain exceeds cost; remove when it doesn’t add value
- Document culture explicitly; it won’t spread by osmosis at scale
- Structure hiring: consistent process, trained interviewers, evaluation rubrics
- Invest in onboarding; new hires become productive faster
- Provide shared infrastructure; let teams focus on business logic
- Standardize where it matters; allow autonomy in implementation
- Manage technical debt proactively; it compounds at scale
Scaling engineering teams is organizational design. Invest in it intentionally.