I recently read a book with my son entitled, “What makes a bird a bird?”. It was a good read: the book had pictures of different kinds of birds and had an unusual amount of text for a book for kids. It was from his school and I think they were being taught non-fiction books at an early age (pre-primary).
Just as a quick summary, it basically lets the reader slowly come to the answer by themselves by giving clues and examples. It starts off with saying that birds have wings, but other insects have wings. Birds fly, but other non-bird things fly as well. Spoiler alert! The answer was feathers.
Anyway, that got me into thinking, what makes a senior a senior? Quick disclaimer though: this is by no means an exhaustive list and mostly my opinions and experiences. These are what I think the qualities one should AT LEAST have, before being considered one. Also, I am a software developer so everything will be based off that. I do think that this is a general rule that applies to any senior in any industry, so let’s start!
They can be, but it’s not just that quality that makes them a senior. We can have prodigies, or just really good learners who can be an expert in something within three months. Does that make them a senior? It makes them an expert, but it also depends on other qualities to be present.
An example from the book was pigeons have wings. Bats have wings. Even bees have wings. Are they all birds? Chickens have wings and dragonflies have wings. Dragonflies can fly but chickens cannot. Why is it that chickens are birds? Same thing with seniors. They can be experts, but not all experts are seniors. In the same vein, some can be considered seniors even without being an expert in anything — there are generalist type seniors who can be fairly good in a lot of things which makes them very good in managing multi-skilled teams.
I think this is one quality that needs to be present for someone to be considered a senior. If you can impart some of your knowledge and guide your colleagues with confidence, then you’re good. Explaining to them why things need to be done a certain way not only helps them grow and level up themselves, but also reinforces your knowledge base as well.
One thing to remember when mentoring or pairing with a junior though is that a senior NEVER STOPS LEARNING. Mentoring is a two-way thing and never a one-way street — at least for me. While my junior colleagues are learning from me, I learn new things from them as well. This has always been the case for me and for me, learning is a never-ending task.
On that same vein, there are some people who just don’t accept this fact. “I am a senior, and you are a junior. This makes me right so follow me.” This is NOT how you want to be. When someone makes sense or corrects you, fact-check, dispute it, or argue with it, but don’t ever pull the ‘senior’ card. That actually brings you down a level.
When you are wrong, apologise, correct it, do anything to fix it. Admit it. This not only shows your seniority, but maturity as a person as well.
I have learned that we as employees closely follow our life cycles as human beings. We first start as babies, learning to walk, talk, etc. then we slowly master these skills through experiences and school. Same thing with out careers: we start out as fresh grads / interns, slowly learning the ropes in ‘adulting’ both at work and in our personal lives. As we keep on working, we learn more skills and become more mature in decisions.
This trait is usually needed by team leads who have control over prioritizing a team’s tasks. By knowing the difference between something you absolutely need (critical bug fixes, major feature upgrades, or anything involving getting money into the business), and something you want (refactoring an ‘ugly’ piece of code, over-engineering features, or premature optimization) a senior helps a team deliver the most value out of their time.
As a junior, I was a ‘yes man’, where I just followed what was asked of me blindly, again, like a child. As a mid-level developer, I began to ask questions why something was being done a certain way, but still kept quiet even when I knew something wasn’t right.
Seniors tend to ask questions and say ‘No’ to things that are not feasible. Take note, there is a fine line between saying ‘No’ because it is not in the everyone’s best interest and saying ‘No’ because it is not in YOUR best interest. When a senior says no, it is accompanied by a well-thought of reason, and at LEAST one alternative solution.
I think this closely resembles the ‘feathers’ answer to ‘What makes a bird a bird’. You can’t be a senior without years of experience as this is what makes you a senior. There is no set number of years, but I would consider someone having 5+ years of experience to be one — depending on their circumstances.
Most developers with that kind of experience surely qualify — if they have worked with a team. Consider someone who has been working alone as a freelancer for 10 years. They have never experienced managing teams, leading projects or even collaborating with another person.
In our analogy, this person has ‘feathers’ / experience. But that does not mean seniority. This makes them an example of my first point: an expert. Not to take anything away from them, experts are VERY valuable as well.
Depending on the type of team you have, you will need a mixture of experts, seniors and juniors. Seniors are there to guide the juniors, and juniors are there to be nurtured so they eventually become seniors who will be mentoring new juniors. Experts will always be needed for their skills which can be passed down to both the seniors and juniors. This is how you make a self-sustaining ‘developer ecosystem’.
So what makes a senior a senior? Have you answered the question yourself? Are you ready to become one, or are you already one?