Titles tend to be misleading. A senior developer in one company could have their skills re-assessed to be an intermediate developer at another. Or a staff engineer at another. There really is no universal measure of a senior developer. Titles can be given out as easy as buying a new pair of shoes.
That's not to say people who hold those titles hadn't worked hard for it. It's just that it's different in every company and at the end of the day, you just need to strive to be the best developer you can.
So this post isn't a checklist of whether you're a senior developer, but behaviours I've noticed that marks an admired and experienced developer.
The real measure? The volume of learning they've done. And learning is trying, not being afraid to try, messing up, and trying again and again. A side effect of someone who tries a lot and often is someone who is resilient. Someone who doesn't let bugs and mistakes hold them back from learning more.
A great developer is willing to help those around them. Grow others to not make the same mistakes. Someone who is willing to admit their mistakes, listen to others' voices and advocate for the user. A great developer doesn't say that their greatest accomplishment was 1000% growth in user satisfaction – it's that they've seen a lot of code and they've messed up a lot to discover what didn't work. And shares with their team how to be better next time.
We often want to hide our flaws to legitimize our positions or titles, but that doesn't do anyone good. Sharing your lessons helps your team focus on more bugs and more new lessons. Being guarded only make others less willing to share lessons you could benefit from as well.
You're a senior developer if you:
- Are excited to dive into code and untangle it
- Ask for help after you've exhausted different avenues and approaches
- Welcome others to review your code and have a discussion
- Know that you will still make mistakes
- See opportunity in fixing bugs
- Are energized and encouraged by the prospect of running into challenges
- Want to motivate others to code better
- Have worked with lots of code and all kinds of code
- Experience a high volume of code, frequently, with persistence and resilience
It's a combination of experience and attitude. Experience is useful, but attitude helps others glean from it and make the opportunities accessible.
If you already do all of these things, you're basically a senior developer. And if you already do some of these things, you're well on your way.