Full Scale Career Ladder: How We Level Developers

    Matt Watson
    By Matt Watson · CEO of Full Scale, 4x Founder, Author of Product Driven
    9 min read
    A dimly lit staircase with the text: “Not years. Not output. Full Scale Career Ladder. The fourteen things we score when we level a developer.” The Full Scale logo appears twice.
    In this article

    Two developers hand you a pull request. Both used AI to write most of it. Both pass the tests.

    One of them shipped what the model suggested. The other one noticed the model had misread the requirement, rewrote that part, and can tell you in one sentence why the original approach would have broken in production.

    Nothing on their résumés separates those two people. The diff sizes match, the languages are equally hard, and one of them has been doing this longer than the other in a way that turns out to predict nothing. The signal we used to rank developers by was output, and AI flattened it.

    So we stopped ranking on output. At Full Scale we score fourteen things across three layers, and this is the whole list.

    The Full Scale career ladder: fourteen scored items in three layers, four level dimensions plus five judgment traits and five technical competencies

    Four dimensions decide the level

    These four are not ours. Most public engineering ladders landed on the same four independently, Kickstarter and Medium and Spotify and Rent the Runway among them, and Camille Fournier’s The Manager’s Path walks through the same logic. We did not need to invent a new one. We needed to make it usable for engineers embedded on somebody else’s team.

    LevelScopeAutonomyOwnershipMentorship
    JuniorA well-defined taskWork is reviewed before it shipsBuilds what they are told to buildNone expected yet
    MidA feature, including the edge cases nobody spec’dReviewed on architecture, not every lineAccountable for their feature working in productionHelps onboard someone when asked
    SeniorA system, or a client relationship end to endTrusted to carry our judgment to a client directlyTheirs to fix at 2am, not just theirs to buildReviews code in a way that teaches
    StaffA whole engagement, or several workstreamsAnswerable for outcomes, not deliverablesAccountable for the engagement’s healthDevelops other people’s careers on purpose

    That table is the actual promotion decision. The ten items below exist to answer the question sitting underneath it, which is the only question that matters in a leveling conversation: what do you point at as proof?

    If you want the longer version of how each of those levels behaves day to day, it lives in junior, mid-level, and senior developers in the age of AI. The title taxonomy underneath them, all nine of the ones you will see on a résumé, is in the software engineer levels.

    Five of the fourteen are judgment, and three of those are Matt’s Three C’s

    Communication, curiosity, and courage are what I have argued for years are the things that separate engineers who grow from engineers who plateau, and they are the spine of Product Driven. They are the first three here. The other two are newer.

    1. Product thinking

    Product thinking means understanding the purpose behind the ticket. It shows up as somebody pushing back on a spec that is aimed at the wrong problem.

    *Proof:* they caught a requirement that would have solved the wrong problem. They can explain the business impact of something they shipped without being asked.

    2. Communication

    This one is about whether a technical decision survives contact with a non-technical person, and whether risk gets raised early instead of going quiet and hoping it resolves itself.

    *Proof:* they flagged a blocker before it became a missed deadline rather than after. Their written updates do not require a follow-up question to be useful.

    3. Curiosity

    The tell is what somebody does when something breaks. Curious developers go find out why. The rest patch the symptom and move on.

    *Proof:* they picked up a tool or technique on their own and taught it to the team. They ask why in code review, not just what.

    4. Courage

    Will they say “this is wrong” to a lead, to a client, or to me?

    *Proof:* they disagreed with somebody senior and turned out to be right. They reported their own bug before anyone else found it.

    5. AI judgment

    This one did not need to exist five years ago. Can they move faster with AI without lowering the bar, and more importantly, can they tell when the model is wrong? Do they review generated code with the same suspicion they would apply to a junior teammate’s PR, or do they rubber-stamp it?

    *Proof:* they caught a subtly wrong suggestion before it shipped. They can explain generated code line by line instead of saying it worked.

    That fifth one is the difference between a developer who got faster and a developer who got more dangerous.

    Five more are technical, and one of them can end a client relationship

    Judgment alone does not prove somebody can carry a bigger piece of the world. A developer can be a wonderful communicator and still not be ready to own a system at 2am.

    6. Architecture and system design

    From working inside a structure somebody else designed, to setting the architectural direction a team lives with for years.

    7. DevOps and infrastructure

    From following a deploy runbook, to owning observability so problems get caught before the client notices them.

    8. Project and delivery management

    From estimating one ticket badly, to scoping a multi-sprint initiative and flagging timeline risk before it surprises anybody.

    9. Quality and technical debt

    The real test is whether somebody can say “we should ship this now and pay it down in March” out loud, in advance, to a client, rather than quietly taking on debt nobody agreed to.

    10. Security awareness

    From not introducing an obvious vulnerability, to designing the data and access model with a threat in mind and being able to explain it.

    Building a development team?

    See how Full Scale can help you hire senior engineers in days, not months.

    Security carries more weight for us than it would inside a product company. A security incident on a client’s system is one of the very few things that ends the relationship outright rather than costing a sprint. We wrote about the rest of that risk surface in how we background check every developer we hire.

    The scale is 1 to 4, and a score without an example does not count

    ScoreWhat it means
    1Not yet observed. No evidence this period.
    2Emerging. One or two real instances, inconsistent.
    3Consistent. Shows up repeatedly, across different projects.
    4Multiplies others. Raises the bar for teammates, not just themselves.

    The rule that makes this work is boring and non-negotiable: a manager has to point at a concrete instance. Not an impression. Not “they seem senior.” A specific thing that happened, that somebody can name.

    Drop that rule and you have rebuilt the thing we were trying to replace, which is gut feel wearing a spreadsheet.

    One more guardrail. A single 4 does not promote anybody. Leveling reads the whole profile against the four-dimension table, because one tall spike does not carry a whole level.

    What counts as evidence in a Full Scale leveling review: vague impressions do not count, specific instances like catching an AI misreading a requirement do

    Mentorship is where most strong seniors stall

    Mentorship is a dimension in its own right, and it is the one people are most surprised to be scored on. Three things carry it: whether somebody’s code review teaches instead of just gatekeeping, whether other developers bring them judgment calls without being told to, and whether a teammate got measurably faster because of them.

    Somebody technically excellent who reviews pull requests with a thumbs-up and nothing else scores low here regardless of how good the other thirteen look.

    That is usually the exact thing keeping a strong senior from being staff. It is also the most fixable, which makes it a good thing to find.

    The test that settles it: hand them something with no spec

    Every rubric needs a gut check you can run in one conversation, and this is ours.

    Hand a developer an ambiguous problem with no spec and watch what they do with it.

    A junior asks for the spec. A mid-level developer makes reasonable assumptions and tells you what they assumed. A senior developer tells you what the spec should have been, and why, and you would have shipped the wrong thing without them.

    Years of experience will not predict which of those you get. I have met eight-year developers who ask for the spec and three-year developers who rewrite it.

    How a junior, mid-level and senior developer each respond to a problem handed over with no spec

    What this actually changes

    When somebody asks how to get promoted and make more money, “keep doing good work” just ends the conversation without answering it.

    With fourteen scored items you can do something better:

    • Show them the four-dimension table and where they sit today.
    • Name the one or two items holding them there. It is usually a mix, one judgment trait and one technical item, because people over-invest in the work they already enjoy.
    • Give them one concrete thing to do this quarter that would produce evidence for the gap.
    • Revisit with the same rubric next quarter.

    Progression stops being a negotiation and becomes a paper trail. That is better for the developer, and it is better for the client who wants to know the person on their account is getting better instead of just getting older.

    The same fourteen items are what we are looking for in the first place, which is why how we interview developers reads like a shorter version of this list.

    It also tells our training program where to aim. When the scores show a pattern of weakness, that is what the next course gets built about, which is how we train in the first place.

    Frequently asked questions

    Why not just rank developers by years of experience?

    Because years measure exposure, not judgment, and the correlation was always weaker than people assumed. AI made it worse by collapsing the output gap between an experienced developer and an inexperienced one. Two people can now produce similar-looking work while understanding it very differently, and only one of them can tell you what the code does when it breaks.

    Is this the same as a competency matrix?

    It is a competency matrix with two additions most of them are missing. The first is a scored trait for AI judgment, meaning whether somebody can tell when a model is wrong. The second is a hard evidence rule, so no score can be given without pointing at a specific thing that happened.

    How is a client’s engineer scored when the client runs the daily work?

    The four dimensions are deliberately written to be observable from the work itself rather than from being in the room. Scope, autonomy, ownership, and mentorship all leave visible traces: what someone is trusted with, how much review they need, who is accountable when it breaks, and whether teammates come to them.

    Does a higher level mean a higher rate?

    Level and rate are related but not automatic. A developer moving from mid to senior is the business case for a rate conversation, because they are now doing senior work, but the timing depends on the engagement. What the rubric changes is that the conversation starts from dated evidence instead of an assertion.

    What if a developer is strong on judgment but weak technically?

    They are a mid-level developer worth investing in, not a senior. The reverse also holds. Somebody who can architect a system alone but cannot explain the tradeoffs to a client, or will not push back when the spec is wrong, is a strong technical mid-level who needs the judgment traits to catch up before more scope is safe to hand them.

    Ask how your vendor levels people

    Most staffing companies rank developers by years and bill rate, because those two numbers are easy to put in a spreadsheet and neither one requires anybody to have an opinion.

    If you are paying senior rates, it is worth asking what the vendor thinks makes somebody senior, and whether they can point at anything specific. We can, and the list is above.

    If you are considering staff augmentation and want to talk about what your team actually needs, and how we would score somebody against it, schedule a call.

    Ready to add senior engineers to your team?

    Book a 15-minute call. Tell us your stack and where the gaps are, and we'll show you the engineers we'd put on your team.