loading...

What defines a senior software engineer?

baradm100 profile image Bar Admoni ・1 min read

What defines a senior software engineer? What are their responsibilities? I get this question a lot from friends, family, colleagues, and even from myself.

There is no one clear definition; every company, website, and person have their definition.
As a team leader in the past and a senior software engineer today, this is my definition:

  • Holistic view - understanding the bigger picture, where the product is going, and how to engineer it.
  • Communicating with all the involved parties - Being able to bridge between PO, PM, UX, SRE, and engineering, so everyone is up to speed.
  • Involved in the full software development life cycle - contributing to every step of the development cycle.
  • Being a mentor and a guide - teach your knowledge to others, identify weak and strong points, help grow, and empower others.
  • Improving your team - Senior will help develop and empower the people around them.
  • Spot pitfalls and solve them ahead of time - recognize patterns and have the "future sight" to understand possible pitfalls and their solutions.
  • Not a function of years of experience, but knowledge - as put by Darknight at softwareengineering: "Some achieve the above in 2 years or less, others take 10 years".

So, what is your definition?

Posted on by:

baradm100 profile

Bar Admoni

@baradm100

Just another full stack web developer that believes in DevOps and unicorns.

Discussion

pic
Editor guide
 

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.

 

I really liked your closing line:

Let us become mature engineers instead of seniors.

This pretty much sums it.

 

More often than not... age

 

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.

 

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

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.

 

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

 

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

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.

 

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.

 

Happy to see that as well!
Fascinating article!