From startup to giant: the tech-org changes I’d make at 10, 50, and 500 people

Casey Holt

Casey Holt

September 21, 2026

From startup to giant: the tech-org changes I’d make at 10, 50, and 500 people

I have watched the same company try to “grow up” twice — once too early, once too late. The early version installed program managers before it had a program. The late version kept hallway decisions until hallway decisions started shipping outages. Both failures taught me the same lesson: org design is not a vibe. It is a response to a coordination problem you can name.

If I were rebuilding a tech org on purpose, I would not ask “what do mature companies look like?” I would ask what breaks at this headcount, then change only that. Here is the plan I would run at roughly 10, 50, and 500 people in engineering — knowing those numbers are fuzzy and the failure modes are not.

At ~10 people: protect speed without pretending you are still five

At ten engineers, you still have a social graph that fits in one room. Your advantage is shared context. Your risk is that informal norms start contradicting each other as soon as the second product surface appears.

What I would add:

  • Clear ownership of production paths. Not a full service catalog. A short list: who owns auth, billing, and the deploy that can take customers down.
  • A decision log for irreversible choices. Database, multi-tenant model, pricing invariants. One page each.
  • A tiny incident language. Three severities and a pageable rotation, even if the rotation is three people.
  • One hiring loop for your default role. Same stages, same scorecard, under a week when possible.

What I would refuse:

  • A platform team of one who becomes a ticket sink for everyone’s YAML
  • Sprint theater with points if weekly priorities and a demo already work
  • Promotion ladders longer than the product roadmap

At ten, the best “process” is still mostly norms you can say out loud. Write only what will outlive the people currently in the room.

Small engineering team space starting to need clearer structure

At ~50 people: install seams before politics invents them

Fifty is where hallway alignment dies. You can still know most names. You can no longer assume everyone heard the same plan. This is where companies either create intentional seams or accidental fiefdoms.

What I would change:

Team topology with explicit interfaces

I would organize around a few durable product/problem areas, not around technologies (“the React team”). Each team gets a mission, a backlog it can finish, and named partners for shared dependencies. If two teams share a database without an interface contract, you do not have teams. You have a distributed monolith with Slack.

A thin platform, not a throne

At fifty, I would fund a small platform group only for the constraints that are already expensive: CI reliability, environments, identity, observability defaults, and paved paths for deploys. Their job is to reduce cognitive load, not to approve every library. If platform becomes a permission gate, I would shrink it until it is a product with customers again.

Managers who still smell the work

I would hire or grow managers before the span of control becomes comedy. A manager at this size should still read PRs sometimes, join incidents, and know when a roadmap is fiction. I would not promote the best IC as a reward if they hate the job. That is how you lose an engineer and gain a reluctant calendar.

Planning that names capacity

Quarterly planning can be light: themes, bets, and explicit non-goals. What matters is that teams can say no with a trade-off, not with vibes. I would kill status meetings that exist to invent status.

What I would refuse at fifty:

  • Copying a FAANG committee structure because a new VP is homesick
  • Matrix reporting that requires two bosses to approve a three-day spike
  • OKR theater that measures activity because outcomes are scary to define

Larger office floor suggesting a company past the hallway-alignment stage

At ~500 people: optimize for strangers who must still ship together

At five hundred engineers, process is not optional decoration. It is how strangers coordinate without a shared lunch table. The goal is not to feel like a startup. The goal is to keep local speed while making cross-team change survivable.

What I would invest in:

  • Stable domain boundaries and published APIs. Internal products with owners, SLAs that mean something, and versioning habits that do not require heroics.
  • A real incident command muscle. Roles, severity, customer communication, and postmortems that create memory across orgs.
  • Career frameworks that are short enough to use. Levels should clarify expectations, not become a second product you maintain forever.
  • Platform as a product portfolio. Developer experience measured by adoption and time-to-safe-deploy, not by the number of mandated tools.
  • Architecture advice that is consultative by default and binding only for rare shared risks. Central architecture that must bless every change becomes a latency bug.

What I would refuse even at 500:

  • Process that exists to create the appearance of control for executives who do not read the system
  • Reorgs as a substitute for strategy
  • Promoting managers who cannot explain the customer impact of their org’s work

At this scale, “shipping slower” is often blamed on process when the real cause is unclear ownership, coupled systems, and incentive structures that reward local optimization. Fix those before you add another steering committee.

The through-line across all three sizes

Three questions stay constant:

  1. Where does irreversible risk live? Put writing and review there first.
  2. Where do strangers need a contract? Put interfaces and ownership there next.
  3. Where do we still have shared context? Leave that area lighter on ceremony.

Org charts should follow those answers. Most companies reverse it: they draw boxes, then invent work to fill them.

A note on “platform work I’d add” versus “process I’d refuse”

When companies feel themselves slowing down, they often reach for either more platform or more process. I would add platform where toil is shared and measurable: flaky CI, snowflake environments, missing observability, unsafe deploys. I would refuse process that merely records the toil without reducing it — endless syncs, approval chains without rollback paths, and planning rituals that cannot change a priority mid-quarter when reality changes.

Platform without product thinking becomes a bureaucracy with YAML. Process without ownership becomes a calendar with guilt. Growth needs both tools and judgment about when each is the right lever.

If I had to sequence ninety days at each stage

At 10: ownership list, incident severities, decision log, hiring scorecard.

At 50: team missions, interface contracts for the top three shared dependencies, a thin platform charter, manager load check, capacity-aware planning.

At 500: domain API standards, incident command training, DX metrics for platform, architecture escalation path for rare cross-org risks, career framework cleanup.

None of that makes you “a giant.” It makes you honest about the coordination problem you already have. The companies that ship slower as they grow are not doomed by headcount. They are doomed by importing ceremonies for a size they are not, while underfunding the seams for the size they are.

Grow the org the way you grow the architecture: add boundaries when coupling hurts, not when a blog post makes you anxious. At 10, 50, and 500, the job is the same — keep the feedback loop short enough that reality can still embarrass you in time to fix it.

More articles for you