Junior and mid-level
Use AI coding assistants every day, and review what they write as closely as a teammate’s pull request.
Take this free software engineer level test to see where you sit on the ladder, from junior to principal, and what the next level asks for.
How many years have you worked as a software engineer?
Software engineer levels explained: what each level owns, how titles map across companies, and how to reach the next one.
Software engineer levels describe how much scope and ownership you carry, from a junior engineer who ships scoped tasks to a principal engineer who sets direction for an org. Most companies use five core levels on the individual-contributor track: junior, mid-level, senior, staff, and principal. Years of experience give a rough guide, but promotions follow scope.
| Level | Typical years | Scope | What you own | Signal you’re ready for next |
|---|---|---|---|---|
| Junior (L3) | 0–2 | Tasks and bug fixes | Well-scoped tickets, reviewed by teammates | You ship features without step-by-step guidance |
| Mid-level (L4) | 2–5 | Features in one service | Features from design to deploy | Teammates bring you their design questions |
| Senior (L5) | 5–8 | Projects across services | Design, delivery, and on-call for your team’s systems | Other teams pull you into their design reviews |
| Staff (L6) | 8–12 | Several teams | Cross-team architecture and technical roadmaps | Leaders ask you to set direction for an org |
| Principal (L7+) | 12+ | An org or product line | Technical strategy and long-term platform bets | Your decisions shape the company’s technical direction |
The software engineer career path splits after senior. You can keep growing as an individual contributor toward a staff software engineer role and beyond, or move into management as an engineering manager. At many companies, senior is also the terminal level: you can stay there for your whole career without pressure to move up.
Level titles and codes change from company to company, so the most reliable way to compare them is by scope. Levels.fyi, which publishes a standard framework for software engineering levels, maps companies’ ladders by scope, responsibility, and employee transfers instead of by pay. This test uses the codes most big-tech ladders use, from L3 for junior to L7 for principal.
| Generic level | Common L-code range | Title variants |
|---|---|---|
| Junior | L1–L3 | Software Engineer I, Associate Software Engineer, Junior Developer |
| Mid-level | L3–L4 | Software Engineer II, Software Engineer |
| Senior | L4–L5 | Senior Software Engineer, Senior Developer |
| Staff | L5–L6 | Staff Engineer, Lead Engineer |
| Principal | L7–L8 | Senior Staff Engineer, Principal Engineer, Architect |
| Distinguished | L9+ | Distinguished Engineer, Fellow |
A senior title at a 30-person startup and a senior title at a big-tech company can cover very different scope. When you compare offers, match what each level owns, and line up the two ladders side by side before you look at the title.
To reach senior, you show that you can own outcomes beyond your own code: designs, incidents, and other engineers’ growth. The jump usually takes 2–4 years, and promotions tend to follow senior work you’re already doing. If you’re working out how to become a senior software engineer, start with these four behaviors:
Pick the next feature your team needs, write down two or three approaches, and name the tradeoffs of each. Get the doc reviewed before the first line of code.
Take the work nobody owns: a shared API, a migration, a flaky pipeline. Cross-team ownership is one of the clearest senior signals.
Run the incident call, keep stakeholders updated, and write a blameless postmortem with fixes that stick.
Review pull requests for design as well as bugs, onboard new hires, and pair with teammates when they get stuck.
Keep a record as you go. Links to your design docs, postmortems, and reviews make the case for you in a promotion conversation.
AI skills show up at every rung of the engineering career ladder, and the scope grows with each level. Junior and mid-level engineers use AI tools to write and test code faster. Senior, staff, and principal engineers decide how AI features and systems get built, run, and kept reliable in production.
Use AI coding assistants every day, and review what they write as closely as a teammate’s pull request.
Ship features that call models in production, with evaluation, cost limits, and a fallback for when a model gets it wrong.
Own the platform AI runs on: inference infrastructure, data pipelines, reliability, and the architecture other teams build on.
If your result lands at mid-level or above, AI Systems Engineering is a 22-week accelerator for experienced engineers moving toward senior and staff roles. It covers the architecture, cloud, and reliability side of AI systems. If you’re earlier in your career, AI Software Engineering helps you build portfolio projects and use AI in your daily coding.
A software engineer competency matrix lists the skills a company expects at each level, so you and your manager can see what the next level asks for. Use this template as a starting point, and adjust the rows to fit your team.
| Competency | Junior (L3) | Mid-level (L4) | Senior (L5) | Staff (L6) | Principal (L7) |
|---|---|---|---|---|---|
| Scope | Scoped tasks | Features in one service | Projects across services | Initiatives across teams | Direction for an org |
| System design | Builds from existing designs | Designs components | Writes design docs for team systems | Shapes cross-team architecture | Sets architecture standards |
| Ownership | Assigned tasks | Features in production | Team systems and on-call | Reliability across teams | Reliability strategy for the org |
| Ambiguity | Needs clear requirements | Clarifies requirements with the team | Turns vague problems into plans | Frames problems for several teams | Decides which problems are worth solving |
| Mentoring | Learns from teammates | Helps peers get unstuck | Mentors one or two engineers | Grows senior engineers | Builds the org’s bench of technical leaders |
| Communication | Keeps the team updated | Explains tradeoffs in reviews | Aligns the team on decisions | Aligns several teams and managers | Aligns executives on strategy |
| AI skills | Uses AI coding tools and reviews the output | Builds features that call models | Designs AI features for production | Plans the AI platform’s architecture | Sets AI infrastructure strategy |
Mark where you stand in each row today. It’s normal to sit across two columns, and the row where you’re furthest from your target level is the one to work on first.
Most companies use five to seven engineering levels on the individual-contributor track, from junior to principal or distinguished engineer. Levels.fyi’s standard framework uses six, from entry-level engineer to distinguished engineer. The management track usually branches off after senior.
A mid-level software engineer ships features on their own, usually with 2–5 years of experience. They need less guidance than a junior engineer, but they don’t yet own cross-team design or lead incidents the way a senior engineer does.
Many engineers reach senior after 5–8 years of experience. Promotions follow scope more than time, so engineers who write design docs, lead incidents, and mentor early can get there sooner.
You answer 9 questions about your experience, scope, system design, on-call ownership, and mentoring. Each answer points to a level from junior to principal. Your result is where your answers land on average, plus the skills that separate you from the next level.
Yes. It’s free and takes about 3 minutes. You’ll share your name, email, and phone number at the end to see your result.