We’re always in a rush, right? No sooner have you written your first line of code than you are changing your LinkedIn headline to read “Software Developer.”
Now what?
You’ve written a few lines, you know your IF statement from a Switch, You can console.log()
with the best of them. Occasionally you hear murmurs. Talk of a higher state of enlightenment. You dare not say the word out loud, but still you covet it so badly. The dream of being a “senior software developer.”
Maybe you’re not ready? Or, maybe you secretly are ready, but you don’t know when it’s socially acceptable to declare it?
What does being a “senior” software developer actually mean, anyway?
Looking to hire the best remote developers? Arc can help you:
⚡️ Get instant candidate matches without searching
⚡️ Identify top applicants from our network of 350,000+
⚡️ Hire 4x faster with vetted candidates (qualified and interview-ready)
Try Arc to hire top developers now →
What Does “Senior” Mean?
How do you know when you’re a senior developer? There’s no test to pass, no certification to work toward. Is it something you self-declare, or does someone declare it for you? Are there any hard requirements, or is it something you feel rather than achieve?
The one thing we do know is that it is subjective.
The definition varies greatly across the industry, and seniority can be applied to technical knowledge, experience, maturity, and leadership skills. The arguments will continue between those that differ in opinion on which of those elements is the key factor to calling someone a senior.
For me, the answer is actually a combination of each of them.
Lots of technical knowledge
When starting out as a software developer, you will inevitably have to consult the documentation on a regular basis. You’ll need assistance with the syntax of various statements and how to piece certain things together. Over time, reliance on the documentation diminishes, although every developer, including seniors, will still somewhat regularly find themselves in the docs.
To put it in the context of another profession, it’s the same as a carpenter knowing each of the tools in their toolkit, but still requiring to read the manual from time to time. To be a senior, in terms of technical knowledge, is to be familiar with each of the tools in your toolkit.
Read More: 10+ Important LinkedIn Best Practices for Remote Software Developers
A wealth of experience
Experience is subjective in itself. One developer can gain vast amounts of experience in a relatively short project, whereas another might take years to amass the equivalent.
As with most things in life, developers find themselves repeating things in code. I don’t mean the lines themselves — we have loops for that — but the problems they solve on a daily basis will likely be reminiscent of problems they have solved in previous projects.
Having enough experience to begin seeing patterns — and avoiding the pitfalls — is a true mark of seniority.
Maturity
Maturity is often mistaken for age, but the two are not connected in this instance. Maturity in coding is recognizing a developer or a team might be on track to relive past mistakes regarding how to solve a problem — and then be able to take steps to avoid that. This correction might manifest itself via comments in a pull request or speaking up during sprint planning.
A mature developer is one who codes for the benefit of the team, the project, and the developers who will have to maintain this code in the future. Overly complex code is rarely written by a truly senior developer.
Leadership skills
This level of maturity goes hand in hand with leadership. The ability to see problems and direct a team, to look after the codebase for the project, and to support other developers is where a senior shows their strength.
As I talk about in another article on how to know if you’re ready to move into a leadership position, leadership means serving the team. To have leadership skills means that you are concerned with the overall performance of the team. When someone struggles, you are responsible for helping them get through it.
Read More: Got a Busy Developer Schedule? Here’s How to Keep Learning & Make Time
What Isn’t Considered “Senior?”
With so many developers craving that senior title and negotiating the associated increase in pay, it’s not uncommon to see developers trying desperately to demonstrate senior qualities. However, when a developer isn’t ready, problems can occur.
Let’s talk about what a senior is not, and how to recognize these traits.
Every developer wants to write concise, robust code. Condensing multiple lines of code into a single line can make a programmer feel powerful. But sometimes, concise — and even complex — code is required. Don’t fall into the trap of writing overly-complex code in the pursuit of being concise.
Readability and simplicity are your priorities. Always code for the person who maintains the code. If you can keep in mind the developer who will have to read your code in the future, you won’t go far wrong. Spotting when a developer is getting a kick out of making their code appear clever is key to correcting this wannabe senior developer characteristic.
A senior developer is not always the person who has been on the project the longest. They might even be the person responsible for the spaghetti code in the first place! Look for the developer who cares about code quality. This doesn’t mean a person who is pedantic, but a person who advises others on code quality and is able to back up their suggestions with valid reasoning.
Another unfortunately common trait among those who aren’t true seniors is to be overly negative or controlling during the pull request review process. Constructive feedback is valuable and required. Putting others down for your own personal gain is not. Don’t take the fun out of coding!
Read More: 5 Great Ways to Get Your Profile Noticed as a Software Engineer
What’s The Rush?
With the title of “software developer” being increasingly coveted, the differentiator of “senior” to qualify it has reached fever pitch.
I wrote this article to illustrate the qualities one needs in order to reach that goal, but it’s important to keep in mind that there are no shortcuts here. At least… there are no shortcuts that pay off in the long term.
The “senior” title is one that is earned, not bought.
Becoming “senior” without the credentials leads to poor-performing developers, applications, and teams. Not only that, but it can also lead to anxiety and imposter syndrome down the road.
Coding is fun, and it is a craft. Learn your craft and try to master it. Then, help others along that very same path, and the title will be yours in good time.
There shouldn’t be a rush to be “senior.” A senior developer without the credentials won’t command respect, and that’s not the developer you want to be, is it?
Well, I hope this article left you with some food for thought when it comes to calling yourself a senior developer, and thanks for reading!
If you have any questions or other tips for developers looking to move into seniority, let us know in the comments below. And, if you haven’t yet, join Arc as a developer now to search all remote developer jobs in one place, get access to great career advice, and network with remote devs around the world.
You can also explore HireAI to skip the line and:
⚡️ Get instant candidate matches without searching
⚡️ Identify top applicants from our network of 350,000+ with no manual screening
⚡️ Hire 4x faster with vetted candidates (qualified and interview-ready)
Try HireAI and hire top developers now →
Read More: How to REALLY Get a Job as a Self-Taught Developer
David, you did a great job. I just finished the article, and each pointed-out suggestion and tip you mentioned in the writing was easily understandable to me, which makes this writing quite helpful. Plus, the mixed tone of positive and negative can help someone understand the “senior” term better.