Why You've Been at the Same Level for Too Long

Three years ago you got promoted. Or maybe it was two years ago, or four. The exact number doesn't matter as much as the feeling: another review cycle came and went, your feedback was good, and you're still at the same level. The engineers who joined after you are somewhere ahead of you now. You've started telling yourself this is just how it works here.
It probably isn't. But the reasons you're stuck are almost certainly not what you think.
Why the frustration is legitimate
The implicit promise made to most engineers early in their careers goes something like this: show up, do solid work, build tenure, and the promotions will come. That logic got most people through school, and it's not entirely wrong. Consistent performance over time should eventually translate into advancement.
The problem is that promotion systems weren't designed around tenure or consistency. They were designed around a messier, more political reality. Nobody explains the difference when you join.
Engineers on Team Blind who've been stuck for years describe a specific kind of frustration: not the sharp sting of being passed over once, but the slow erosion of confidence that comes from doing what you were told to do, for years, and not seeing it pay off. The feedback is always positive. The progress is invisible. And at some point the reasonable question becomes: is it me, or is something else going on?
Usually it's both.
What's actually keeping you stuck
Most engineers who've been at the same level for more than eighteen months fall into one or more of these patterns. None of them are character flaws. They're structural problems that look like personal failure from the inside.
The tenure trap. Years at level is not a promotion metric at most tech companies, even though it feels like it should be. Calibration committees aren't looking at how long you've been at your current level. They're looking for evidence that you're already operating at the next one. An engineer who has been at mid-level for three years doing excellent mid-level work has a weaker case than someone who has been there for eighteen months and started doing some senior-level work.
Worse, staying at the same level for a long time can quietly work against you. The longer you're there, the more the system reads your position as a settled fact. Not a verdict, but an assumption. Calibration rooms are full of people making mental models of where everyone fits, and the longer you've been at a level, the more your name belongs there in their heads.
The invisible case. Your wins are real. Most of them aren't documented anywhere that matters. Ross & Sicoly (1979) identified egocentric attribution bias: people systematically overestimate how visible their contributions are to others. You have detailed memory of what you built, fixed, and delivered over the last two years. Your manager has a partial picture. The calibration committee has almost nothing. They're working from a secondhand account delivered under time pressure, trying to reconstruct impact from things that were never written down.
The gap is never named. Vague positive feedback is not a promotion plan. "You're doing great" doesn't tell you what's missing from your case. "Keep it up" doesn't tell you which things to keep up or how they connect to the next level. Most engineers who've been stuck for more than a year have never heard their manager say specifically: here's what's missing, and here's what demonstrating it would look like.
This isn't because managers are hiding information. Giving precise, actionable promotion criteria is uncomfortable and time-consuming, so most managers default to encouragement until the conversation becomes unavoidable.
The nomination never happened. Many engineers wait for their manager to put them forward when the time is right. This is often a mistake. Steve Huynh spent four years at Amazon receiving top-tier performance ratings before understanding why he wasn't advancing. His diagnosis, published at highgrowthengineer.com: "Nobody is looking." Your manager isn't actively tracking your readiness and waiting for the right moment to nominate you. Promotion is something you have to ask for explicitly, out loud, and then follow up on.
The part that's hard to hear
The longer you've been at the same level without actively pursuing promotion, the more you've been sending an unintentional signal. Not that you're bad at your job. That you're comfortable where you are.
Companies don't tell engineers this. But staying at a level for years while doing solid work gets you read as a strong, reliable contributor at your current level, which is exactly the wrong read if your goal is to advance. You need to be seen as someone operating at the next level. Those are different things, and only one leads to a promotion conversation.
What you've been doing, working hard and hoping the recognition comes, was reasonable. It just wasn't working. And the longer it continues, the harder the positioning is to change.
What to actually do
Get the gap in writing
Have the direct conversation with your manager: "What's specifically missing from my promotion case right now?" Then ask them to write it down.
This conversation is harder than it sounds. Most engineers haven't had it. And the first answer you get will probably be vague, because your manager may not have thought carefully about it. Push past the vague answer. "More scope" isn't actionable. "Lead the next major initiative from proposal to results and present the outcome to the director" is something you can actually go do.
If your manager genuinely can't tell you what's missing, that's information too. Either they haven't thought about it, or the promotion criteria at your company are structurally opaque. In that case, find out through other channels: the official rubric, a skip-level conversation, or engineers who recently got promoted at your level and are willing to talk about what changed.
Audit the last 90 days
Write down the five highest-impact things you did in the last three months. For each one, ask three questions:
- Does my manager know about this?
- Does anyone above my manager know about this?
- Could someone who wasn't watching reconstruct the impact from what's in writing?
If the answer to questions two and three is mostly no, you have a visibility problem, not a performance problem. The work happened. It just didn't register anywhere that matters for a promotion decision.
Good work isn't enough to get promoted covers the structural mechanics of this, specifically how calibration committees make decisions and why technically excellent work can stay invisible to the people who matter.
Stop optimizing for your current level
Promotion isn't a reward for being excellent at what you're already doing. It's a bet that you can operate at the next level, which means the work that gets you promoted is often different from the work that keeps you in good standing.
This doesn't mean dropping your current responsibilities. It means identifying what next-level work looks like at your company and finding a foothold in it. Cross-team impact. Driving a project from problem definition to shipped results, not just executing tasks. Shaping technical direction rather than implementing someone else's. If you're targeting the mid-level to Senior jump specifically, the Senior bar is more concrete than you'd think. But the pattern is the same regardless of level: more scope, more organizational visibility, more initiative you initiated.
Career pathing for software engineers covers how to get clarity on exactly what the next level requires at your company and whether your current work is building toward it.
Set a deadline and make it a joint project
Ask your manager directly: "If I do X, Y, and Z by [date], will you nominate me for promotion in the next cycle?"
Most engineers never ask this. They wait for readiness to be declared. The question clarifies whether the criteria are actually achievable in the timeframe, and it creates accountability. Once your manager says yes, the conversation stops being abstract.
Your boss doesn't know you want a promotion covers how to start this conversation, including what to say when your manager seems caught off guard by the ask.
Once the goal is explicit, making your manager an effective advocate in calibration is the next piece to get right.
What people who got unstuck actually did
Engineers who broke out of long stagnation periods didn't just work harder. They changed how they engaged with the process.
On Team Blind, the same moves come up again and again in threads where someone finally got promoted after two or three stuck years:
- Named the goal explicitly in a 1:1: "I want to be at [next level] by [date]. What do I need to do?"
- Got the criteria in writing and followed up on them
- Shifted at least part of their effort toward work visible beyond their immediate team
- Started documenting wins in real time rather than reconstructing them during self-review season
- Found a senior engineer or skip-level who was aware of their work and could speak to it if asked
The engineers who stayed stuck ran the other play: excellent work, low visibility, no explicit conversation, and a quiet assumption that the recognition would arrive on its own.
If you've already been through a cycle where you thought you were ready and it didn't happen, Passed over for promotion again? Here's what to actually do covers the next steps from that specific situation.
If you made a formal, deliberate promotion bid and it was explicitly denied, how to recover from a failed promotion attempt covers how to diagnose what went wrong and what to do differently next cycle.
The case is buildable
Being at the same level for too long isn't a verdict on your ceiling. It's a gap in documentation, communication, and conversations that never happened.
The wins are already there. They just haven't been made visible yet. That part you can fix.
CareerClimb tracks your wins and builds your promotion case automatically, so the next time calibration happens, your manager has everything they need to fight for you. Download CareerClimb



