DEV Community

Cover image for If everyone is senior, then no one is senior

If everyone is senior, then no one is senior

Bruno Noriller on April 09, 2022

Are 2 years enough to make someone “senior”? If it is... then what is a junior? And where is the middle? Open any job board and it will feel like ...
Collapse
 
alexeagleson profile image
Alex Eagleson • Edited

My take is that unless the entire industry is willing to band together and establish actual definitions with quantifiable values then it's always going to continue to be a messy and ambiguous label.

The fact is that there is significant financial incentive for people to apply a senior title to themselves, and not difficult at all to find a small company where a single dev takes on roles and responsibilities at a "senior level" by most traditional definitions of the term, except of course "years of experience."

Then YoE similarly tends to have a weaker correlation with skill level in software than other fields, presumably due to the incredible speed at which things change.

I don't think there's any easy answers, but I personally never fault another developer for playing the silly "title" game to further their career.

Collapse
 
noriller profile image
Bruno Noriller

The entire industry banding together for anything is something I don't see happening so soon (or you know, ever).
But the compensation part... the position will pay what it will pay, but the title behind will attract or repel some. I also see a bunch of "senior" positions that are paying less than those mythical few "junior" positions.
But you're right, it's difficult to find a good answer. I just hope it would be easier to at least weed out some obvious bad ones.

Collapse
 
robencom profile image
robencom
  • Junior: 0-2 years of experience
  • Mid: 2-5 years of experience
  • Senior: 5+ years of experience

But of course there are exceptions, this isn't a 100% science. So a better definition would be:

  • Junior: slow to finish tasks, lacks confidence, familiar with few technologies, doesn't understand the full picture of the development process.
  • Mid: finishes tasks barely on time, lacks confidence, familiar with some technologies, is familiar with the full picture of the development process but cannot handle it by themselves.
  • Senior: finishes tasks on time or earlier, is confident, familiar with enough technologies and can learn new ones quickly, has a clear vision of the full picture of the development process and can handle it by themselves.

People in our industry now understand this which is why they want Seniors mostly, because both juniors and mids need a senior to take care of them, this is due to the complexity of our work and also due to the fact that the work is not organized in a way that a junior can do their part.

This is not the same in ANY other industry, where for example, one worker puts the product in a package, another worker wraps the package and so on. In other industries, each worker has a specific tiny work, meanwhile, in our industry, it still surprises me that they desire FULL-STACK devs who need to know: PHP - Laravel/Yii/Symfony/Zend, JS - Vue.js/React.js, CI-CD, Networking, Linux CLI, Git/SVN, Jira or whatever else they use, MySQL/Redis/MongoDB/ElasticSearch/CHUGACHINGA/FILL-IN-THE-LATEST-TECH-THAT-NO-ONE-EVER-HEARD-OF-IT-BUT-SOMEHOW-IT-IS-A-HARD-REQUIREMENT

It is CHAOS, sadly, and it is up to each one of us to push the narrative that we want to see in the future: as for me, I stopped applying for FULL-STACK jobs and I always tell the recruiters or the devs that full-stack makes for sloppy code, because devs are either backend or frontend oriented, I believe it is VERY rare to find a dev who likes and enjoys both front and back equally.

Collapse
 
noriller profile image
Bruno Noriller

Instead of technologies, I would put having the basics.
Some people get far too used to working with one framework that they blur what is framework and what is language.

But I have to disagree about the "how much time they take".
I mean, sure, if you compare the same task, yes, probably it will go like that. But having a team means that a senior don't have to make something a junior or a mid can do, and can, instead, do things that the others can't or don't even know how to start. (like performance, scalabity, security...) Altough, yes, they still need to "take care" of others.

Collapse
 
robencom profile image
robencom

True, but a senior would not be limited to performance, scalability and security. They do development tasks just like the other team members.
In my last project, I had 1 junior with me. What I did was I usually gave him the easy tasks and took the harder tasks on me. Even the easy tasks would take a long time with him and he would ask me 1000 questions until I finally give him the solution.

Thread Thread
 
qtlz9xs profile image
qTLz9XS

Sounds like you are a bad mentor

Collapse
 
jayjeckel profile image
Jay Jeckel • Edited

The suits' primary job is inventing new titles, when they aren't finding other ways to interfere with actual work being accomplished, so no one's ever going to solve that problem. Settle a definition for Senior vs Junior and by lunch some management, marketing, or HR department will have subdivided, recontextualized, and synergized a dozen different new terms to reconfuse the situation.

As for the community itself, one can call themselves whatever they want, but a look at their code will quickly suss out who's a senior and who's a junior. Titles are worthless, experience matters to some extent, but it's the code that does the talking, as it should be.

Collapse
 
maddy profile image
Maddy

This is an extremely interesting article, and a matter I think about often.

I've seen people quickly becoming "senior", maybe because as a senior the salary is higher (you also have more responsibilities though).

I think that to become a senior you need solid problem-solving and leadership skills.

You can develop these skills through experiencing a wide range of business problems and working in different settings. Senior engineers know why you should do/use something instead of something else and know how to justify their reasonings.

I'm not sure if 2 years are enough. Probably not.

Also, I believe that this is a problem partially caused by HR (or whoever creates the job descriptions). Some job descriptions are INSANE. 🤣

Collapse
 
noriller profile image
Bruno Noriller

You mean the classic "we want a junior with the experience of a senior, oh, and we are paying an intern salary".

Although... I'm more inclined to blame other developers, I see many are lazy and don't want to take care of more junior people.
Also others who believe in doing, even the more trivial stuff, themselves instead of passing those to people who should be doing those (juniors and mediors).
And when you have just seniors... then you're being wasteful having seniors just to center divs and make CRUDs.

Collapse
 
ingosteinke profile image
Ingo Steinke, web developer • Edited

At least these titles add some positive value to being "senior" (literally: older) which is otherwise often regarded as a disadvantage, also in information technology, with the prevailing ageism fearing that people get "too old" to understand new technology or get things done quickly. So as I'm not the youngest anymore, maybe I should take pride in calling myself a "senior" or I could make a joke out of it and make business cards with "Elderly Frontend Developer".

Collapse
 
jonrandy profile image
Jon Randy 🎖️

In every company I've worked for, "Senior" anything simply means "older". Skill level is irrelevant

Collapse
 
noriller profile image
Bruno Noriller

Another side effect to add!
Since all positions are for "senior", many think they can (and some certainly do) bullshit their way into a "senior" position.

Collapse
 
andrewbaisden profile image
Andrew Baisden

I think there are even different levels to a Senior developer because no one person is the same.

Collapse
 
robencom profile image
robencom • Edited

<?php

function fizzbuzz($n) {
for ($i = 1; $i <= $n ; $i++) {
$output = '';
if ($i % 3 == 0) {
$output = "Fizz";

}
if ($i % 5 == 0) {
$output .= "Buzz";
}
if ($output == '') {
$output = $i;
}
echo "$output------";
}
}

fizzbuzz(45);

Collapse
 
snelson1 profile image
Sophia Nelson

Good stuff.