DEV Community

Cover image for The job title debate
Graham Morby
Graham Morby

Posted on

The job title debate

What is the real difference between Senior, Mid level and Junior developer? Do the three tags really mean anything? Is it just a pay grade or a self indulged title we all strive towards?

The above questions are some questions I have been asking myself lately. I mean so we really need to label what we are and simply go for pay structure base don time served and we are all simply developers?

So the reason I say this is because as developers we all bring something to the party, be it a new skill or an old way of thinking. This whole idea has come off working with a really smart and skilled 'junior' developer on the latest project I have been working on. So I have somewhere around 15 years, which means I think a little different to a developer who grew up in the framework era (Yes I'm coining that phrase).

I have a good idea of UI design and the best way to plan and output a build but that does not mean I know the best way to code in the modern world nor does it mean I have all the answers. I have to rely heavily on my team and those around me to help output the vision I have put in place. Also that also means I am asking questions of my front end team of the best way to do a certain piece of code or a tricky piece of UI. Does this mean my contribution is anymore than his? Not at all, and what is the only difference between me and him?

The difference is this, I have more time in the working commercial world and that in my eyes is it. As a developer I have come to the conclusion 95% of what we do is work out how to do something and 5% actually coding it and that is the only reason I should be paid more than him, his code is better than mine at times and my thinking is better than his at times.

I can handle customers and I can handle pressure situations, I understand workflow and I understand how to create a good UI from the many I have built. He on the other hand understand current techniques, current language syntax and the frameworks.

So who is the senior and who is the junior? As we both bring things to the table and we both can join the party. My experiences give me a slight advantage and my time is worth more as I have 15 years extra but am I more senior than him no not at all.

So we need to drop tags, we need to remove titles and just all be developers and be paid on experience.

Top comments (5)

Collapse
 
michaelmangial1 profile image
Michael Mangialardi

This differs in every company, but I think software titles should distinguish roles in two ways:

1) By distinguishing between techincal experience
2) By distinguishing between the type of work

For example, a Software Engineer I may be a title for more junior developers. The expectation may be that the developer will require hand-holding and a heavy investment of mentorship. The next milestone for someone in this role is to be able to work independently without hand-holding. A Software Engineer II may be a title for developers that can work without any hand-holding and start to show a capacity to write good quality code and make informed technical decisions.

Beyond that, you may start to break out into different tracks.

If a developer is more experienced and mature, you may have a Senior Software Engineer who can lead streams of work and onboard other employees.

If a developer prefers strategtical work (that is, architecture, technical direction, and "enabling" work), then you may give them that focus and call them a Lead Software Engineer.

If a developer shows strong leadership and managerial skills, they may be put on track to a Software Engineer Manager.

If a developer is more of a generalist and wants to provide technical direction across multiple teams, you may have a title of Principal Engineer.

In a word, all engineers will likely start out doing tactical work (writing code for features in a product). However, as they mature, that maturity can be captured as well as different skillsets that better fit more tactical work, or manangerial or strategical work.

Collapse
 
grahammorby profile image
Graham Morby

Do you think as a senior developer mentorship shoudl stop?

Does a senior engineer not need hand holding from time to time?

Why not just have pay bands? say 1, 2 and 3 - no tags or titles

As I've said in my article I have been developing along time but I still need mentorship and hand holding, more now than ever before as the landscape is changing so often.

Collapse
 
michaelmangial1 profile image
Michael Mangialardi

Their needs to be more experienced developers that hand-hold, and more experienced developers do well to bounce ideas from other experienced developers.

I wouldn't get caught up in a particular scheme per se, just pointing out that there is a spectrum of skills and focus needed within an engineering organization--and we do well to put our finger on this spectrum and have roles that cover the width of it, using title as a helpful starting point for clarifying focus points and responsibilities.

Collapse
 
guithomas profile image
Guilherme Thomas

I mostly agree with what you said. But being paid by experience isnt just using another tag? The 1-year guy, the 5-year and so on.
And being experienced in something don't necesessaly equals to be good. You can have years of experience and still be bad on it.

Collapse
 
grahammorby profile image
Graham Morby

I ve met senior devs who are awful, mid levels that shouldnt be I guess the only bench mark we can give is job history and time served