Our Engineering Levels

We break out engineering seniority into four levels, L1 to L4 (staff).

  • L1 Engineers tend to be early-career or people trying out a new specialty. L1’s get more management support than other engineers. If you’re an L2 and things aren’t going well, that might be on you. If you’re an L1, it’s probably on us. L1’s get a wider variety of projects; we want them getting as much contact with our stack as possible.

  • L2 Engineers are our middle-tier. An L2 will generally be responsible for running down a new feature, end-to-end. An L2 is mostly self-directed about implementation, works with L3s on designs, and collaborates on product direction. An L2 has personal responsibility for the “how” of what we’re building, but shares responsibility for the “what” and “why”. A successful L2 can fill any given week with work that will improve the lives of our users, but might need help to fill a dozen consecutive weeks.

  • L3 Engineers lead teams. We delegate to L3s entire functional areas of our platform and trust them to make smart decisions, not just about how we build things, but about what things to build. L3s are tuned in to our customers and independent sources of authority about their corner of Fly.io. L3s code, but they’re also a resource for their team: they’re helping L2s figure out what the next best feature to build is, and helping L1s figure out the right sequence PRs to get a feature done.

  • L4 Engineers are our staff level. An L4 is a technology leader across multiple different parts of our platform. They influence work on lots of teams, not just one. They’re independently responsible for making big new things happen; an L3 leads a team, an L4 might create new teams.

In order to optimize for pay equity, Fly.io doesn’t negotiate salaries. Instead, we have a standardized salary for each of these levels.

You can go from L1 to L2, or from L2 to L3. In fact, the most important job that engineering management at Fly.io has is leveling people up. We prefer small teams and bottom-up product decisions, which incentivizes us to get people as autonomous as we can.

Going down a level is more problematic, and as a rule of thumb we don’t do it. So we’re particularly careful about leveling people in the door.