Lowering the Barrier

Making programming (everything) more accessible

10 Jun 2021

Speed as a Proxy for Everything Else

At Replit we ship fast and want to keep shipping fast as we grow. That means we’re watching how fast people work throughout the interview process and their first few weeks with the company.

Lots of people have written about the importance of speed. It’s pretty straightforward. If most of the value of what you’re building lies in the future, you want to get to that future as soon as you can. Saying you should move fast feels like saying you should breathe air.

What’s hit home for me as my job has become more and more about making decisions is that speed is a signal of underlying health for a team. When you trust the people around you, know your values, know what you have to do, and understand the human & technological systems around you, you can make decisions almost instantly. Putting off a decision means you don’t have enough information, you’re concentrating on something else right now, or you don’t understand (ahem, fear) the repercussions of the decision. When I put off a decision, 99% of the time I’m avoiding (potential!) conflict or don’t have a grasp of goals.

The same goes for engineers. Solving a problem quickly can mean all sorts of things: you’re an incredible programmer, you’re familiar with the problem domain, you’re excited and focused, you enjoy problems like these, you know how to bang something simple out and iterate. Those are all positive things! Assessing speed allows you to assess this grab bag of qualities all at once, though with limited precision.

Speed is just a proxy, though. An insanely fast programmer working towards the wrong goals makes no impact (and distracts other people along the way). What we really want to know is, can you make progress under uncertainty? Often that means writing down what you don’t know or reframing a problem. You want to ping-pong between trying out ideas and consolidating what you’ve learned.