Keep your team small

Most products don't require a large team to build the product, or maintain it as it scales.

Keep your team small

Paradoxically, adding more people to a team usually doesn't speed up development. It slows it down.

The more people in a project, the more difficult it is to keep everyone on the same page. Building software is naturally complex and therefore creates communication overhead in a team. And the more people there are, the more this overhead increases.

There's already an entire book about this published in 1975, yet many companies are still operating in a paradigm where having more people in an organisation is purported to be a good idea.

Seeing as many successful projects have been built by small teams (or even solo developers), I don't see why most projects need many people running them at all. Here's a few of many examples:

  • Instagram only had 13 employees when they sold the company for $1 billion.
  • As for solo developers, Eric Barone singlehandedly made Stardew Valley. Everyone would think that's an impossible workload for one guy to take on, but he still did it and proved it's possible.
  • Besides the artwork and music, Chris Sawyer singlehandedly built RollerCoaster Tycoon in assembly, which an insanely impressive feat.
  • Pieter Levels is a self-made millionaire, running everything on a single VPS. Although many projects can't be run on a single server with SQLite, it proves how far one man can go with a minimal tech stack.

The reality is most products don't require a large team to build the product, or maintain it as it scales. Even before AI was invented, technology was already advanced enough to enable a single individual to create work which can be scaled to a huge amount of users, and also automate most of the infrastructure so it doesn't have to be maintained by many engineers.

If a team is only comprised of highly skilled individuals, this reduces the need for hiring more employees to achieve the same amount of work. The work is also much higher quality, improving the odds of success. From what I've witnessed, this is necessary if you're building a startup.

Too many startups try and cut costs by hiring multiple unskilled developers, thinking this will somehow be more productive. Every time I've seen this happen it only creates more problems than it solves. Development grinds to a halt, and anything that is built is inferior quality and a nightmare to maintain. Dreams are killed because of this.

If startups focused on investing their money on fewer people who are highly skilled, they'd achieve so much more. One or a few people who are really good at their job can get a lot done in a short amount of time. The final product will be so much better and have a higher chance of success.

A bloated team also blocks flow state, which is the true currency of a successful product. The more you're in flow state, the better your work will be, and therefore the more successful your business will be. Every success in any discipline is due to flow state–it's the universal currency of achievement.

Unless people are having long, interrupted hours of focus, they can't get any real amount of work done. Meetings and unnecessary communication slow down development, which is typical as a team grows.

Therefore as a team grows, the total amount of hours of quality flow state also decreases, slowing development and degrading the quality of the product. Therefore it's better to keep a team lean so everyone can access flow more easily.

Many companies would be more successful if they followed these principles. Quality beats quantity, it's a timeless principle which applies to everything–running a team is no different.