DEV Community

Discussion on: What Defines a "Junior" Developer? 🤷🏻‍♀️

Collapse
 
cheetah100 profile image
Peter Harrison

The terms junior, intermediate and senior are primarily related to responsibility. A junior has no responsibility. Juniors are generally not given critical path jobs, rather given reasonably easy to complete tasks that are not critical. At this point a senior developer or team lead is responsible for them. A intermediate developer is one who is trusted to implement code responsibly. They are trusted to complete tasks or stories with minimal oversight. A senior extends responsibility beyond their personal efforts. This may involve mentoring, system design, team building, scheduling and development practices.

This is not about age or development skill as such, it is about increasing responsibility and ownership. Such progression is not necessarily automatic. You can get locked into restrictive roles which do not allow you to take on additional responsibilities. I have found smaller startups provide roles that are less strict in terms of separation of roles, which allows people to develop their skills. Larger companies tend to be more inflexible, but there is a rather wide variation in company culture.

To be honest the terms themselves can be potentially corrosive unless you clearly communicate to developers what is required to advance in terms of responsibilities.

Collapse
 
emgodev profile image
Michael

Spot on, this this is really what titles are about.

Collapse
 
kateyanko profile image
Kate Yanko

As a Junior myself, this was exactly the definition I needed to see. It makes so much sense!

Collapse
 
kienngo profile image
ken

Very well-explained!