It would seem that everything is simple. The junior developer knows very little, the middle one understands a bit of everything, the senior one can do it all. But, this becomes not obvious when you need to determine your own or someone else's level yourself. Is there certain knowledge that will definitely make you middle? Is there a clear line between the middle and the senior developer?

Of course not. This is the whole difficulty. So let’s take a look at the differences between junior, middle, and senior developers.

The junior developer

A beginner is always noticeable from afar. What is a junior web developer:

As you can see, there are no clear edges here — what exactly junior knows and what he doesn’t. Often this is immediately clear to experienced people. A junior developer is hungry for knowledge and ready to follow it anywhere. However, he doesn’t see the ways of his development, since he doesn’t yet fully know all the roads in programming.

The middle developer

The place where most programmers live is the middle level. What is the difference between junior and mid-level developers?

There is a reason I highlighted the point about awareness of future work. Junior, for example, doesn’t see this perspective, because he doesn’t understand how big the programming area is and how far it is to the level of a senior. Middle developers have this knowledge available, the only question is whether they will use it.

Do you remember my words that the number of years doesn’t solve anything? And also that most developers stay at this level? All this is due to unwillingness to go further, fear of taking responsibility, developing hard and soft skills. Why go ahead if it's good here, right? I don't think so, and I propose to deal with it.