The Frustration of “Not Quite Senior Yet”
You’re doing your job as a software engineer.
✅ You’re writing solid code.
✅ Your pull requests get approved.
✅ You fix production issues quickly and help teammates when they’re stuck.
Overall, you’re doing well.
So when promotion discussions come around, it’s confusing to hear: “You’re doing great, but we want to see more.”
It sounds encouraging but feels vague. 😕
The truth is, most engineers hit this point. You’re no longer junior, but “senior” still feels out of reach. That’s the invisible ceiling every mid-level engineer eventually faces.
The Real Reasons Many Get Stuck
Pure Technical Skills Stop Working
At some point, writing better code doesn’t change how people perceive your level anymore. The ceiling appears not because you lack skill, but because you haven’t shifted focus. There are many other skills that need development. For example:
Owning an incident end-to-end: immediate mitigation, short-term solution, and long-term solution.
Explaining tradeoffs to and aligning priority with stakeholders.
Providing meaningful review to other members’ work.
It’s intimidating, but it’s the only way to expand your skill set.
However, many engineers still focus solely on technical skills, because that’s their comfort zone.
Avoiding Ambiguity
Mid-level engineers often thrive when things are clear, such as well-defined tickets and known requirements.
Don’t get me wrong, there’s nothing wrong with that.
But if you aim for a senior role, you need to step out of the “clean” zone, and step into the “grey” zone.
It’s a place where the problem isn’t fully defined yet. If you wait for clarity before acting, you’ll always be one step behind. The real growth comes from learning to move even when things are messy, such as asking the right questions, proposing directions, and helping the team find structure where none exists.
It’s hard to be that person when all your projects are more straightforward.
Staying Too Quiet
Silence feels safe. You don’t want to bother your manager or sound like you’re overstepping. But this habit quietly caps your visibility.
Managers actually value those who identify problems and find solutions proactively (at least most of them 😅). Communication is how your work becomes visible and trusted. Staying quiet makes your contributions invisible, even if your code is excellent.
Most mid-level engineers quietly follow instructions and finish assignments. That habit kills a lot of opportunities.
Also There’s The Invisible Ceiling
To make things worse, there are also factors that are out of your control. These are some common blockers in an organization:
Companies Don’t Explain What “Senior” Really Means
Most large companies have their engineering ladder definition like this, but not all of them. And it’s even more blurry in small companies.
In that case, every company has its own definition of “senior,” but few ever explain it clearly. Even with an Engineering Ladder present, it’s hard to explain clearly how to apply the standard in each team’s context. It depends on the manager.
The problem is, when expectations are invisible, improvement becomes guesswork. You can deliver great results and still be told, “not quite senior yet.”
Managers Have Their Own Agenda
Your manager’s goals don’t always align with your promotion path. Sometimes, they need you to stay where you are because you’re reliable. Sometimes, they’re overloaded and can’t sponsor your growth.
They might go for the easy path and give those “hard projects” to senior members, ignoring your growth opportunities.
Managers aren’t villains, but they’re balancing competing pressures. They have pressures from their manager and other stakeholders. Understanding that helps you see why waiting for someone else to “recognize” you can lead to disappointment.
Moving Away from The “Mid-Level” Mindset
So the next question is: how do we move away from the mid-level mindset and move to a more senior one.
It’s hard to have an exhaustive list here, but as a career strategy, I would recommend the following:
Identify Opportunities with Your Manager
Every company has a definition of “senior”, so the best way to find out is to talk to your manager. Some example questions:
What’s missing between my current role and a senior role?
What are some examples you can see in the team that represent a senior dev?
Could you give me feedback about my current performance?
Have explicit conversations about what “senior” means in your team. That alignment turns vague ambition into a concrete plan. Unless your manager is a complete newbie, they should be able to give you a certain level of guidance (if not, you can always book my coaching session 😛).
In addition, it gives them the idea that you’re looking for growth. Next time when there is opportunity, there’s a better chance that you’re on the list.
Find a Role Model
Look around for someone who’s already operating at the level you want. It can be a senior engineer from the same team or another team. Watch how they think, communicate, and handle issues.
You can also talk to them directly and seek their advices. They were also once a mid-level engineer, so sometimes they will be able to give better advice than your manager.
You’re not copying what they do, but identifying what “senior” looks like in action so you can build your own version of it.
And… How About the Invisible Ceilings?
This is more challenging, but I would encourage you to ignore factors that you cannot control, and try to turn the tides.
If your manager wants you to stay where you are, try to negotiate. Fight for better opportunities.
If your manager gives you ambiguous feedback, take it as a signal. “You’re doing great, but…” or “We need someone who can think more strategically.” These are signals of the ceiling. Don’t take them personally. Try to decode them. They’re hints about what your company values at the next level.
Last Words
Most engineers stagger in the mid-level because they keep optimizing the same things that once made them successful. They take instructions and execute them well. At some point, it no longer works in the career game.
Some ceilings will always be there: your team member, your manager, otganization politics, timing, etc. You can’t control them all. But what you can control is your mindset. You can choose to keep growing, to stay curious, to build influence even when no one asks you to.
Once you start thinking that way, you’ve already moved beyond the mid-level mindset. 🚀
Thank you for reading the post!
❤️ Click the like button if you like this article.
🔁 Share this post to help others find it.
🎉 And I just renewed my coaching landing page!
Here’s the new design. I help engineers and managers level up their leadership skills. Feel free to reach out from here!
Also, if you are interested in guest posting, check the guideline here.
I’ll see you in the next post!



