It's a widespread practice to give sysadmins and developers that have accrued a few years of experience a new prefix to their job title: "senior". So they suddenly become Senior System Administrator, Senior Ruby Developer and so on.
So, senior something. What does that even mean?
The very senior John Allspaw shared his thoughts on this topic a few months ago on his blog under the title "On Being A Senior Engineer".
John cites Theo Schlossnagle who asked what might come next:
After five more years will you not have accrued more invaluable experience? What then? “Super engineer”? Five more years? “Super-duper engineer.”
When you get promoted to a "senior", you haven't actually become someone else over night. It's not an event of metamorphosis, neither of enlightenment. John chose to find another adjective that has more meaning:
I expect a “senior” engineer to be a mature engineer.
And he lists these main characteristics of a mature engineer:
He explains each characteristic in depth, so don't miss reading his post!
So, can you tick all the boxes of the mature engineer for the seniors in your team, for yourself? Yes? Then there's one last aspect.
After listing "The Ten Commandments of Egoless Programming", John adds another essential requirement that I was missing in quite a few senior sysadmins I have been working with over time:
Dirty secret: mature engineers know the importance of (sometimes irrational) feelings people have. (gasp!)
When you'd like to become a senior, or better, a mature engineer, then first and foremost become a mature person.