Team Size

Imagine the number of lines of code you need to write. How many developers do you need?

Team of 1:

  • Pure execution

  • Cannot paralize

  • Hard to focus on devop

  • Harder to scale

  • What language scales as a single developer?

  • Easier to lose quality.

  • Harder to maintain high quality.

  • Hard to keep yourself disciplined.

  • Use linters to keep your quality up.

Team of 2:

  • All of the above:
  • Almost pure execution

Team of 5:

  • All of the above:
  • Research

Larger Teams:

  • Can divide between:
  • Execution
  • Research
  • Maintenance / Operations / Improvements

#Number of lines of code

#Lines: < 1,000

You don't need types

#Lines: 100,000+

  • Types
  • Huge amounts of refactoring


  • Have someone working on infra, and tooling, don't delegate to other teams to support this
  • Balance delivering business value and technical value
  • Translate technical value to business value

#Each team should be treated as business

  • Every thing must return business value.
  • Business value can be delivered short term or long term, but an explicit expectation must be set.
  • Every person on the team must be returning business value
  • Every team must be returning business value
  • Every subteam must be returning business value


  • How do you do a transfer of nkolwedge?
  • Allow refacotring, teaches people to learn, and gives them ownership

#Communication is key

How healthy is the team? How helpful is the team?

#Differences in philosophies

For the small stuff (styling) put it aside. Sacrifice a little for the good of the larger group.

Unless it really goes against your values.

#Working with Other Teams

Individual Communication/IRC/Slack Channels:

  • Announcements: For announcements
  • Social: For social communication
  • Internal/Team: For direct team communication
  • Helpdesk: For requests coming from other people: