Software Engineering Levels
Lots of fields use relatively standard “levels” to streamline hiring, structure their workforce, and ensure employees are progressing in their careers. Software engineering is no different. Because there are many titles for software engineers, including:
- Developer
- Software Developer
- Programmer
- Engineer
- Software Development Engineer (SDE)
Levels help keep everyone on the same page about expectations and career progression.
What Are Software Engineering Levels?
SWE levels can help you clarify where you are on the career ladder, what you can expect in terms of day-to-day responsibility, and how you’ll be compensated. For example:
- Looking to switch companies? Look up compensation at your current level and make a shortlist of companies to target.
- Want a promotion? Research the daily responsibilities of the next level up, and take on a stretch assignment to give you experience.
Most importantly, they level the playing field by making sure everyone’s working off the same set of expectations.
Let’s take a look at the common SWE levels in turn.
Level 1: Junior Software Engineer
Career stage: Early. Junior SWEs are often right out of college, bootcamps, etc.
Level of ownership: Very little.
Day-to-day responsibilities: Junior engineers generally work on coding small pieces of projects identified and planned by higher-level engineers. Typically, you’ll find a mid-level engineer assigning tasks to junior SWEs and explaining the context of the problem.
What interviewers look for: Fast-learning team-players with creativity and strong work ethic.
How to advance to the next level: Experience, of course! Try to work with as many different tools, architectures, and problems as you can. This will help you spot problems and come up with workable solutions in the future. Get a mentor if you can - having an experienced engineer to answer questions and point you in the right direction is invaluable early on. That said, don’t forget to try out plenty of things on your own. You want to show you’re competent without supervision.
Level 2: Senior Software Engineer
Career stage: Still early, but with some significant experience. Typically three years.
Level of ownership: Significantly higher than junior. You’ll still be assigned problems, but you’ll work on them mostly without guidance.
Day-to-day responsibilities: Senior engineers work on bigger chunks of problems, often with little or no guidance. Their assignments come from engineering managers, and they’re often expected to guide the junior SWEs.
What interviewers look for: Independent problem-solvers with significant technical chops and an ability to guide others.
How to advance to the next level: Advancing past senior software engineer is all about communication skills and big-picture thinking. You’ll begin to think about whether your career will branch toward management (engineering management → CTO) or stay on an independent track (staff engineer → principal engineer.) Take on the work of mentoring and helping others, and begin to think about long-term company goals and how you might engineer scaled solutions.
Level 3: Staff Engineer
Career stage: Mid-career; typically around six years of experience.
Level of ownership: Higher than senior. You’re now giving assignments to junior and senior engineers.
Day-to-day responsibilities: Act as a “go-between” between higher management and the larger engineering team of junior and senior SWEs. You’ll come up with strong solutions to the business problems identified by higher-ups, work on solutions, and communicate them downstream.
What interviewers look for: A combination of exceptional people and technical skills.
How to advance to the next level: It gets hard from here! In order to reach the next level (principal engineer) you’ll need more than a long track record of successful team projects. You’ll need to be a proven innovator.
Level 4: Principal Engineer
Career stage: Late; 10+ years, often more, as these positions are rare.
Level of ownership: High. Principal engineers focus on problems faced by the company as a whole.
Day-to-day responsibilities: Things get much less definite here. Principal engineers focus on the company, rather than the engineering team.
What interviewers look for: True innovators.
How to advance to the next level: There’s no roadmap to the final level (Engineering Fellow) as the title is exceedingly rare and reserved for engineers and computer scientists who’ve changed the face of technology.
Level 5: Distinguished Engineer / Fellow
Career stage: Hard to say, but likely late; these are exceptionally rare posts.
Level of ownership: Highest. Fellows are leaders not just at companies, but of entire domains.
Day-to-day responsibilities: We truly can’t say. At this stage, your influence extends beyond your company.
There’s no roadmap to becoming a fellow, but your influence must be significant - think Jeff Dean and Sebastian Thrun, both at Google - developers of MapReduce and Google Street View.
Comparing Engineering Levels Across Companies
An easy way to do so is to browse levels.fyi and compare a few companies you’re interested in.
Note: You’ll notice that the first level listed is often referred to as L3 or L4. These are the entry-level positions for full-time SWEs. Different functions within the company may start at L1 or L2.
We’ll start with Google, as it’s a popular destination for your peers at Exponent, and their leveling system has been the most influential.
Comparing Google with the next four most popular companies with Exponent users looks like this:

Google, Amazon, and Facebook (Meta) all look similar, but you’ll notice that Microsoft has almost twice the number of levels. You’d likely be promoted more often at Microsoft, but the change in your responsibilities with each promotion would decrease.
How to Use Engineering Levels to Plan Your Job Search
If you’re in the early stages, we recommend learning about the leveling system at your current company (if you don’t already know) and compare with a few companies you’re interested in.
From there, it’s easy to look up compensation data and learn what the expectations will be for someone joining at your current level. It’s smart to tailor your resume to an appropriate level, and if you’ve got some extra time, you might want to take on a few stretch assignments to gain experience at a higher level. If you’re on the cusp, this little bit of extra work could result in a higher offer for you.
Also, because you’ll have an idea of what to expect for compensation, you’re in a better bargaining position once you have an offer in hand.