Unpopular Opinion Incoming: Not Every Developer Should Become Senior

I’m going to come out and say it. Not everyone should be able to become a senior developer.

Some developers should stay at a junior-mid level and should not progress to senior level unless some crucial changes happen.

Senior Is a Meaningless Title, So You Shouldn’t Chase It

The senior label is more a label of status and compensation within an organization rather than an objective member of competence.

This carries risks for both organizations and developers.

Supersize Me!

In some organizations a senior developer is just a regular developer with years of experience added and a supersize job title making a “supersize” developer (senior title).

If you set your goal to be a “supersize” developer (senior title) and orient towards gaining more years, there are issues for you. It’s like aiming to be an adult: completely pointless.

For companies, it is like encouraging your children to become adults but not developing the right type of person. It’s damaging to all concerned.

The Perpetual Junior

In some code shops, a developer can be trapped as a perpetual junior developer. Rather than gaining ten years of experience, they gain the same year of experience ten times.

This makes it appear that software developers are growing and becoming better developers but are hiding the fact that the developer is stuck.

If a developer is stuck in a position and is unable to learn to take them to the next level, they may never progress.

But Circumstances May Defeat You

Circumstances can conspire to keep a developer at a lower level than they might be able to achieve should the circumstance be different.

Lack of Mentorship

If you don’t have a mentor to help you get to where you are going. A mentor is someone who can help orientate you in the right direction and create a career that you will be proud of.

Therefore, if you’re lacking this you are potentially lacking direction in your career and inhibit career advancement.

Poor Management

At work, you need to have assistance to remove obstacles in your way. Issues with your feature team? Help to overcome a technical obstacle? 

Essentially a manager is a tool to help you do your work. If this is missing, you may struggle to complete tasks at work. If you aren’t completing your work (and well) you are unlikely to get a promotion.

Organizational Inertia

Some companies resist change. My current company is violently resisting change.

I’m not able to refactor code as we don’t have testers available so I’ve been told a single class refactor should be pushed to the next quarter. I found a bug in our production code, and we can’t fix it within a month as testers needed to investigate to see if it is really an issue, then again, we don’t have testers available so it’s not possible.

This is an extreme example but if an organization does not operate in a way to help you move forwards in the world you might get stuck, and find it difficult to move to the next level in your career.

Even So, Not Everyone Should Become Senior

You Need The Smarts

According to brght.org software developers have an average IQ of 108. That does seem rather low, but that’s an average and you’d expect the average software developer to be average.

To be senior you’d expect a software developer to be a little smarter on the whole than the average software developer. Your IQ might not be quite enough to justify becoming senior.

You Need To Work Hard

Software developers need to keep up to date. They need to keep moving.

If you don’t have a mindset that will enable you to work hard through the good and bad times (even when the work gets hard).

If you aren’t able to work hard, keep up to date and push things forwards you may not be able to become senior.

You Need Communication Skills

Being a senior developer isn’t simply about technical prowess. You need communication skills to mentor juniors, collaborate with colleagues and help the team to improve.

Without strong communication skills, you might be condemned to being a mid-level developer for longer than you might want.

The Future Of The Secret Developer

I’m a developer who feels like they’re getting stuck. I’m not moving on and up in my career and it’s time to take some responsibility.

But instead of improving my current situation I’m looking at moving on, and I’m concerned that I’m making a mistake.

That’s because if you aren’t trying to improve your current situation perhaps (even likely) you are the problem.

The advice is clear. If I were to give myself advice, I would tell me to:

  • talk to my manager

  • work with my team to improve the codebase

  • get a mentor

The real future for me is:

  • Leetcode

So…you know…

Conclusion

To become a senior software developer, you need many things to fall into place.

FWIW I think you need to balance your personal needs and ambitions with the organizational needs and ambitions. That, and you don’t need the senior designation to have a fulfilling and impactful career in tech.

Previous
Previous

The Loneliness of the Modern Developer

Next
Next

The Secret Developer’s Take on Immigration