Why you shouldn’t leave rookie developers on their own?
There is a lot of things that can go wrong when you leave a rookie developer on his/her own:
- the code may be badly written
- the feature may not work according to the task
- the feature may not work at all
- the feature may be completed after ages
- the solution may add a lot of technical debt and might be inefficient
Those things are quite bad but you can deal with them as long as you are doing code reviews. However, there are worse things that can happen:
- the developer may lose his motivation
- the developer may stop making any progress when it comes to his skill level
This is when assigning a mentor becomes handy.
In case you don’t know, a mentor can be described as an experienced and trusted adviser who can help another person grow in a certain area of expertise.
We are using a mentoring system in our company almost since the beginning and I can say that it turned out to be a great success. Each new developer (or salesperson, office manager etc.) is assigned to a more experienced colleague on the first day of work. But the crucial thing is that mentors are not assigned randomly and not everyone can be a mentor.
Being a skillful programmer is not enough to be a good mentor. Patience and teaching skills, as well as availability for the mentee, are required. There is no point in taking a mentee if you don’t have enough time to focus on teaching him/her. If you are not a patient person or you have a problem with explaining things you should invest in yourself to develop those features before you start to mentor others.
A good mentor speeds up the learning process by directing the mentee to the best learning materials and giving him/her well thought out challenges. But the most important task is to give constant feedback to the mentee’s work. Feedback through code reviews or during pair programming sessions greatly enhances the knowledge obtaining process.
We have noticed that developers after half a year in our company are usually better than newcomers with two years of experience gained in companies without the mentoring system.
Assigning a mentor is a great way to speed up obtaining and increasing a programming skill (and any other skill, to be honest). I highly encourage you to try the mentoring system in your company, but please remember that you should pick your mentors wisely. A bad mentor can damage a mentee as much as a good mentor will help the mentee grow.