The devil lies in the details.

Want to get promoted? The software developer’s secret weapon for advancing in your career.

Recently, I recorded a podcast with SoftCraft (in Czech) about how being good at the tech stuff is expected — what sets you apart for a promotion are the added details.

The secret is that moving up isn’t just about your technical skills; it also involves attributes in the managerial sphere.

So, what exactly is your manager looking for to give the green light for your promotion? This post reveals my insider tips on what managers expect to see when making this decision about your career.

The devil is in the details: Your Manager’s perception

People in software development usually think about technical skills when they want a promotion. But managers care equally about a broader set of qualities.

Being good at your job is the baseline.

There’s more to it when it comes to climbing the career ladder.

Based on my professional experience, I’ve compiled a list of behaviors, attitudes, and skills I consider at each level when deciding if someone is ready to make the leap.

By paying attention to these details, you can figure out if you have what it takes to get promoted. Or what you need to do to get there.

Let’s dive into each career stage — junior, mid, senior, and principal/staff engineer — and what managers look for to decide who wins that promotion.

1. Promoted From student to junior developer

Typically, individuals either graduate into this role or transition from positions such as support or QA within a company. From my perspective, you’re fit for a junior role if you can handle the following:

  • Code reading: This one’s obvious. You should be able to read and understand code.
  • Mastering debugging: Given that developers spend about 70% of their time in debugging mode, being able to handle breakpoint conditions is a must.
  • Communication skills: Being communicative and demonstrating an eagerness to expand your network.
  • A team-oriented mindset: Being a team player, not a solo one. It’s not technical shortcomings that get people fired during probation but people-related issues. Being a solo player is a red flag for managers and signals issues in team cohesion.

No one will thank you for being a loner in the corner. For a manager, that’s a sign that you don’t prioritize the team.

Common mistake: Unproductive curiosity

Curiosity involves asking the right questions about how and why things work. What curiosity isn’t?

Asking the same question repeatedly — that’s another red flag and signals a lack of focus. If you do this, you’re not ready to become a junior developer.

The other anti-pattern, as Gregory spotlights, is trying to learn too many things all at once. Learning Angular, Vue and React at the same time, is a path down to hell.

2. Promoted From junior to mid-level

For someone progressing to a mid-level role, I expect to see a shift from posing questions to actively contributing solutions or initiating the problem-solving process.

This marks embracing a more solutions-oriented mindset by:

  • Breaking down big problems into smaller onesIf you can’t turn complex problems into valuable increments, your tech skills won’t save you.
  • Understanding functionality: This means asking product managers about the rationale behind implementing specific functionalities. Always asking the ‘why.’
  • Collaborating across teamsDemonstrating collaboration beyond your team by assisting individuals from other teams, even as a junior.

Common mistake: Lack of workflow ownership

Don’t neglect taking ownership of functionality pieces, overseeing them from ideation to production to client delivery.

If you don’t experience the entire workflow, you won’t have the capabilities and preparedness for a mid-level role.

3. Promoted From mid-level to senior

Here, the focus shifts from personal achievements to creating a multiplication effect within the team.

Those wanting to advance to senior developers are expected to actively nurture junior talent, sharing knowledge and skills to elevate the team.

You can be impressive as a solo person, but in my eyes, that doesn’t make you fit to be a senior. Specifically, I want to see that you’ve been the buddy of a new starter or helped someone reach their delivery goals.

You should also be demonstrating:

  • Thoughtful proposals: At this stage, you should be coming up with well-thought-out proposals independently.
  • Pairing programming with knowledge sharing: Instead of coding exciting new features on your own, you’re pairing up with others to share knowledge.
  • Versatility in programming languages: A senior developer isn’t dogmatic about their programming language and should be able to adapt to different languages within weeks. Programming languages change all the time, and being too rigid is a red flag.
  • Proof of process improvement: Being able to provide tangible evidence of how you’ve contributed to and enhanced the team’s workflow.

Common mistake: Neglecting self-learning

Don’t passively wait for opportunities to fall into your lap. Failing to request budget allocations for conferences, online courses, and other learning opportunities signals a lack of commitment to continuous improvement. Invest in your professional development at least once a year if you want to become a senior.

4. Promoted From senior to principal/staff engineer

In my book, becoming an architect/staff engineer means not only being great at technology but also at communicating. If you’re not a great communicator, you can’t be a staff engineer; it’s as simple as that.

Other important elements of this progression:

  • Technical roadmap elements ownership: To progress to a staff role, I expect that you own and execute the technical roadmap.
  • Internal community leadership: Taking ownership of an internal community of practice, like backend, frontend, data, AI, etc and ensuring the community is active and thriving.
  • Personal brand development: I want to see that you’re building a personal brand and speaking at podcasts, meetups, or conferences at least twice a year. That your star is rising, attracting potential candidates and making the company proud of its talent.

Common mistake: Working solo in the corner

If you work in isolation, you shouldn’t be promoted to a principal/staff role because the multiplier effect is missing. You aren’t making an impact on your team.

A good indicator of success in a senior role is when your colleagues trust you and seek your input.


Advancing through each stage of your software development career demands specific skills and attributes.

To move up, you need to understand and live up to the expectations at each level.

Taking initiative, being a team player, and proactively contributing to personal and team growth are necessary steps to making your star shine brighter.

It’s not just about the code, it’s about building a career that’s collaborative, inspiring, and always getting better.

To take control of your career trajectory, think about the specific combination of skills you need to pave the path for your success.

About Marian Kamenistak

Marian provides coaching and mentoring to engineering managers and leaders across various levels, helping organisations to succeed in building products.

On top, Marian leads the Engineering Leaders CZ community, organising 9 meetups a year for Engineering Leaders, Managers, Tribe leads, VPEs and CTOs in Central Europe.

Read more about Marian’s mission!

Subscribe and stay tuned for the next post! 💪

Follow on LinkedIn

Related Posts