Programming is creative work. You can't conduct a two-week briefing and make a person a good programmer, just as you couldn’t make them a good artist, hairdresser or cook. In creative professions, mastery is achieved through personal experience, observation and communication with those who do it better.
If you have been working in the specialty for a long time and feel the desire to share your knowledge with others, then you have probably already asked yourself the following questions:
According to Wikipedia, mentoring is a relationship in which a more experienced or knowledgeable person helps a less experienced and knowledgeable person to acquire certain competencies. So how do you determine if you are such a knowledgeable professional? Some believe that if they have a higher position, it means that they are ready to mentor colleagues who occupy lower positions. Or if they just learned something new, they could teach this information to others. Both of these views conform to the predefined meaning of “mentor” but we are going to examine some other key elements that can separate a good mentor from a great mentor.
Both, the student and a mentor, must be motivated to learn. You can train an individual only when they consciously want it. An uninterested mentor might do the work just for the positive image it may give them.
It is better for the teacher to get to know the student as a person - so he will be able to understand their goals, the appropriate teaching methods and choose ways of interaction and motivation.
The difference between an adult learning and a child learning is that adults want to learn if they see an opportunity to use the learning outcomes to improve their life and achieve their goals.
An adult, typically, already has some work experience, and it is worth turning to them to build analogies which will only speed up learning.
Pave the way forward. Mentoring can be practiced because someone once was mentored, and as a token of gratitude they now do the same for others.
Status. Mentoring is a status role, it is considered an honorary duty and mentors make only more valuable employees for the company.
Contribution to the company. Mentoring is a sign of your interest in long-term cooperation and commitment to your company.
Personal development. Mentoring is a form of personal development, as during the process, such skills are practiced and strengthened as:
Where else can you develop these skills?
Friendship. Many successful examples of mentoring are based simply on friendship, on a sincere desire to help another person.
Material. Paying a mentor for mentoring is not a very effective way to motivate, because in this case, mentoring can be done for personal gain. In terms of material motivation, the scheme works best when the mentor's reward is proportional to the student's success. That is, the higher the student's success - the higher the mentor's reward.
Time should be allocated - an hour long meeting a week is enough to discuss the goals of learning, the plan of action to complete them, the format of interaction between mentor and student, and the amount of time that the teacher and the student can allocate to the process. Otherwise, both parties do not understand what they are doing or where they should spend their time.
You can later assess whether the set goals have been achieved. Achieved goals give positive motivation to both parties especially if done in a timely manner and it seems that they have wasted no time.
In the first week, it is recommended to give the student the ability to ask unlimited questions as this creates a sense of trust and security. After the first week, it is recommended to discuss an allotted time that will be convenient for both parties to talk through any long-standing issues.
Depending on the level of knowledge of the student, the urgency of the tasks and the amount of time available for your interactions, you must choose the most effective method of teaching:
Instruction - Simple, clear instructions that provide an algorithm of actions. Used in standard situations and in case of force majeure, when you can't delay.
Explanation - justification of each step of the algorithm. This method requires more time spent by the mentor with the student.
Development - the mentor does not give ready-made answers, he will give direction but otherwise pushes the student to solve problems themselves and will provide help once it is clear they have done so.
David Kolb, a specialist in the psychology of adult learning, advises using the following learning model:
In this cyclical model, "personal experience" becomes the basis for "observation and reflection." These "observations and reflections" are then assimilated and transformed into "theoretical concepts" that can be put into action, when practically applied this will create a new "concrete experience" for the individual that starts the cycle again.
Due to the students' lack of knowledge, it is common for them to try and “reinvent the wheel”
at a certain stage. Don't let them get lost. Try to monitor and direct their efforts in time . To follow the student efficiently and prevent possible problems like this - especially if you do not yet have sufficient communication - you need to assign checkpoints where you talk in detail about their achievements and consider the potential issues. The frequency of checkpoints is up to the individual, though usually once a week is enough. Also, depending on the result, you must determine the direction in which the student is moving and correct it by explaining alternative solutions and so on.
However, in no case should you tell the student: "You do not need to learn this", "Why do you need that, if there is this", etc. Such phrases cut off the flight of imagination, stunting creativity. Just explain to your student why you think they have lost their course, and discuss with them their understanding of the task and tools.
It may be that the student has found a solution to the problem that does not match your ideas, but is also optimal in the context of the problem. In this case, the other way to solve it is not a mistake, because there are as many people as there are ideas. The main thing is whether a person correctly understands the purpose of their work - this sets the direction of movement.
Now you know what to do if you are entrusted to mentor aspiring or new Developers, from the perspective of an experienced Senior Developer. Think about your motivation, about their motivations, plan your training, be patient, give feedback correctly, take into account the Kolb cycle and in the end everything will work out.
If you teach adults professionally please leave a comment and share your knowledge of the topic. The more information there is available the more rewarding relationships we can build.