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.