This was originally posted on April 21, 2018 on Medium.

What really is a “senior developer”? How does one get this honorific? Is it based on years? Projects worked on? Knowledge? Dumb luck? Achievement?

Image of the philoso raptor meme. A dinosaur in a deep in thought pose.

What am I?

I’m going to go out on limb and say that you can only really get to call yourself a “senior” developer when you mentor another. When you impart your knowledge for the benefit of another in a way that is understandable and useful. Now this doesn’t mean hand holding, although it could. Sometimes being a mentor is imparting harsh truths. Until you do that you’re just a developer.

To clarify my “just a developer” isn’t meant to be derogatory. You can “just be a developer” and be amazing. You could have incredible knowledge and build wonders the world has never seen. You just aren’t a senior developer in my eyes. The same way you can’t call yourself a teacher or professor until you teach.

So what, you might ask? Why should we even care?

Mentorship is the bedrock from where professions are constructed. The more people we have the better the whole is, the more ideas we can consume, we are just better for it.

My professional software developer career spans 13 years. I’ve been a tech lead, team lead, a senior developer, a junior developer, just a developer. Other descriptions that have been given to me include the guy that broke the build, the guy that deleted the database, and other very colorful but deserved ones. Out of all of these I never really thought I deserved the “senior” label. It just never felt right, like I didn’t deserve it.

That started to change one day though. The catalyst? I explained how functions work to a kid who wanted to learn.

Picture of two people in front of a whiteboard in a white room. The older of the two is explaining some computer programming concepts.

I believe I learned more here that what I could have explained. Now that in and of itself is not the big deal. What really hit me was that I did so without a script. It wasn’t that I prepared an intro or had slides. I just had a small whiteboard and somebody that looked to me to explain what something was.

The look on his face as he went from “huh?” to “ooohhhh!” was incredibly satisfying. He then went on to explain to me how he would do some basic math exercises using the little Python I taught him. I knew at that point that helping people was the only way that a community or a profession could sustain itself. His uncle, who was himself a developer finishing up his studies at the University of Puerto Rico, told me he later got “a thousand” questions from his nephew and that he continued to be interested in development.

That simple experience helped me realize that to earn the “senior honorific”, I had to help others as much as I could. I started volunteering at workshops, Startup Weekends, created meetups, and invited other colleagues to do the same. I started to get other people asking for advice about not only their code but their professional career. Questions like “what technologies should I learn”, “is there a better way to do this”, “how should I build one thing or another”. Then one day it happened, somebody introduced me as one of their mentors. I was instantly in a “position of authority” in the best possible way. I felt I could now help developers that were starting their careers. Give back the help that I got when I started.

Nobody does anything by themselves. Somewhere in your life there’s somebody that took the time to help you, even if it was an uncomfortable conversation. If you really want to feel like you have gotten to a “senior” level in your career I invite you to take some time and mentor somebody that needs it. It doesn’t have to be much, it doesn’t have to mean hand holding, just help until you can’t anymore. I’m certain that both of you will be better for it.