As you grow in your career as a software engineer, one of the trickier things to master is mentoring junior team members.
You can learn a lot about mentoring by helping a child with a project which they find challenging. I had such an experience recently when I helped my four year old daughter complete a 100-piece jigsaw puzzle.
Whether you are mentoring a child or a team member, here are 6 things every mentor should know.
1. Mentoring is most effective when the task's level of difficulty is just right.
Without help my daughter could complete a jigsaw with pieces or less. Because she already had experience completing puzzles of that size. She understood the principles of jigsaw completion. But a new puzzle (with an unfamiliar picture) and a higher number of pieces presented a challenge which she'd unlikely succeed at without help.
In other words, she was unlikely to succeed without help but would have succeeded with help. This level of difficulty is a good place for mentoring to come in. The guidance from a mentor increases the likelihood of the mentee's success.
2. Understand that your goal as a mentor isn't to ensure the task gets completed.
I (as experienced puzzle maker) could have done the puzzle on my own without difficulty. This fact underpins my role in the exercise. My goal was not to complete the puzzle, but it was to help bring my daughter's puzzle making skills forward. If my goal was to ensure the puzzle got completed, I'd simply do it on my own. This is a downfall of many "mentoring" sessions in software teams. The mentor gets fixated on getting the task done rather than focusing on developing the skills of the person they are mentoring.
3. Constrain your behaviour in order to achieve your goal.
In the case of my daughter, when we started out I made a rule for myself. I committed to not touching any of the puzzle pieces. I would only talk to my daughter (and perhaps use some hand gestures) as a means of providing assistance.
When my daughter tipped the pieces out on the table, I gently reminded her that if she were to arrange them so that they were facing up, she might have a better time finding which pieces might fit together first. When she found a few pieces that fitted together, I suggested she use the picture on the box to identify what she had built and what the adjacent pieces might look like. When a specific aspect of the picture became complete, I helped her to identify which part she could focus on next. And so on it went.
By constraining my behaviour I was able to have her do more of the work. If I hadn't done this, I may have completed parts of the task that she could have done herself, denying her of these learning experiences.
4. Adjust your level of direction in response to changes in the motivation of the person.
My daughter's motivation would wane from time to time. This was usually due to her not being able to move forward. She'd see what needed to come next, but perhaps couldn't find the necessary piece. I could sense that she wanted to stop and go off and play with something else. When I started noticing this, I would change my style from guidance to directional.
I'd have both of us look closely at the picture and I would describe in detail what the next piece may look like. I'd also preemptively seek out the next pieces ahead of her doing so, so that if I needed to I could point them out to her. If she was having trouble finding a piece, I would start by hovering my hand over the area of the table where the piece was. "It might be somewhere over here" I would say. If this didn't work, I would subtly whisper to her "it's this one" while pointing at it. I was progressively making it easier for her to find the next step, while always trying to hold out as long as I could in case she'd make the breakthrough without the need for further help.
Such situations would also arise when trying to fit pieces into the puzzle. She'd have the correct piece, but wouldn't be seeing exactly where it joined on. In these cases she'd conclude that the piece didn't fit (whereas in fact it would). Sometimes I'd deliberately let her make this conclusion, in case she may come back to the piece later and try again. If it seemed that she'd completely given up on the piece, I'd suggest she try it again.
5. You know you're achieving your goal when the mentee needs less and less help from you.
There were times when my daughter found her rhythm and made steady progress without any input from me at all. During such times, her enthusiasm would visibly increase. She would even tell me not to interfere! It's good when this happens. It means that the person has broken through a barrier and is happily applying their new ability.
But such situations can be unsettling for a mentor. Is doing nothing okay? Generally, it is. If you are observing the mentee carrying out the task without your help, you are well on your way to achieving your goal.
6. Don't let the realization of being capable kill the effort to finish the task.
As the puzzle moved closer to completion, my daughter no longer needed my help. It was clear to her that she was capable of completing it. At this point, one final danger presented itself. She almost stopped when she knew she could do it. The knowledge that she was capable made her think that she was "done", even though she wasn't. Uh-oh. I quickly gave her a dose of motivation: "You're almost done! Quick, let's finish it and show it to mummy...". This promise of glory was enough to get her working quickly on completion. Once the puzzle got done she did indeed proudly show it to her mother - and to everyone else who was close by at the time.
As a parent, you want to see your children grow into self-sufficient members of society. But in order to do so, you have to find a balance between moving obstacles and teaching your child to move obstacle themselves. As a mentor of aspiring software developers the challenge is the same. Hopefully these 6 things will help you get there.