
Recently, many companies began to open vacancies for young inexperienced programmers. Honestly, I think it’s great, because it’s quite difficult to get a job without experience in most industries. However, when recruiting Junior, you must understand that you have a certain responsibility, in fact, you become the mentor of this person, and not every leader or team leader realizes this responsibility.
In this article, I want to talk about whether you need a novice developer at all and how to build relationships with it.
First, let's define who the junior is. Beginner programmers are different, we take a young man, not stupid, only after the institute, he knows the programming language we need, he has several small independent designers behind him and, most importantly, there is a desire to learn further.
And you need it?
When you take a junior team, you need to clearly understand why and why you take it. I do not consider the option when an experienced team-leader feels the strength and desire to help the young generation of programmers by sharing their experience. It's fine! But I have not seen this. The most common case - Junior is cheaper. If this is your case - discard this idea. Just lose time and money. Junior is cheaper for a reason, he needs time, he needs to explain something, guide him in the right direction, give hints, be sure to look at his code. And all this takes time more experienced programmers, which is not very cheap.
Junior is an investment in the future. This is an opportunity to grow and educate such a programmer, what you need. Today it takes your time, tomorrow it makes a profit. Ask yourself a question: can you wait until tomorrow?
Tasks Junior.
Often they take Junior to the company, and they are burdened with boring uninteresting work that no one else wants to do. Of course, he is a junior, he needs to grow to interesting and difficult tasks, but then there is a great temptation to throw everything on the poor man! It is important to remember that Junior needs to learn from something. Throw him sometimes interesting, complex, non-standard tasks, most importantly, that they were not critical in terms of time.
Control his work. And not the result, but the process. You will save time for yourself and for him if you notice in time that he is digging in the wrong direction. And again, do not overdo it. Do not give him ready-made solution algorithms, it is clear that you know them, then you and team-leader, give him a hint or advice, send him in the right direction, but do not do the work for him, otherwise he will learn nothing.
A little rigor.
In the previous paragraphs, you might get the impression that Junior should be cherished and cherished, giving up everything when he had a problem. It is not so, a little rigor never hurts. A very popular Junior disease is student syndrome. It is important to immediately make it clear that this is no longer an institution; one cannot sleep through the first couple, and leave with the third. It is impossible not to come to work just because I got up on the wrong foot in the morning.
You also can not be allowed to jerk yourself for any reason. Juniors sometimes sit on their heads, coordinating every line of their code with the team lead. You should be aware of what and how he does, but you do not need to know his code thoroughly, otherwise you risk getting an eternal Junior, who will not write a line after five years without prior agreement with you.
Another popular problem is megalomania. Reaching some level, some Juniors decide that they are now a Guru, and God forbid you, tell him that his method is wrong, and you need to do everything differently. Here it is important not only to point out the implementation error, but also to explain why its method is incorrect and what problems this implementation has in itself.
')
We taught him, and this ungrateful left.
Returning to the question of the opportunity to save by hiring a junior. The level of a young specialist is growing all the time, respectively, the salary should also grow. No need to complain about ungrateful humanity, if Junior has not had a salary increase for a hundred years. There is a popular opinion that the company pays a young specialist knowledge. "We teach you, and also pay extra." That's bullshit. If a person brings benefits to the company, the company must pay for it, and the more benefit - the higher the salary. No need to think that Junior is a person who will always work for you, out of gratitude. If another company offers your pupil substantially better conditions - he will leave ... and who would not have left?
Conclusion.
Of course, everything I wrote works in an ideal world, but real life makes its own adjustments. You will not always come across smart juniors who are capable of self-improvement. You will not always have enough time and patience to answer a bunch of common questions. It is necessary to clearly realize that Juniors are not cheap labor, they are novice programmers who need to be trained, who need to spend time on them. You will need an incredible amount of patience. If you are not ready for this - do not mess. But if you do it right, you’ll get a great programmer on the team. As for me - the game is worth the candle.