How is the developer level determined?
There is already a lot of information on the Internet about the classification of developers by levels, but the clear requirements of the IT environment for juniors, middles and seniors have not been formulated.
Large companies like ask questions about algorithms, architecture and other topics. So if you are looking for a job in Internet of Things development you should be at least theoretically prepared for questions about typical IoT architecture, concepts, technological stacks and other topic-related material. They have a conditional list of questions, by answering which you can determine your level. There are other companies that care more about work experience — they ask practical questions. It is important to understand that this is rather a level within the company, but not the market. But you can try to identify some similarities.
If the difference between a junior and a senior is often obvious, then between a middle and a senior is far from always. Often a middle+ developer is perceived as a senior with some indulgences.
The situation is similar with Junior+ and Middle. For example, if it can be a big failure for a senior to not know how technologies work in a project, then for a middle level this is quite acceptable. However, most of the questions are the same.
Let’s try to highlight 3 factors that are often taken into account:
Confidence in an interview. This criterion is not entirely fair, but such is the state of affairs. It is important to be able to convince the employer that you are suitable for the position of Middle or Senior. Often a person comes and gets a job as a middle man, but he could pass as a senior, but he does not know about it or cannot convince him of it. It also happens vice versa. The person is excellent at the interview, but in the work it turns out to be at a lower level. Self-confidence and the ability to present yourself are some of the most important skills in job interviews and hiring.
Experience and skills. If the middle is allowed to not know something, then the senior needs to know the whole project, its architecture. Often asked questions about how the technologies that the developer has encountered are arranged.
Working hours. It is strange to see an applicant for the position of a senior with a year of work experience. This happens, but extremely rarely.
Approximate time to reach a certain level is:
I just started my journey in IT as an intern.
1-2 years of work – junior.
2-4 years – middle.
from 4 years old – senior.
These numbers are not universal. 4 years of work does not mean that you have become a senior, it only means that you will not be looked down upon if you apply for this position.
If you have written that you have 6 months of commercial development experience and you are a senior, then most likely you will not even be called for an interview at a good company.
We have highlighted a number of points that will help you not get stuck on the same level.
1. Constantly look for new growth points
It is important to understand in time that you have grown as a developer. At such times, the best solution is to tell the employer that you want to do more complex or different tasks. Basically, the employer listens.
Unfortunately, there are other cases as well. If you feel that you are not growing and there are no options within the company, then you have to change jobs. Often, candidates at the interview and talk about their past job. At first everything was fine, but then I got tired of monotonous tasks and there were no options for growth.
The worst option is to just do monotonous tasks and wait until tasks appear on which you can develop. This happens quite often. Therefore, you need to constantly ask yourself: “Did I learn something new in 3-4 weeks?”. If not, then you need to think about how to make it possible to do new things.
This advice is not only for beginners, but also for experienced ones. But this is not so obvious to a novice developer, everything seems new, he is growing rapidly, because initially there was no experience at all. But over time, this easy growth ends. At some point, you need to understand that you are doing the same type of tasks, and the programming world consists not only of them.
2. Choose the right project
If the first project may not be so important, then the subsequent ones need to be approached more consciously.
If you’re new, it’s cool to be on a team that is just starting a project and building all the processes from scratch.
It is good to work on a project where both the technological process and the social one are built. In the first case, this is code review, DevOps, ready-made architectural approaches, and so on. You can quickly develop in a team where there are already 1-2 experienced developers.
In the second case, Scrum, Agile can work well. It is important that people do not just sit in the corners, but constantly communicate with each other, discuss improvements, architecture, code.
There are indirect signs that will help to understand the situation in the team.
Let’s imagine a situation: someone in the team notices a mistake in the code of another developer, and the rest of them laugh at it, but together and in a kind way. Friendliness reigns in such a team – this is an important sign of a good team.
Why is it important? If the team does not discuss anything, and for any mistake you are scolded and aggressed, you will collect your thoughts for a long time, it will bring down. This job is uncomfortable and there is a lot of turnover.
The worst thing about such teams is that there is often no freedom of opinion, but there is right and wrong. In such an atmosphere it is difficult to find the optimal solution. It’s easier to find him when the whole team is talking. Each developer, regardless of level, expresses his ideas and everyone discusses them.
3. Be honest and brave in interviews
You can understand how the processes in the team are built even at the interview. To do this, you need to answer questions honestly and ask what you are interested in. So you can quickly understand whether the company is right for you. Especially if this is not the first job and a lot of offers come.
You can simulate various work situations and ask questions: what does a working day look like, how and who distributes tasks, who can you contact if it is not clear how to do a task. Here you need to think for yourself what suits you. You can fully simulate the situation of a real working day. This will give a sufficient understanding of what awaits you.
4. Show initiative
Initiative is another point for development. As, perhaps, in any other business. Initiative in a team can be cultivated, or it can be condemned. Even if your initiative is rejected, this is an opportunity to gain new knowledge. Don’t neglect it. If the criticism is justified, then you will be able to find out why you made a mistake and become a little more experienced.