What makes a Senior Developer?
We got lots of titles in our industry, but whether you may prepend “senior” to them is the only part that can be quantified.
Unfortunately, most people use the years of experience as that quantifier. But reality indicates that having more time of experience does not necessarily means that you have acquired more quality knowledge, or had the privilege to do enough mistakes. For sure it does not mean that those years have made you developing the right character.
There can be 5 years experienced juniors and 3 years experienced seniors.
To rightfully prefix a title with a “Senior” you should count less and evaluate more.
So, what makes a senior developer? (what should be evaluated)
Having enough experience in doing things wrong.
A person that didn’t have enough chances for implementing things that were too hard for being done right on the first shot, is a person that did not experience enough mistakes. Improvement is a direct function of the number of mistakes you were privileged to do and to learn from.
A decent familiarity with things that are outside of his direct specialty.
For example, a Front-End Developer who has never had the chance to write some Back-End code, and interact with a database, is not ready to become a Senior Front-End Developer.
Being Modest, self-aware and open minded.
As Plato once said:
“I am the wisest man alive, for I know one thing, and that is that I know nothing.”
Being a senior means that you have much more to learn about and that there are much more things that you can be mistaken of.
The more senior you become, the fewer opportunities to learn you will have. You will have fewer people to learn from, your work will be less monitored, and you will already be familiar with at least one solution for a given problem — which might not be the best one anymore.
A senior developer should be actively striving for feedback, as they are his indicators and sources of great insights.
Keeping up with the phase of technology.
You may sport an impressive number of years of experience, but those technologies you have used during these years might not be valuable in the current and future reality.
Writing a human readable code
Developers write code that can be read by a machine. Senior developers write code that can be read by a human.
Be a fan of functional programming and keep your code organized and well separated between concerns.
Keeping things simple
The most important programming principle is the KISS principle.
It is easy to write a complicated code, it is hard to make it simple.
A Senior developer can write the same thing with less amount of code and with a better running performance.
So, are you a Senior Developer?