DEV Community

Discussion on: Question regarding "Junior Full Stack Developers"

simbo1905 profile image
Simon Massey • Edited on

I am not sure that any of the answers so far have talked about the progression from being a Junior Dev. The way that I think about it is that when you are starting out you tend to ship code as the "the first thing that works". In this sense a person is junior in that they need some help and guidance to create code that goes beyond the basics. At this stage starting on a feature with a blank file in an editor is really draughting and being given an outline to fill-in helps with confidence.

Someone becomes senior in my eyes when they are able to create an outline for others to fill-in and when are able to see and fix problems before they become obvious bugs. They are able to speak from experience as to why writing code in one way or another is less error prone or more maintainable. They should know the idioms of the languages and frameworks they use. At the point where you are able to help others with these matters you are in my eyes working as a senior developer.

A lead developer goes beyond being a senior developer in being able to bootstrap new applications or "team sized software" from scratch. They can evaluate and select new libraries and frameworks to use and write a shell of the system that the rest of a team can flesh out.

So to answer the question "when have you gained enough expertise" is simply "when you start working at the next level". Often pay and job title lag behind where a person really is at. Other times a person gets dropped into a situation where they have to step beyond where they were before and they have to stretch. In my experienced the best thing you can do is work with different folks that you can learn from and share ideas. If you spend your time feeling like everyone around you knows more than you then eventually you know your craft well.