Remix.run Logo
pkaler 7 hours ago

As others have said, levels and titles are generally for compensation and performance reviews. Each company has their own bespoke ladder but it generally maps to:

  - L1: Intern with undergrad degree
  - L2: Intern with graduate degree
  - L3: Junior
  - L4: Intermediate
  - L5: Senior
  - L6: Staff
  - L7: Senior Staff
  - L8: Principal
  - L9: Distinguished
  - L10: Fellow
Each company has their own numbers and names but it generally progresses like that. Impact and scope scales as you head up the ladder.

L5 or Senior is usually considered a “terminal” role. That means all engineers should be able to get to this role. And people without the headroom get managed out if they can’t get to L5.

Staff+ is usually “special”. It means that people count on you to drive initiatives and you have something special other than just writing code. You are able to make product and business impact.

Distinguished and Fellow are very rare. Large FAANG companies will only have a handful of these engineers. It means you’ve made industry-wide impact like inventing map-reduce or DynamoDB or Kubernetes.

madhadron 6 hours ago | parent | next [-]

You're describing a very small number of companies that all copied each other's systems. The idea of a terminal role, for example, is pure Facebook. These do not apply in general across the industry except where managers from those small number of companies came in and shoved them in before they were fired.

seangrogg 6 hours ago | parent | next [-]

In all fairness, a LOT of this was copied over from the military. From ranks to "High Year Tenure" (aka "Up or Out") nothing here is particularly innovative.

digitalPhonix 6 hours ago | parent | prev | next [-]

Amazon had the concept of terminal role (SDE2, but I’ve heard it has changed) long before facebook existed.

sgillen 6 hours ago | parent | prev | next [-]

In my experience a lot of tech companies, at least in the Bay Area, have all copied this system.

tmp10423288442 5 hours ago | parent | prev [-]

I believe L5 was Google's terminal role at one point (over a decade ago) - not sure if it's changed since then.

vkou 5 hours ago | parent [-]

It became L4 ~5-7 years ago, but who knows these days.

rcarr 5 hours ago | parent | prev | next [-]

This does remind me somewhat of military command structures with L1-L5 being enlisted ranks and L6-L10 either being NCO or Commissioned depending on your view of how much gatekeeping is involved.

jjmarr 5 hours ago | parent [-]

Western militaries have a parallel commissioned officer and enlisted command structure where an O1 (junior officer) is technically senior to an E9 (senior enlisted NCO) and can order them around.

The idea is that command requires a separate set of skills and that experience needs to start early to have senior officers in their 50s.

In practice, junior officers are "advised" by senior enlisted on how to order people around and not taking that advice is a bad idea.

Kind of like how companies have managers and technical tracks where a line manager ignoring a senior technical person always blows up in their face.

locusofself 5 hours ago | parent | prev | next [-]

At Microsoft I would map your L6 to Principal, and L7/L8 to what we call "Partner". I'm a Principal, but I'm definitely not an 8 out of 10 yet.

palata 6 hours ago | parent | prev [-]

> Each company has their own numbers and names but it generally progresses like that.

But the big difference, I believe, is that being at the top of a ladder in one company may be completely different from being at the top in another one.

It's easy to be the CTO of a company of 2, much harder for BigTech. Even if the company of 2 has the same levels.

I have met people being very very proud of their title of CTO, and when I asked, their company had a handful of developers.