---
title: Our Engineering Levels
layout: docs
sitemap: false
toc: false
nav: devjobs
---
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](https://fly.io/docs/hiring/working/#we-prefer-small-teams-and-bottom-up-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.
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.