You get promoted when you are already doing the job of the next level, and doing it consistently. Dropbox puts it as "demonstrated, sustained impact at the next level", with no checklist and no fixed number of years (Dropbox promotion principles). So the useful question isn't "how long until middle?" but "what does a middle developer do that I don't do yet?".
This article answers that for both steps: junior to middle and middle to senior. For the full ladder, including staff, principal and management, see software engineer levels.
What actually changes between levels
Three things grow with each step:
- Scope. A junior works on well-defined features. A middle developer works on features and projects inside a bigger system. A senior works across many parts of a system (Etsy Engineering Career Ladder).
- Ambiguity. A junior works "from clear instructions". A middle developer is independent when the problem is well scoped. A senior takes problems that arrive loosely scoped and gives them shape (Etsy).
- Effect on other people. A junior is reviewed. A middle developer starts reviewing and mentoring. A senior delivers either alone or by leading teammates.
Technical skills matter at every step, but promotions usually stall on the other two.
Junior to middle
What a middle developer does that a junior doesn't
- Delivers without rework. The pull request is ready when it is opened, not after three rounds of "please also handle this case".
- Estimates their own tasks. Not perfectly, but well enough that the team can plan around them.
- Debugs independently. Reads the error, reproduces it, narrows it down, and only then asks.
- Reviews other people's code. Starts with small comments and grows into real review.
Skills to add
At middle level the expected knowledge widens:
- TypeScript used properly, not just to make the compiler quiet (TypeScript Essentials)
- Framework internals: state, rendering, hooks or dependency injection (React, Angular, Vue)
- Tests at unit, component and end-to-end level
- Performance basics (Core Web Vitals) and accessibility basics (WCAG)
- HTTP, REST and GraphQL (HTTP and REST, GraphQL)
- Enough backend and database to read an API and a query (Node.js, SQL)
- CI
How to show you're ready
Ask for a task slightly bigger than usual and run it from start to finish: clarify the requirements, estimate, build, test, ship. Then do it again. One good task is a lucky week. Several in a row are a pattern, and that's what a promotion is built on.
Middle to senior
This is the harder step, and for most people it isn't about code.
What a senior does that a middle developer doesn't
- Owns a feature end to end, including the unclear parts. When the requirements are fuzzy, a senior goes and gets answers instead of waiting.
- Makes trade-offs and explains them. "We could do A or B. A is faster now, B is cheaper to change later. I suggest B because..." Written down, so others can disagree.
- Mentors juniors. Reviews that teach, pairing, unblocking.
- Improves the codebase. Fixes the thing everyone complains about, adds the missing test setup, removes dead code.
- Writes design docs before building bigger things.
- Talks to stakeholders. Product, design, other teams. Owns the outcome, not just the ticket.
Skills to add
The senior technical list from public ladders and interview guides: frontend architecture, performance profiling, accessibility in depth, design systems, build tooling, observability, API design, security basics (XSS, CSRF, CSP) and frontend system design (Auth and security covers part of that last group).
Where people get stuck
The trap is to keep getting better only at the thing that got you to middle: writing code. The senior step asks for different things: owning outcomes, leading, writing, deciding under uncertainty. If you only collect technologies, the promotion doesn't come.
Making your growth visible
None of this helps if nobody notices. Some practical habits:
- Keep a short log of what you shipped, what you decided and who you helped. Promotion conversations go better with specifics.
- Ask your manager directly: "What would I need to show to be considered for the next level?" Then ask again in three months.
- Read your company's career ladder if it has one. If it doesn't, the public ones from Dropbox and Etsy are good references.
- Write things down. Design docs and short decision notes are evidence of senior behaviour that stays around after the meeting.
Getting promoted by changing jobs
The other way up is to get hired at the next level elsewhere. Interviews change with the level you're aiming for:
- Middle interviews cover hooks, state management, forms, accessibility, debugging, API integration and CSS architecture. Many add a machine-coding round: build a UI in 45 to 60 minutes (GreatFrontEnd FAANG guide).
- Senior interviews add frontend system design and put more weight on behavioural rounds. Amazon, for example, keeps its frontend system design round for candidates with 5+ years of experience, according to GreatFrontEnd. Behavioural answers are central to which level you get (GreatFrontEnd).
What the step is worth
In the DOU summer 2026 survey, Ukrainian developers reported median net pay of $950 a month at junior level, $2,500 at middle and $4,500 at senior (dev.ua summary of the DOU survey). Junior to middle more than doubles the median, middle to senior nearly doubles it. Details in senior software engineer salary.
After senior
From senior the ladder branches: staff and principal on the technical side, engineering manager on the people side. The step to staff is about impact beyond your own team (Etsy, StaffEng). More in staff vs principal engineer.
FAQ
How long does it take to go from junior to middle?
There is no fixed time. Market convention puts middle at around two years of experience, but no primary source sets that, and Dropbox promotes on sustained impact at the next level, not on years.
What is the biggest difference between middle and senior?
Ownership of unclear problems. A middle developer is independent on well-scoped tasks. A senior takes loosely scoped problems, gives them shape and leads others through them.
Can I become senior just by learning more technologies?
Usually not. The senior step depends on ownership, trade-offs, mentoring and communication as much as on technical depth.
Should I change jobs to get promoted?
It's one of two routes. You either show next-level behaviour where you are, or pass the next-level interview somewhere else. Either way the behaviours are the same.
Practise for the level you want
Whichever route you take, at some point you'll have to explain your knowledge out loud. The ShortLesson app has short lessons and interview questions on JavaScript, TypeScript, React, Angular, Vue, HTTP and backend basics, so you can drill the topics of the next level a few minutes a day: open the courses.