DEV Community

What's The Difference Between A Senior And Lead Developer?

James Hickey on February 01, 2019

For software developers, more often than not, job titles don't really mean that much. Take for example these: Software Developer Software Engin...
Collapse
 
jonrandy profile image
Jon Randy 🎖️

Everywhere I've worked in 20+ years as a developer, 'Senior Developer' essentially boils down to 'older developer' 😃

Collapse
 
flexdinesh profile image
Dinesh Pandiyan

Hahaha. I can attest to this. 😂

Collapse
 
mattcanello profile image
Mateus Canello Ottoni

Damn! I'm a Lead Developer and I didn't even realize. I guess I need a salary increase 🤔😂

Collapse
 
amberwilkie profile image
Amber Wilkie

Me too :0

Collapse
 
ddonprogramming profile image
Decebal Dobrica

same reaction ! :))

Collapse
 
asantacreu profile image
asantacreu

Same reaction too! :D

Collapse
 
clovenlife profile image
Aaron Lee Kafton

This is just a reworked Peter principle. Taking skilled people away from their strongest skill set.
The idea that one cannot code in our old age is ridiculous. Imagine telling a doctor that he's too old to keep up with modern medicine

Collapse
 
danielrvt profile image
Daniel Rodriguez del Villar Trimarchi

This is important. Management and development are two distinct skill sets.

Collapse
 
svella profile image
Shon Vella

In my (considerable) experience Sr Developer is usually a title associated with a pay grade, whereas as Lead Developer is usually associated with a position or assignment. Or in other words, this article is trying to compare apples and oranges.

Collapse
 
danmeade profile image
Daniel Meade

I was made a Lead developer, and while it did bring more responsibility, it didn't bring an upgraded pay grade.

Collapse
 
jamesmh profile image
James Hickey

I've had the opposite experience :)

Collapse
 
svella profile image
Shon Vella

Interesting. I've held both lead developer and principal architect roles most of my 30+ year career, and while these were reflected in the org chart, neither was reflected in pay grade (or HR for that matter) in any way.

Thread Thread
 
jamesmh profile image
James Hickey

In my job market senior vs. lead devs are two specific roles I've seen both in organizations I've been with and also reflected in job postings too.

Given how variable our industry is, it's not really surprising that different people in different markets or living in different areas would have a different experience 😜

Thread Thread
 
svella profile image
Shon Vella

Ah yes, job postings are a different story - those definitely conflate role/position and pay-grade into one thing and that rarely reflects reality.

Collapse
 
himanshu232 profile image
Mr Himanshu Patel • Edited

In the end, the whole article is pointless if person to person, country to country and org to org the definition varies. And this is the case everywhere right now. I believe title should strongly reflect the salary and work you are being assigned. Most cases this doesn't happen, because interviewee and interviewer lie. It is all about supply and demand.

I have seen so many linked in profiles where people have long list of positions in just five years career, mostly show off. On the other hand, I have seen very few brilliant programmers simply say "I am just a passionate developer". No bullshit of senior, tech lead etc. These guys can build databases, UI, architect, communicate effectively with top brasses, have website, write articles and teach their juniors life long skills. I have one mentor few years back like this. I can't find another one.
In three years, he never said "I did it". I have witnessed that he built three huge systems for my company without anyone's much help. Still these systems are in use. His title was "Software developer". I doubt a team of lead architect, senior software developer, database administrator and project manager could have done it. They better fight for their titles and assigned duties.

In the US VP, Director, Senior Senior VP positions are sold like a candy bars.

Collapse
 
jamesmh profile image
James Hickey

I would have to disagree that the entire article is pointless 😋

I specifically said in the article:

It usually comes down to the actual job description itself and how the company views it's different tiers of developers.

Given how I started the article off with this comment, I think your first comment is addressing a straw-man.

I do agree that there is a lot of confusion due to job titles not reflecting actual roles - which was the reason why this was written.

I also agree that there are many super skilled programmers/developers that no body knows about. But that's not a reflection of the "evil-ness" of our industry, that's a reflection of the fact that doing good work alone will not get you noticed.

Again, it's false to assume that simply doing good work will get you noticed. Whether that's a good thing or bad thing is a different discussion 😉.

I've written some articles around these ideas here:


You said:

In three years, he never said "I did it".

That's the problem. If someone is doing good work then they need to own their own career and tell people how they brought value to the company. Expecting everyone to simply notice how good you are generally doesn't happen and is naive.

In fact, it actually shows that you aren't taking initiative, perhaps don't understand the true business value you bring to a company (being able to build a big system, in itself, doesn't tell a business what value a person can bring in terms of making more money, reducing costs, etc.) Those are all things that we have to be intentional about and take ownership of.

I was once bitter about this - not having my work noticed. Once I realized that nobody owes me anything, I started to simply work hard at being responsible for putting myself "out there", promoting my work, talking to my managers about how I brought value to the company, etc.

Thanks for your comments!

Collapse
 
delbetu profile image
M Bellucci

This comment is pretty interesting to me, can I ask for your opinion in this question? --> dev.to/delbetu/how-to-become-a-mor...

Collapse
 
tugkankibar profile image
H. Tuğkan Kibar

I think my main question would be this; how would a senior/lead developer in one technology transfer to another one and stay current? For example, if you are a React Native developer in terms of knowledge depth, and need to switch to either another tech or even from frontend to backend how would that work and what would it look like? I'd love to get your input on this, thank you for reading!

Collapse
 
jamesmh profile image
James Hickey

It's just the new tech that's the issue. Pick something concrete and start learning it.

Perhaps, even build a real project with that tech stack focusing on the "new stuff".

Once you are in the space of being a lead dev. soft skills, general principles matter the most. 😁

Collapse
 
tugkankibar profile image
H. Tuğkan Kibar

Thanks! The reason for asking it is less of prioritisation but more "how do we put that into our career". For example right now, I have solid experience with React Native. To do, for the sake of the argument, ML what would be the step? Even if I learn and do some projects, I am mostly curious as to how will getting a company say "Yes, come be the senior/lead of ML here".

It is a huge question mark since it will be needed for most of us and knowing how to transition allows us to be more flexible & secure.

Thanks for the kind reply by the way!

Thread Thread
 
jamesmh profile image
James Hickey

I think devs who can demonstrate that they are quick learners and thrive in an environment where they need to learn things and get-up-and-running fast are necessary.

If you can somehow showcase that on your resume, cover letters, or whatever then def. helps!

Collapse
 
andrerpena profile image
André Pena

It is mesmerising how changing technology stack, industry and company culture have a tremendous impact on your seniority.

One year ago I moved from being a .NET architect in Brazil, with 11 years of experience, to being a senior React/Node.js developer in Germany, in a job that teams are expected to handle their own operations in AWS, Docker and Kubernetes.

Only now I can say that I reasonably understand the overall company architecture and processes. It is not easy to move from being the go-to guy to a person that barely understands what is going on and whose opinion is not super valuable.

Despite being a hard process, it is absolutely valid in terms of learnings.

Collapse
 
jamesmh profile image
James Hickey

Wow! Sounds like you have very well rounded and in-depth experience and knowledge after that!

I think your story proves the point that being competent in the tech stack you working with does matter.

Collapse
 
science profile image
Steve Midgley

I think it's important to add additional items to senior engineer:

  • Self-starting. Will advance their work independently, once they understand the requirements. (Holds themselves accountable).
  • Helps identify and avoid issues with the requirements they are given. Won't build something that won't work just because someone tells them to.

One other addition I think is that a lead engineer doesn't have to be everything that a senior engineer is. I have less talented engineers managing more senior people who just want to do technical work. Obviously lead engineers can't be totally green but you box yourself in as a manager if the most talented people technically are the only ones who can manage a team of engineers.

Collapse
 
jamesmh profile image
James Hickey

Def. agree.

I agree that a lead developer doesn't necessarily need to be the best technically. But, usually, lead developers are expected to take on some pretty important fundamental architectural design up-front.

That implies a certain level of skill and experience.

It also helps if they are technically competent in order to build trust as a leader. No one wants to follow someone whose job is to direct the team in technical matters but himself isn't competent.

But that just qualifies your point a bit more.

Sometimes you have devs who are really skilled technically but wouldn't make good leaders. But I don't think the opposite would be true - specifically for a lead developer - since trust and respect need to be present. Part of that, again, is to be lead by someone who can actually make the right choices on technical matters and be a good mentor in technical matters.

Thanks for the extra points Steve!

Collapse
 
pauldevos7 profile image
Paul DeVos

In my experience, you're on point. Senior Developer, often so for as many as 20-25 years in my experience, is often very content to be the coding ninja in the group if you will, s/he will mentor others technically but prefers to not get involved between inter-departments and the "business liaison" and "architect" like role that the Lead Developer does.

Collapse
 
jamesmh profile image
James Hickey

100%

Collapse
 
ccurtin profile image
Christopher James Curtin

Gilfoyle?? You’re even from Canada!

I believe this is pretty good description of responsibilities. Leads tend to understand all aspects of the business. I see a lead as more of a general managing position—not as someone who is more technically competent in all cases.

Collapse
 
danielrvt profile image
Daniel Rodriguez del Villar Trimarchi

This is a great article.

It's really important this distinction because there's a lot of developers that are really good (Senior Level) but are introverts and, that doesn't let them communicate well up the chain of command or clients.

This distinction places them in a really nice spot with the option of learning communication skills and move up.

However, I do believe that management and development are very different, so I don't see a lead developer replacing a PM anytime soon (Unless the person is an overachiever, but that is a special case)

Collapse
 
jamesmh profile image
James Hickey

Agree, a lead developer is still doing some technical stuff like code reviews, architectural design, pair programming, and even just building stuff from time-to-time 👍

Collapse
 
raypaseur profile image
Ray Paseur

My best ever lead developer was not a manager. He was broadly experienced in all the technical things (many that I did not possess in good depth). And whenever I flashed a question to Slack or bumped a noise over the transom, he jumped out of his chair to explore the question, seek an answer and pursue an example. Our team flourished. In contrast, I once worked with a "chief of software" who rarely made eye contact because he was staring at his three (!) monitors and was unable to disconnect from his devices and other coincident dialogs long enough to "get" the nature of the question. That didn't go so well. #peoplefirst would be my hashtag. It's not for everyone but it's right for software developers who would level-up.

Collapse
 
jamesmh profile image
James Hickey

I've had similar experiences - totally agree.

Collapse
 
fvictorio profile image
Franco Victorio

Hey James, the first link to your newsletter seems to be broken (the one at the end of the article does work).

Collapse
 
jamesmh profile image
James Hickey

Thanks dude - I'll fix it in a jiffy!

Collapse
 
synthercat profile image
Antonis Savvidis

I do all a lead do but don't currently mentor as I am the only Unity developer of the team, however I do actively plan on how the app will work/which SDKs should be used etc. What does that make me? A sole lead developer?

Collapse
 
jamesmh profile image
James Hickey

lol I don't know for sure 😋 The terms are very fluid in a sense... I personally would consider a "lead" primarily as someone who's mentoring others, but then in a sense "leading" the app etc. in another sense might work 😅

Collapse
 
gaglage profile image
gaglage

Totally agree

Collapse
 
jamesmh profile image
James Hickey

👍

Collapse
 
raypaseur profile image
Ray Paseur

Haha. I read "traits and indicators" as "Traits and Interfaces."

Collapse
 
ansezz profile image
ANASS EZ-ZOUAINE

Wonderful explanation, I'm totally agree 👍

Collapse
 
jamesmh profile image
James Hickey

Thanks!👍

Collapse
 
kabircse profile image
Kabir Hossain

Thanks for your good article. We want to learn advance core technologies,high-level architectural design and patterns for being a senior developer.

Collapse
 
jamesmh profile image
James Hickey

You're welcome! Glad it was helpful.

Collapse
 
akwetey profile image
Jonathan Akwetey

wonderful insight

Collapse
 
jamesmh profile image
James Hickey

Thank you!

Collapse
 
gillmourtunhira profile image
Gillmour

All this while i have been a Lead Developer 😃

Collapse
 
phavor profile image
Favour George

An important highlight is that it's pretty easy to make that transition from "Senior Developer" to "Lead Developer" regardless of age. One's got to pay attention to the environment...

Collapse
 
kalimist123 profile image
kalimist123

Very true and not said often enough

Collapse
 
walidmahade_45 profile image
Mahade Walid
Collapse
 
ezzabuzaid profile image
ezzabuzaid • Edited

So! am I a senior now? I should get a promotion