Software Teams

Scaling Engineering Teams: From 5 to 50 Developers

Proven strategies for scaling engineering teams covering team topology, communication, hiring, onboarding, and maintaining velocity.

Growth Breaks What Used to Work

A team of five developers can operate on informal communication, shared context, and minimal process. Everyone knows what everyone else is working on. Decisions happen in hallway conversations. Code review is fast because everyone understands the entire codebase.

At 15 developers, this breaks. At 30, it is chaos. The practices that made the small team effective become bottlenecks at scale. Scaling an engineering team is fundamentally about replacing informal coordination with structures that work as the team grows.

Team Topology

The Two-Pizza Rule and Beyond

Amazon's "two-pizza team" concept (a team small enough to be fed by two pizzas) captures an important truth: small teams communicate faster and make decisions faster. In practice, this means teams of 5-8 developers.

But how do you organize ten of these teams?

Stream-Aligned Teams

Organize teams around streams of work that deliver value to users, not around technical layers. A stream-aligned team owns a complete slice of the product:

  • Billing team: Owns invoicing, payment processing, subscription management, and the billing UI
  • Onboarding team: Owns registration, welcome flows, initial setup, and activation metrics
  • Platform team: Provides tools, infrastructure, and shared services that other teams use

Anti-pattern: component teams. A "frontend team" and a "backend team" create handoffs, dependencies, and waiting. Every feature requires coordination between two teams. Stream-aligned teams that own both frontend and backend for their domain ship faster.

Platform Teams

As you grow beyond 20 developers, repeated infrastructure work across teams justifies a platform team. This team provides:

  • CI/CD pipelines and deployment tooling
  • Shared libraries and SDKs
  • Monitoring and observability infrastructure
  • Development environment setup
  • Security tooling and compliance automation

The platform team's customers are the other engineering teams. Their success metric is how much faster they make everyone else.

Communication at Scale

Documentation Culture

With five developers, knowledge lives in people's heads. With 50, it must live in documents.

What to document:

  • Architecture decisions and their rationale (Architecture Decision Records)
  • API contracts between teams
  • Onboarding guides for each team
  • Runbooks for operational procedures
  • Team charters defining scope and ownership

Where to document: Pick one place and be disciplined about it. A wiki that nobody updates is worse than no wiki because people trust outdated information.

Meeting Hygiene

Meetings scale quadratically. Adding one person to a team does not add one more communication path; it adds one path to every existing member.

Rules that work:

  • Every recurring meeting has a written agenda and documented outcomes
  • Default meeting length is 25 minutes, not 60
  • "Could this be an async message?" should be asked before scheduling any meeting
  • Team-level standups stay within the team. Cross-team coordination uses async updates

RFCs for Cross-Cutting Decisions

For decisions that affect multiple teams, use a written Request for Comments (RFC) process:

  1. Author writes a document describing the problem, proposed solution, alternatives considered, and trade-offs
  2. Document is shared with affected teams for async review (typically 3-5 business days)
  3. Comments and concerns are addressed in the document
  4. A decision is made (by the author, a tech lead group, or a designated decision-maker)
  5. The decision is recorded and communicated

This process replaces meetings where 15 people discuss for an hour and leave without a decision.

Hiring for Growth

What Changes at Scale

At 5 developers, you hire for raw skill and culture fit. At 50, you also need:

  • People who can work independently without detailed guidance
  • Strong communicators who document their work
  • Engineers who mentor others (your first 10 hires need to help onboard the next 40)
  • Specialists in areas that generalists previously covered (security, infrastructure, data engineering)

Structured Interviews

Replace ad-hoc interviews with a structured process:

  • Define evaluation criteria before the interview
  • Ask the same core questions to every candidate for a given role
  • Use a scoring rubric, not gut feeling
  • Include a practical assessment (take-home or pairing session) that reflects actual work

Structured interviews are not just fairer. They are more predictive of job performance than unstructured conversations.

Onboarding

The cost of slow onboarding scales with hiring pace. If you hire 5 developers per quarter and each takes 3 months to become productive, you have 15 person-months of reduced productivity per year.

Effective onboarding program:

  • Day 1: Development environment working, first commit merged (even if it is a typo fix)
  • Week 1: Completed a small, real feature with a mentor's guidance
  • Month 1: Contributing independently to their team's sprint
  • Month 3: Fully productive, participating in code review and on-call rotation

Onboarding buddies accelerate this dramatically. Pair each new hire with an experienced team member who is their go-to person for the first month.

Maintaining Velocity

Investment Allocation

A common framework: allocate engineering capacity across three buckets:

  • 70% product development (new features, improvements)
  • 20% engineering investment (technical debt, platform improvements, tooling)
  • 10% experimentation (prototypes, spikes, learning)

The exact ratios vary, but the principle is constant: dedicating 100% to features creates technical debt that eventually slows feature delivery to a crawl.

Architecture That Enables Independence

Teams that depend on other teams to deploy their changes will always be slow. Invest in:

  • Clear API contracts between team-owned services
  • Feature flags that decouple deployment from release
  • Shared libraries versioned and published as packages (not Git submodules)
  • Independent deployment pipelines per team

Measuring What Matters

The DORA metrics provide a well-validated framework:

  • Deployment frequency (how often you ship)
  • Lead time for changes (commit to production)
  • Change failure rate (deploys that cause incidents)
  • Mean time to recovery (time to resolve incidents)

Track these per team. Teams with declining metrics need support, not pressure.

The Human Side

Scaling is not just a structural challenge. It is a cultural one. The informal, "we are all in this together" energy of a small team does not scale automatically. Building a culture where people feel ownership, have psychological safety to raise concerns, and trust their colleagues requires deliberate effort from leadership at every stage of growth.

Let's talk about your software teams needs

Whether you're modernizing your infrastructure, navigating compliance, or building new software - we can help.

Book a 30-min Call