Let’s say we have a bunch of things that need to get done, of varying size and priority.

Generally we want to do the highest priority things first, but the other factors that come into play are:

  1. Who is available (i.e. not working on something else)?
  2. Who wants to work on what - we try to match engineers with their interests as much as possible
  3. Who can be most efficient in working on what - we want to get things done as quickly as possible

Generally we just sort this out as a group, with various engineers volunteering to take on different projects, and where there’s occasionally not a clear answer, Zach asking folks to take particular tasks.

Right now, we have about 5 pods going, focusing on different features and infrastructure areas – everything from single-user improvements to Teams and cloud infrastructure.

Project leads

At Warp, for now we don’t have any standing “tech leads” who “own” different parts of the code. Instead, when there is a significant project to be done that requires more than one engineer, we generally ask one engineer to be the “lead” for that project.

What does it mean to be a “project lead”?

Being the lead does not mean: