Disclaimer: this post was written to help novice careers or simply not able to assess their level of developers. After receiving a lot of positive feedback from developers of all levels, including those who conduct technical interviews and evaluate candidates, I decided to share this secret knowledge with a larger audience. Hi, my name is Veronica, I am HR.The official gradation promoted by working sites, and on which the majority is oriented, looks like this:
- 0.5-1.5 years of real experience = Junior
- 1-3 years = Middle (during this time you are called Middle)
- 4-6 years old = senior
In fact, most often this gradation has no connection with reality.
')
Often, guys with four years of experience sit at a level that does not reach the middle, and it's not always their fault. Simple tasks and poor code quality are quietly implanted in the company to the beginner as the norm, and if they do not retrain him later, everything ends in a deplorable state when the job changes. It’s just so easy to take and retrain - it is to spend almost as much time as training.
In the same way, there are those who overtake 3 years in terms of the quality of knowledge and code of signors with six years of experience. Everything is individual, remember this.
Okay, you tell me, since it’s still to evaluate if everything is individual and the gradation does not always correlate with the amount of experience?
Let's figure out what Junior, Middle and Senior are.
Junior

A novice developer (or not a developer, in principle, this triad is applicable to any profession in IT), he copes with small tasks, but constantly needs help, review code, and he himself will not master complex tasks. Well, that is, they will master it, but instead of the day they will spend a month on them, and nobody needs that.
What little bell can help you understand that you and June with your three years of experience are still and the proud “Middle” postscript should be removed? Very simple: you show the code, make a test, or write a little code during the interview, and then you will be refused because of the quality of the code. Demand feedback, at the jun-middle level it is especially important, the technical specialist will never refuse it, and will answer in detail how to become better.
How to understand that you are no longer a joon? You do it yourself. You no longer need to constantly edit the code, you are slowly reaching for really difficult tasks and sometimes advising younger colleagues. Like that. Or you can do it easier: find a senior developer from your area and ask them to rate your level. It is desirable to match the stack, at least by the basic technologies, do not ask the Anguler specialist to evaluate your signor reaction. He can, but better let someone else do it.
Middle

See above, almost independent and having the necessary basic knowledge of the developer. Yes, govnokod can take place always. But here there is a hope that you will quickly understand what you are doing wrong, and also correct it promptly.
How to understand that you have outgrown your rank? Your tasks are about an order of magnitude (or even more) more difficult than those you did at the start (juna). We started with an elementary layout, and now you are doing complex web applications on your favorite framework? Or are you not particularly fond of frameworks, because every day you reinvent complex graphics in D3? Confidently lead a team of developers, among whom not everyone constantly needs help? And so on. Really difficult tasks, leadership (choosing a stack of technologies or a team is not so important), the feeling that you have an expertise to which you listen. Hooray, you are something like a signor.
Signor

Your independence is not yet absolute, and will never be absolute, such is the fascinating world of programming. But you are really an expert, you are really listened to, your suggestions can be applied in the architecture of the application, your time is more valuable than the beginners' time, your ideas for optimizing work worth its weight in gold.
This does not mean that no one is listening to the ideas of the younger ones. But they usually do not have enough expertise, understanding, experience in certain conditions, with these or other technologies.
How to explain it. Suppose we show a elementary equation for a primary school student. He will look at it, will think, and will give an answer, which he somehow considered for himself, not knowing the material of the senior classes. And the answer may even be true, intuitively or completely by accident, or maybe he looked at the last pages of the textbook. But this does not mean that he has an understanding and arguments, evidence in support of this answer. But a high school student already has.