Which Seniority am I ?
You probably know the basics of seniorities: Junior
, Semi Senior
, Senior
, but... Who is which ?
There isn't a globally accepted idea for each seniority. Some people think a junior is a zero experience person, others think a junior has some experience, and others think a junior may have up to 3-4 years of experience
. Similar things happen to semi senior and senior.
What's worst, years of experience don't translate to skill and knowledge, so a semi senior is not equal from company to company, not even at the same one.
To make things more complicated, there are many other seniorities: Trainee, Entry-Level, Associate, Manager, etc.
Now, the "label" is only important in terms of hierarchy among employees and teams, but what we all want, is to have a decent work environment and benefits for a reasonable amount of work to be done in a competently manner. So, let's propose a new definition of seniorities without using years of experience:
-
Trainee: someone with potential that needs to be trained and is going to need help at each step the first few months (maybe 3 to 6) for the simplest of tasks even if well detailed, and will probably not provide real business value. Someone without experience, but some education/knowledge.
-
Junior: someone that can deal with easy and well detailed tasks without needing help. Will provide some business value, but won't be able to take ownership nor lead.
-
S. Senior: someone that can deal with complex tasks without much details. Will provide business value and lead junior developers, and may be able to take some ownership of the project, though not fully.
-
Senior: someone that can take ownership of a project, making important decisions and leading the whole development life cycle. This would require a deeper technical knowledge and being able to look at a bigger picture.
So, in short, a trainee needs to be trained
, a junior can provide some business value
, a semi senior leads juniors and takes some ownership
, and a senior takes full leadership and ownership
.
Great, we can know our seniority now !
But what happens when you want to keep learning, growing and be promoted ? Should you be promoted to Semi Senior if you're a good Junior ? If your answer is yes, then you should keep reading.
What is the Peter Principle ?
Quoting Wikipedia:
The Peter principle states that a person who is competent at their job will earn a promotion to a position that requires different skills. If the promoted person lacks the skills required for the new role, they will be incompetent at the new level, and will not be promoted again. If the person is competent in the new role, they will be promoted again and will continue to be promoted until reaching a level at which they are incompetent. Being incompetent, the individual will not qualify for promotion again, and so will remain stuck at this final placement or Peter's plateau.
This outcome is inevitable, given enough time and enough positions in the hierarchy to which competent employees may be promoted. The Peter principle is therefore expressed as: "In a hierarchy, every employee tends to rise to his level of incompetence." This leads to Peter's corollary: "In time, every post tends to be occupied by an employee who is incompetent to carry out its duties."
So, if you're a good junior because you are correctly dealing with your tasks, and you are promoted to semi senior, you may be incompetent at your new seniority
, because you will have to start dealing with more complex and less detailed tasks, as well as having to lead juniors and be expected to help seniors taking some ownership of the project. You'll be overpayed, which is good news for you, but bad news for the company (and mixing that with incompetence is not a good idea).
So, how can we fix this ?
One idea is to promote a junior to semi senior if he is already showing the skills of that seniority; this means, the junior is actively helping other juniors, taking decisions if needed, and/or being able to deal with complex tasks not well detailed.
For the company this is optimal; employees work harder at each seniority for a promise of promotion, that may never arrive. They also work underpayed. Great news !
Sadly, employees will notice the situation and feel unmotivated, in the best case. Since not everyone can be promoted, the race for promotion will eventually make the best float up while the rest sink down. Law of the jungle, you say ?
The effect is similar to the Peter Principle, though you'll have some people working harder and being great for their current level (and good for the next one).
Now, of course you can stay at your level, and simply be happy with your salary and expected work. That's definitely a possibility, specially if the company has a good work environment and good salaries.
But if you want to grow, you'll have to make the investment of working more than payed during a certain time period in order to hopefully earn a promotion. You'll have to not only be good at the next level, in fact you'll have to be better than the rest of people trying to get a promotion.
Is there a better alternative ?
Honestly ? I think yes.
What is the problem with the first approach, the one from the Peter Principle ? The fact that promotions are given based on current position demands.
What we need is simply a concrete and objective way to measure the required skills for the next level. For hard-skills this shouldn't be a problem; you either know what you need or not, you either can do what you must or not. A well-designed examination should do.
But how can we measure soft-skills ? This is definitely harder. But, let's be real, I don't think many will complain by having to start leading juniors, or semi-seniors, or assisting to planning, refinement and other meetings for project organization and decision-making, if this means a chance to earn a promotion.
One good idea could be to create two levels per seniority (except for trainee, which wouldn't make sense by my definition):
- Junior 1
- Junior 2
- Semi Senior 1
- Semi Senior 2
- Senior 1
- Senior 2
The idea would be to make two type of promotions: by hard-skills
and by soft-skills
.
The promotion from 1 to 2 would be by technical knowledge; if you're Junior 1, then demonstrate Semi Senior knowledge in order to be promoted to Junior 2. If you're Junior 2, then demonstrate you can lead Juniors 1 and take some ownership. And so on, and so on.
So from 1 to 2, you don't require people to work harder, they can simply be allowed to take a technical test, and be promoted without needing to make any extra work than needed (and without being underpayed).
From category to category let's say, you do require people to do some extra work but it's only the soft-skill part:
-
If you're
Junior 2
, you won't be expected to complete harder and not-detailed tasks. -
If you're
Semi Senior 2
, you're not supposed to take full ownership and responsibility of the project.
This could go on to even bigger seniorities, though it depends on the company; by definition, a manager
should be in charge of groups of people possibly at different projects, so it's a more transversal position and much less technical, though again, it depends on the company.
For some companies, managers (or even senior managers) are not much more responsible than my senior definition.
Will the business world start doing things better at some point ? Who knows, but I had fun thinking about ways I would like things to be.
Hopefully, some day we'll have a more fair and competence-driven framework for putting developers at their correct level from a more global and standard perspective.
Until then, keep studying and working !