Skip to content

Please remove “junior” from your developer titles

I’m against the title “junior developer.” It bothers me on a few levels, and while this is mostly a rant and not as productive as it could be, a conversation on Twitter makes me think it’s still worth writing out.

Cui bono?

When there exists any situation that I take issue with, a generally good question to ask is “Cui bono?” or “Who benefits?” I can see the downsides of the junior developer title fairly clearly:

  • It implies that the developer is not “productive”
  • It implies a lot of work to “manage” the developer
  • It implies general n00b-ness

Who DOES benefit? Why use “junior” in your titles?

  • Companies to pay people less
  • Companies to recruit from people looking for entry into the industry (that’s good, actually)
  • To create a hierarchy and make some people feel better

That sounds mostly shitty to me (except for the honest recruiting bit), and seems like it’s a large fabrication companies tell themselves.

Dig this: I’ve never been a junior developer.

¯\_(ツ)_/¯

At a point, I started calling myself a developer, and you know, people started seeing me as one. Even more so, I started seeing myself as one.

When you call yourself junior, you might be discounting your own experience. Think about giving yourself some more credit.

Do titles matter?

Titles are nonsense, but they’re nonsense that impact how you’re percieved by others.

In the discussion on Twitter (click through the quote to read the thread), some of the counterpoint was “But how do I know what experience they have!?”

Ask them. That’s how you know.

“Junior,” “Senior” and “Staff” are very different beasts depending on the company, so in general, I’d say it’s better to go with the best (highest) you can swing for. Ex. I would not call myself “Senior” on my materials, because that means a very specific thing at the company I work at, but I have called myself “Software Engineer” when my paperwork title was “Web Developer” in the past.

But what do you call a person who’s new to development?

“Developer” works just fine.

Here’s the thing: if someone does a job, then the title for that job is the job. This is not complicated.

Someone who does the job of a developer gets the developer title. That’s the deal. And when you call them something else, especially if that something else mostly serves to either a) make other people feel better (booooo) or b) make the person with the title feel worse and give them an artificial hoop to overcome (BOOOOOO), then I think the title is bullshit.

But what if they’re really new, like totally new?

This is what gets me the most – you know what that’s called? An entry-level position. But I don’t (and don’t want to) see “Entry Level Designer” as a job title. Nope nope nope.

A POSITION is entry-level, TITLES are generally not.

And to boot, most junior developer positions aren’t entry-level. When people hire junior developers, they want them to know how to write code well already.

That’s not an entry-level position. That’s you using “junior” to apply some weird artificial filter to your candidate pool and pay them less, despite the fact that, you know, they’re developers.

But I like the junior! It gives me a way to identify with other new-er people!

Hey, awesome. That’s cool. This is a bit more about people who want to call other people junior. How you identify yourself is your business, but if you’re putting it on a resume … I suggest you drop “junior” 🙂

13 Replies to “Please remove “junior” from your developer titles”

  1. I agree with this. I think the junior title is only useful when recruiting someone and you need to gauge experience. So that’s it junior is a experience gauge for internal use only.

  2. I’ve worked with plenty of “senior” developers who were clueless. That title should also go away except for job descriptions on recruiting sites. You can also be a senior developer who did backend work your entire career, why would you be Sr. at your new job building mobile apps?

    These terms are confusing since there’s no standard and so many fields developers can work in.

    When I do describe someone as a “junior” developer it’s usually based on the quality of their work and refers to their lack of experience. I’ve been trying to use other words that might be clearer instead (like new developer).

  3. I agree with your general premise, but I think there is one situation where ‘junior’ is appropriate. I was a paid intern for 3 years at a company, I really with the last year or so I had been a ‘junior developer’. I’ve noticed that I get basically no credit for that part of my career even though it was really formative, because everyone assumes intern means making coffee and filing papers (so to speak).

    To me, I think a ‘junior developer’ is a legit title for someone that is more than an intern passing through, but doesn’t yet have the degree finished. If we hire someone after their sophomore year as an intern, when they come back after their junior year I’d go with the junior title. Then when they graduate we offer a straight engineer title.

  4. Isn’t it mostly companies that give the title though? I’ve seen job ads specifically for junior developers. I don’t know. They likely test everyone skill anyway, so if you’re good enough to work as a developer professionally you’re probably not “junior”.
    Coding tests are popular during job screenings any can be administered remotely with online platforms like TestDome: https://www.testdome.com/

  5. Another major downside of assigning these “junior”, “senior”, “staff”, “architect” titles is promoting the notion that there is nothing for the

    “senior” to learn from the “junior”
    “architect” alone has the ability and final say to tell a good design from the bad

    If companies want greater collaboration and decisions made with sound reasoning – ditch these titles so that there is productive discussions that would create a chance for awareness/coaching for the less experienced while keep the avenue open for the experienced to learn fresh ideas and insights from the less experienced. Instead of stipulations handed out from seniors to juniors, discussions leads to choices.

    If companies want to reward experience, just have that done in the payroll system. Let all developers or software engineers have titles as “Developer” or “Software Engineer” regardless of their pay.

  6. Even though I agree with this the fact is a company might give different responsibilities to a specific title. A ‘junior’ will not be accountable for the same thing as a ‘senior’.
    I would argue that most company does not apply this logic and just give titles based on random attributes.
    But if responsibilities differ from one position to another, even though the job might be the same, the engineer would be more or less accountable for the work that has been done.
    Alternatively, lots of company dropped the “junior” title and use instead, a numerical level (I think Google start at Engineer II).

    I would agree, as the article points out, there is a difference between title in the company vs title you expose to others. An engineer is an engineer. junior, intermediate, or senior, still an engineer.

  7. I love this article. My title ‘junior’ decreasing my motivation against my work. I will call myself `Web Developer` from today.

  8. I’d argue that if you’re not paying them to do anything different to what you’re paid to do as a more experienced developer, your operating model is flawed. Anyone with 2 years experience in a field is junior, regardless of whether they have 10 years experience in something unrelated. I think it’s viewed here in an incorrect framing, whether it upsets your sensibilities or not.
    A junior position has utterly different responsibilities and expectations, and in a properly structured organisation (especially large) their lack of experience and knowledge is accounted for in planning and costing.
    Junior positions DO need more oversight. They DO different tasks and require different review levels to get through gateways as it would not be fair to place the same expectation levels on them. Any company that hands the same task to polar opposites of experience and expecting the same result, without additional oversight, time and cost, is living in a fantasy land – my junior team members require, on average 10x more oversight than my experienced team members. That’s time we need to charge for. We still need them, we want them to progress and we want them to feel valued, but we also want them to realise they’re not a 20 year veteran and need to walk before they run.
    It could be argued that it doesn’t help to have someone titled as junior if the whole company already knows their experience level and accounts for it, but it’s only in very small teams that that is the case.
    The problem is the expectation of being an equal, without the experience, the sense of entitlement without input, the total lack of humility. The expectation of doing the same work without working for it – this is exactly the sort of person that people don’t want to have in their team. That’s one of the clues that shows someone’s inexperience and lack of sight of the wider picture. Management of teams is a tricky thing to do, and people need to have progress acknowledged – staged titles with attributed responsibilities, and staged rewards to go with it (both in interesting work and in financial and status reward). Experience and skills provides that structured progress, titles provide acknowledgement of that. I have watched teams who try to avoid this structure fail miserably and have huge staff turnover due to staff feeling they’re not getting to progress, and can’t see a target to work towards. When management shove “an engineer” into a meeting and expect them to do generic engineer things, then wonder why the junior staff miss things and make comments to customers that an experienced engineer wouldn’t.
    Junior staff should see the title as a safety net which allows them to make mistakes and ask for support, and recognise that they have clear steps to take to progress to the next level where they can then access more and provide help to those juniors coming to the team after them. The title doesn’t mean the team values them less, just that the hold a different role and experience base until proven and experienced.

  9. I agree, in fact, I think this helped me decide. The last company I worked at we used Junior for some people and I thought it was an awful way to treat some really good people (the only one I remember was female, which is even more problematic). I’ve hired several entry level employees into my team and while they might be referred to as junior members of the team sometimes my team has never had junior in the job title and as long as I manage the team we never will. Thanks for writing this. 🙂

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.