I think everyone understands that having an explicit mentor is a great thing that has many benefits but I sometimes I don't think that people think of Implicit Mentorship.
Explicit Mentorship is an intentional process and is generally a relationship that is agreed on between two or more people. You can discuss topics with your mentor and get feedback and insights on various topics.
What is Implicit Mentorship?
In the same way that a natural leader can emerge from certain situations I think mentors can also emerge. Often these people do not intend to mentor or even realize that they are mentoring someone else.
Why is Implicit Mentorship important though? On a number of occassions I have seen situations where someone could greatly benefit from somebody else's experience. When making the suggestion that person X could learn from person Y, either person Y does not feel comfortable "teaching" or person X dismisses that they would gain anything of significance. However, if these people stumble onto the topic themselves, a conversation usually takes place and possibly even a transfer of knowledge no matter how small.
Benefits of Implicit Mentorship
This is why developers pairing on a problem is so valuable. Not only has the problem at hand been addressed by two developers covering each other, there is also a transfer of knowledge that takes place that has nothing to do with the actual problem at hand. When one developer shows another developer a new technique, a new editor, a new shortcut or anything of the sort they are mentoring one another.
In this way, developers that would usually not be comfortable acting as an official mentor still end up mentoring in a capacity that they are comfortable with.
Environments that support Implicit Mentorship
There are a number of things that can be done to foster an environment of implicit mentorship:
- Encourage pairing on problems (do not force it though)
- If team members are discussing something completely unrelated to the problem at hand, leave them to do so. (Obviously this comes with certain restricitions. Discussing the latest farming techniques in Diablo3 is still mentorship, just not the kind that should take place during office hours)
- If you spot some well crafted code or a situation that was well handled, ask that person to drop the team a mail and explain what they did and why. (If they are shy, perhaps look at doing it on their behalf. That why it also comes across as praise from a team member)
The anecdote of the frog in boiling water applies here. I think the software community is one that needs more mentors and throwing people in at the deep end tends to scare them. By promoting a culture of Implicit Mentorship we can gradually introduce people to mentoring others without it being an official thing. This way people get used to it and once they have been doing it for a while they might be more willing to take on an official mentorship.