Junior in place of Senior developer: what will happen?
There are 4 types of programmers according to their level of knowledge, scope of responsibility and tasks performed: junior, middle, senior, team lead.
Now in the IT industry, the requirements for junior specialists are quite high. They should already know a lot at the start: JS language, React or Angular libraries. And be able to quickly and efficiently perform small tasks.
At the same time, juniors often need help from a middle or a senior. Architectural questions may arise, and then you need to explain how everything works in the project. It is absolutely natural to give novice specialists a little more time to complete some tasks.
But it is important that the questions concern the project, and not the programming language. It is understood that this knowledge is at a high level.
Middle-specialist usually does tasks independently and without questions. Including heavy ones. Occasionally, most often on complex projects, he may have questions about the code and architecture. And then he consults with the signor. That is, middle can perform all tasks, but sometimes it needs the help of a senior specialist.
Senior can build the architecture of the project himself. He knows different approaches. He can complete almost all tasks. He rarely asks questions.
Team lead also knows everything, has experience and, in addition, understands how other programmers work. He can organize and manage a small team of programmers. He knows how to answer the questions of the junior in an understandable language so that he immediately understands the essence.
What is the difference between junior and senior?
The difference between them is colossal.
Junior performs tasks of simple and medium difficulty. But he is not involved in the architecture of the project. He may have questions about the code. Junior usually comes into programming with a specific language and framework. Juniors usually have 2 or 3 years of experience.
Senior can organize the architecture of the project himself and knows how everything works. It is he who chooses the right stack, immediately adds or removes some features. At the same time, he also mentors juniors and gives useful working advice to middles.
A senior specialist has more experience and knowledge. He understands all the steps of project development, passed all levels. Been in different situations and knows them from the inside. Often a senior knows several programming languages. If this is a frontend developer, he usually has experience on the backend side as well.
Senior could have entered as a PHP programmer and subsequently become either a Java or JavaScript developer. He usually has at least 5 years of programming experience. Senior has coded in other languages and knows features that junior never dreamed of.
Areas of responsibility
Junior’a has a small area of responsibility – to do the task and understand the project. But even if he fails the first time, it’s not a problem. There won’t be much demand for it. They will explain, prompt and give more attempts and time to complete.
But seniors have a lot of tasks and responsibilities. They build the architecture, manage the project, mentor junior specialists. It happens that the senior himself is the creator of the project. And he is also responsible for the project. If something goes wrong, he can immediately change the stack and everything else that he sees fit.
Plus, not everywhere there are team leads. If the team is small, then the signor in it also performs this role. This is a person who solves all problems if something does not work. If a senior cannot solve a problem, this is a serious challenge for the development of the project.
It often goes like this:
- Seniors are in charge of the project.
- Middle-specialists perform the main tasks of writing code.
- And juniors who do the routine work.
Each type of programmer has its own tasks. But the entire responsibility lies with senior specialists, as managers and the company rely on them.
What tasks will fall on the junior
I worked in a company as a senior developer and was a team lead. I had 4 juniors in my team. Therefore, I can imagine what could happen if an unprepared programmer suddenly jumped several levels higher.
But it all depends very much on the person. I would divide juniors into several types:
- Those who know know nothing. They ask a lot of questions, they study everything carefully. And only then they begin to perform tasks.
- Proactive and forward thinking. They learn quickly and master skills. Everyone is interested in and strives for self-development. Such specialists can become seniors in 2-3 years, and even earlier – middle-specialists.
- Those who don’t know don’t know. This is the scariest guy. They start writing code without asking questions.
Once in my team there was a representative of the latter type. Such people want to complete the task at any cost. They don’t care how. They won’t even ask if they’re doing the right thing.
That junior was copying and pasting open source code. An experienced programmer can always see this. And the worst thing is that even if the code does not work, or it works, but it is crooked, they will send it to production and they will not care. What matters to them is what they have done. And if such “dirty” code gets into the project, then there is a risk that it can even ruin it.
Therefore, before doing something, it is always important to ask questions of more experienced colleagues. Senior and middle specialists are skeptical about those juniors who rarely ask them about the project and tasks.
Don’t be afraid to ask. Because in the work of a programmer, this is extremely important. If you are thoughtful about the process, you will be more respected.
The code must be clean, and for this junior must:
- understand the task;
- understand how things work;
- start writing with the right approach;
- write clean code;
- ask questions to the mentor.
And only after all these conditions are met, run the code in production.