Short answer

Build six IC levels (E2–E6 with a parallel M3–M5 management track), define each level by scope and impact rather than years of experience, set 1:1 compensation parity between IC and management at equivalent levels, hold formal calibration meetings every promotion cycle, and publish the rubric externally. The most expensive mistake is copying a 5,000-person company's ladder when you're 50 people, or quietly paying managers more than ICs at the same level.

Career ladders are one of the highest-leverage artifacts an engineering org produces. They tell every engineer what "next" looks like. They tell recruiters how to pitch the company. They tell managers when to promote, when to coach, and when to manage someone out. They tell finance how to budget headcount. And when they go wrong, they're the single largest driver of senior engineer attrition — because ambitious people will not stay in a system that doesn't tell them how to advance.

If you're an engineering leader at a growing company, you'll write three or four career ladders over your career. The first will be wrong. The second will fix the first. The third will be the one you actually keep. The goal of this post is to compress that learning curve.

The Core Mistake: Copying Big-Tech Ladders

When a startup engineering org hits 30–40 engineers, someone — usually the VP Eng or Head of People — pulls down the public ladder of a big company and starts adapting it. Google has nine levels. Meta has eight. Stripe has a complex matrix. Your 40-person company doesn't need any of that.

The problem with importing a big-company ladder is that big companies have job scope to fill those levels. Google has L8 distinguished engineers because Google has problems that require distinguished engineers — keeping web search infrastructure operating at planetary scale. A Series A startup does not have those problems. If you create an L8 slot, you've created a title that nobody can earn, and you've signaled to your strongest engineers that the company isn't serious about leveling.

Right-size the ladder to your scope. Build the next level when an engineer outgrows the current top. Add an IC principal level once you've had two or three staff engineers operating well above the staff bar for a year. Add an architect or distinguished tier only when the company has problems that require it. Levels exist to recognize work. Don't recognize work that doesn't exist.

Six Levels Is the Right Starting Point

For an engineering org between 20 and 100 people, six levels is the sweet spot. Here's a clean baseline you can adapt:

Level Title Defining trait
E2Engineer IOwns small, well-defined tasks; works under guidance; learning the codebase and the trade.
E3Engineer IIOwns features end-to-end on a single team; reliable executor; reviews peer code with good judgment.
E4Senior EngineerOwns systems, not just features; mentors juniors; designs across teams; the "load-bearing" level of every eng org.
E5Staff EngineerOwns multi-team initiatives; shapes architecture and tech strategy; force-multiplies other engineers; trusted by leadership.
E6Principal EngineerOwns org-wide technical direction; sets standards; resolves the hardest technical disagreements; thinks in years, not quarters.
M3Engineering ManagerManages a small team (4–8 engineers); responsible for delivery, hiring, and growth of direct reports.
M4Senior EM / DirectorManages multiple teams or managers; owns a product area; sets quarterly direction; develops other managers.
M5VP EngineeringOwns the engineering org; partners with CEO/CTO; sets multi-year technical and people strategy.

That's eight rows but it's six IC levels and three management levels — and they map to each other. E4 = M3. E5 = M4. E6 = M5. Equivalent comp, equivalent prestige, equivalent voice in leadership discussions. We'll get to why that matters in a minute.

Define Levels by Scope, Not Years

The biggest source of bad leveling is using years of experience as the level definition. "5+ years of experience to be considered for staff." This is wrong on every axis. It rewards tenure rather than impact. It penalizes engineers who joined the industry late. It creates a defensible reason to deny promotion to people who are doing the work. And it doesn't tell anyone what they actually need to do to get promoted.

Define levels by scope. The right framing for each level is: "At this level, an engineer is trusted to own X-sized problems with Y degree of independence and produces Z kind of impact."

For senior engineer (E4), a clean scope definition reads: "Trusted to own a system or service end-to-end. Designs architecture independently. Identifies and removes risk in their team's roadmap before it materializes. Mentors junior engineers without being asked. Routinely catches issues in peer code that would have made it to production. Acts as the team's technical anchor when the EM is unavailable."

That definition gives an engineer clarity on what they need to do. It gives a manager clarity on what to assess. It gives a hiring panel clarity on what they're hiring for. Years of experience is a proxy for these things; the things themselves are more useful.

The IC/Management Comp Parity Rule

This is the single most important structural decision you make. Set total compensation parity at equivalent levels. Staff IC = Senior EM. Principal IC = Director. Equivalent base. Equivalent equity. Equivalent bonus.

If you don't, here's what happens. An ambitious E4 looks up the ladder. They see that the path to higher comp runs through management. They pursue management. Some of them are excellent managers. Some of them are not. The ones who aren't drag down their teams and eventually leave with bad engagement scores attached. Meanwhile, the engineers who were natural staff/principal candidates feel passed over and start interviewing.

Common pattern at well-run orgs "We pay our staff engineers the same total comp as our directors. It's the single most important thing we do to make the IC track real instead of decorative."

The objection to this rule is usually budget: management roles are senior in title, why should an IC make the same? The answer is that staff engineers are senior. The scope of work at staff level — multi-team architecture decisions, cross-functional technical strategy, recruiting senior talent — has at least as much impact as managing a team of four. Pay the work.

Promotion Calibration: The Meeting You Cannot Skip

The single most common failure mode in a growing engineering org is drift between teams. Without calibration, "senior" on the platform team becomes a different bar than "senior" on the product team. Within 18 months, your levels mean different things in different parts of the org. Your ladder becomes decorative. Your highest-bar managers under-promote and lose people; your lowest-bar managers over-promote and drag the level down.

The fix is the calibration meeting. Every promotion cycle, engineering leadership sits in a room together with the case packets for every promotion being considered. Cases are read out loud. Discussion focuses on whether the documented work meets the level definition, not on the candidate as a person.

Calibration meetings are uncomfortable. A manager whose promotion case gets challenged can feel exposed. The discomfort is the feature. The alternative is silent drift between teams, and that's the actually expensive failure.

Hold calibration at every promotion cycle. Bring the level definitions to the meeting. Read them out loud at the start. The goal isn't to challenge individual managers — it's to make sure that across all the teams in the room, "staff" means the same thing tomorrow as it did yesterday.

Publishing the Ladder Externally

Once your ladder works internally, publish it. The companies that publish their level rubric — Square's was widely cited for years, Etsy, Buffer, Patreon, and Gusto have all published versions of theirs — get higher-quality inbound candidates because engineers self-select against the ladder.

The argument against publishing is usually some version of: "but our competitors will steal it." Your competitors will steal it. That's fine. A career ladder is not a competitive moat — the company built around it is the moat. The engineering ladder of Stripe is widely understood inside Stripe; that hasn't hurt Stripe.

The argument for publishing is much stronger. Every internal interview, every recruiting conversation, every internal calibration meeting is downstream of the question "what does staff/senior/principal mean here?" Publishing the answer once does that work everywhere it needs to be done. It also signals to candidates that you take leveling seriously, which screens out the candidates who don't.

Handling Title Inflation From Competitors

Eventually, a competitor will offer one of your senior engineers a "staff" title for the same work. Their offer is the same base, the same equity, just a fancier title. Your engineer comes to you and asks why they're not staff at your company. What do you do?

Don't promote them just to retain them. Match scope, not titles. The conversation goes: "At our company, staff means X — does the work you're doing today match that?" If it does and they should be promoted on merit, that's a different conversation that should have happened already. If it doesn't, you've protected the level definition.

Some of those engineers will leave for the inflated title. That's fine. Promoting them keeps you in a one-year cycle where you keep having the same conversation with the same people, except now your ladder is broken and the next senior engineer comes asking for the same bump. The cost of letting one engineer go for a title is much smaller than the cost of breaking your ladder.

When to Revisit the Ladder

Don't tweak the ladder every promotion cycle. That turns leveling into a moving target and signals to the org that the framework isn't trusted. Revisit every 12–18 months at small companies, every 24 months at scale.

The legitimate triggers for a revision:

When you do revise, treat it as a leveling sync. Every engineer gets reassessed against the new framework. No demotions — grandfather existing levels in. Give yourself a six-month window to recalibrate compensation against the new framework.

The Highest-Leverage Move

If you take one thing from this post: write the level definitions, set IC/management comp parity, hold a real calibration meeting, and publish the result. Most engineering orgs have a level "framework" that is in fact a Google Doc someone wrote, hasn't been updated in two years, and is consulted by no one. The companies that treat the ladder as a living artifact — versioned, calibrated, published — are the ones whose senior engineers stay.

Engineers who are good at their job want to know what's next. The ladder is the answer. Take that artifact seriously, and you'll spend a lot less time replacing senior engineers who left for the title they should have gotten at home.

Want to see what mature ladders look like in practice? Browse engineering-driven companies in our directory, or read about how Stripe's writing-first promotion process actually works. If you're an engineering leader trying to attract senior talent, your culture page is doing more work than you think — read our guide on building engineering culture pages that convert.

Frequently Asked Questions

How many levels should an engineering career ladder have?+
For an engineering org of 20–100 people, six levels is the sweet spot: E2 (entry), E3 (mid), E4 (senior), E5 (staff), E6 (principal), and a parallel M3/M4/M5 management track. Fewer than six and senior engineers hit the ceiling fast; more than six and calibration becomes impossible. Add levels as the company scales — not before.
When should we add a management track?+
Add a management track when you have at least four direct-management spans (an EM, a senior EM, a director, and a VP path) and at least 30 engineers. Below that scale, ICs do informal team-lead work and report to a founder or single director. Adding a formal management ladder too early creates titles without scope and incentivizes ambitious ICs to pursue management for status rather than fit.
What's the right comp ratio between IC and management tracks?+
1:1 at equivalent levels is the right baseline. Staff engineer total comp should equal senior engineering manager total comp. Principal engineer should equal director. If your IC ladder pays less than your management ladder at equivalent levels, every ambitious IC will pursue management whether they want to manage or not.
How should we calibrate level definitions across teams?+
Hold a calibration meeting at every promotion cycle with engineering leadership reviewing every promotion case together. Anonymize names where possible and read the case packets side by side. The goal isn't to challenge individual managers but to enforce that 'senior' means the same thing in payments as it does in infrastructure.
Should we publish our career ladder externally?+
Yes. Companies that publish their leveling rubric get higher-quality inbound candidates because engineers self-select against the ladder. Hiding it forces every interview to re-derive 'what does staff mean here?' Publishing creates a hiring filter that does work for you.
How do we handle title inflation from competitors?+
Don't match title inflation; match scope. When a competitor offers your senior engineer a 'staff' title for the same work, the right response is to clarify (internally and to the candidate) what scope staff requires at your company. If the candidate accepts your level definition, great. If they leave for a bigger-sounding title that pays the same, they were going to leave anyway.
How often should we revisit our career ladder?+
Every 12–18 months at small companies, every 24 months at scale. The trigger is usually a new level (e.g., adding 'principal' once you have multiple staff engineers who've outgrown the role). Don't tweak levels every cycle — that turns your ladder into a moving target.

Hiring engineers? Your culture page is doing the work.

The ladder is internal. The culture page is what candidates read before they reply. Put both to work for you.

For Employers → Read the culture page guide →