DEV Community

What defines a senior software engineer?

Bar Admoni on October 18, 2020

What defines a senior software engineer? What are their responsibilities? I get this question a lot from friends, family, colleagues, and even fro...
Collapse
 
nikoheikkila profile image
Niko Heikkilä

It's easier to say what does not define a senior engineer. Here's a couple that come to mind:

  • age
  • work experience in years
  • amount of certificates collected
  • university grades
  • salary (though often these are well aligned)
  • tech skills

Wait, what? Looking at tech skills can't prove whether someone is fit for a senior role? Correct. When thinking of senior engineers I often reference John Allspaw:

"Being able to write a Bloom Filter in Erlang, or write multi-threaded C in your sleep is insufficient. None of that matters if no one wants to work with you. Mature engineers know that no matter how complete, elegant, or superior their designs are, it won’t matter if no one wants to work alongside them because they are assholes. Condescension, belittling, narcissism, and ego-boosting behavior send the message to other engineers (maybe tacitly) to stay away."

Let us become mature engineers instead of seniors.

Collapse
 
baradm100 profile image
Bar Admoni

I really liked your closing line:

Let us become mature engineers instead of seniors.

This pretty much sums it.

Collapse
 
codinglanguages profile image
Your DevOps Guy

I'm happy to see that we agree on many points.

"Do not equate years of experience with wisdom. There are people with 10 years of experience and people who have experienced the same year ten times. I recommend never getting too comfortable with what you are doing to keep growing."

I wrote an article about this recently here.

Collapse
 
baradm100 profile image
Bar Admoni

Happy to see that as well!
Fascinating article!

Collapse
 
jonrandy profile image
Jon Randy 🎖️

More often than not... age

Collapse
 
alainvanhout profile image
Alain Van Hout • Edited

In my own experience, age isn't that good a predictor for this. It's indeed a property shared among most senior developers, but I could say the same about having two eyes and two legs, or being able to read and write.

Collapse
 
jonrandy profile image
Jon Randy 🎖️

I'm not saying that it's a good predictor - but in 25 years as a developer, I've found that it is usually the case - even if there are younger devs that are more capable

Thread Thread
 
alainvanhout profile image
Alain Van Hout

What I'm saying is that age (or 'experience') doesn't inherently make a developer more capable. It's generally the mindset that sets apart more capable developers. That mindset usually takes time to develop (so age is indeed a factor), but there are plenty of develops increase in years without improving in mindset.

Collapse
 
baradm100 profile image
Bar Admoni

I totally agree with you Jon, having the correct personality and attributes do not have a direct correlation to age.

Collapse
 
jonrandy profile image
Jon Randy 🎖️ • Edited

Unfortunately though - in real life, having the title "Senior Developer" usually has more correlation to age than to actually having the requisite skills

This is my point

Thread Thread
 
alainvanhout profile image
Alain Van Hout

Yes, I see your point. I took 'senior developer' to mean more than that, since then the answer to the post here would be "a senior software engineer is someone who has the title 'senior software engineer' on their contract'. Which is as much true as it is meaningless.

Collapse
 
jennrmillerdev profile image
Jen Miller • Edited

I think that's a great list you have there!

I also sometimes like to consider 'the ability to handle responsibility and accountability'.

As developers progress in their career, we will start making decisions that have larger and longer lasting impacts to users, the project, and teammates. As we 'mature', we will want get a better handle of understanding these responsibilities, enjoy being responsible for changes, and be able to see the change through.

Collapse
 
baradm100 profile image
Bar Admoni

Thanks Jen!
Your point you raised is spot on in my opinion.

Collapse
 
rdc112 profile image
Ryan Cooper

I'm a bit late to the party but I like this:

Spot pitfalls and solve them ahead of time - recognize patterns and have the "future sight" to understand possible pitfalls and their solutions.

This came to me after being a Senior Dev for a while. I often get a good sense of which solutions won't work for a particular problem before I understand what will