A mentor is a more experienced person who offers advice, support, and professional development to a more junior person. Mentorship can start as simply as giving the more junior person an introduction to various concepts and tools, or become a close relationship which grows more mutually supportive over time as the junior person gains and shares expertise.
There are some mentoring programs aimed at women in geek fields, including:
- Women Entering and Staying in Tech (WEST)
- TechWomen Mentors
- ARA (Attract, Retain, Advance)
How to be an effective mentor
- Critique the code, not the programmer.
- Make sure your learner knows that you believe they are capable of learning and mastering the necessary skills.
- "You still need to work on X" is a much more encouraging message than "You are bad at X".
- Point out specific problems which can be fixed.
- Ask what level and type of code review someone is looking for: troubleshooting a specific problem, reviewing for compliance to a standard, and how blunt you should be in pointing out things which need work.
- Make sure you're on the same page; don't assume that silence means they're with you and paying attention.
- Make sure you're on the same page; they may already be very familiar with the thing you're explaining.
- Be aware of your organization's history. Why was a specific decision made? What are the factors which went into that decision? What has changed since that time?
- You may discover a number of things which need documenting. Creating the documentation together may be a great way to make sure the learner has grasped the topic.
- Maintain good boundaries:
- Mentoring can be an intense experience for both the mentor and mentee. As a mentor, it's your obligation (more than the mentee's) to be aware of any personal feelings you may develop for your mentee or vice versa, and (if they arise) to keep the relationship focused on professional growth.
- Romantic relationships between mentors and mentees aren't unheard of (e.g. between professors and graduate students), but should be treated with extreme caution due to the unequal power dynamics involved.
Mistakes to avoid in mentoring
- Don't do this: XKCD: Code Quality
- Unless you have a very trusted and close relationship where that sort of thing is okay, try not making fun of someone who doesn't know things.
- Don't insult the person who is learning from you.
- Don't assume that just because something has "always" been done that way, that it's the best way or that it can't be changed.
- Avoid the temptation to just do it for the learner.
- It may be a struggle for them to do something that the mentor could whip out in five minutes, but depriving the learner of the opportunity to struggle through and make mistakes will hold them back from learning it effectively.
- Never get into a mentorship relationship with someone you hate, or who hates you.
- You don't have to know everything.
- Don't be afraid to admit when you're not sure.
- Don't be afraid to look things up.
- Be open to the idea that your learner may know some things that you don't.