All documents in this repository are in draft status, and work is expected to continue on improvements, additions, and corrections.

A mentoring guide for open projects#

This document is aimed at:

  • mentors (and potential mentors);

  • mentorship program organizers/coordinators;

  • open-source maintainers or project leadership.

What is mentoring?#

Mentoring is a relationship between people (mentor and mentee) that helps identify and develop skills needed for growth, especially but not limited to roles in open-source projects. Being a mentor can be highly rewarding, as you have the chance to create a lasting impact in your mentee’s life.

Mentoring is not restricted to new contributors. People can be mentored at different levels, and senior folks may also need mentoring from time to time.

Mentoring does not have to be restricted to project tasks or technical subjects. It also involves helping your mentee navigate their career development, learning about your own processes and motivations, and seeing the big picture of your project, program, group, or community. A mentor can also act as a middle layer between the mentee and the project or community they are involved in.

Mentoring does not have to be 1-1. Cohort-style mentorship programs can be useful, particularly for short periods of time, as mentees can also support each other.

Kinds of mentorship#

In this document, we will be discussing two types of mentorship:

  • 1-1 mentoring In this mode, a mentor and a mentee get together regularly to talk about career prospects, individual goals and skills. There is not necessarily a project to be completed. Example of such mentorship program includes Tupu and Women in Tech mentorship. In such a program, mentors will be matched to a mentee and start a 1-1 mentoring over a set period of time.

  • Cohort mentoring/program Mentoring programs such as Outreachy, Google Summer of Code, Linux Kernel Mentorship Program and SheCodeAfrica do cohort-style mentoring, where you have some structure supporting mentors and mentees and a defined timeframe for the duration of the mentorship. In this case, there is usually a program coordinator who will also be involved in the mentoring.

Mentorship programs do not need to be either 1-1 mentoring or Cohort mentoring/program; they can consist of both. For example, the EuroPython Speaker Mentorship Program consists of 1-1 mentoring and cohort mentoring workshops.

For some programs, mentors or mentees can get paid for their work during the mentorship. In that case, keep in mind that the mentoring relationship should not be seen as a commercial relationship: your mentee is not your employee.

You will find useful information in this guide whether you are planning on running a mentorship program or if you want to become an individual mentor - but not all sections of this document will apply.

Why is mentoring needed?#

Mentorship programs help to solve the problem of ensuring robust succession and growth, where many new contributors become part of the community. Mentorship in Open Source (Linux Foundation)

Many open-source projects and volunteer communities grew organically over the years, with no intentional effort on recruiting or onboarding new people. While this can be sufficient for some groups, you may want to build mentoring capacity in your community to address specific issues. For example, you may need to recruit more maintainers, increase diversity in your group, or create a pathway for folks with different backgrounds or expertise.

Mentoring can also be a way to help your mentee build confidence. For example, it can help them become more comfortable with their open-source contributions. This is particularly important for people from underrepresented or marginalized groups.

Mentees are not all newcomers. Moving across roles in a project (for example, from regular contributor to maintainer or from maintainer to leadership) may also require some level of mentoring and guidance.

Benefits of mentorship#

Mentoring can be a great way to give back to the community, even if you are not a maintainer or an expert. Depending on the scope of the mentorship you are doing, you can offer support and guidance to your peers in specific areas where you have more experience.

For the community#

If your community or project is struggling with a particular area and you know you need to intentionally onboard someone for that role, mentoring is the solution. You can also define the scope of the mentorship around organizational or community goals, such as increasing diversity in your group.

For the mentors#

Mentoring someone can also be a way for the mentor to learn and grow themselves. It can be:

  • a way to give back to a community,

  • a way to empower and guide someone’s career, with potential for real impact,

  • an opportunity for self-discovery.

For the mentees#

If you want to go fast, go alone. If you want to go far, go with someone.

Mentees can benefit from a mentorship program in several ways:

  • For career guidance (in both technical and people skills);

  • To grow your skills more effectively;

  • As an opportunity to network with open-source communities;

  • To meet with prospective employers and find other professional opportunities.

By getting support from mentors, mentees can gain confidence and experience to achieve something that they are not comfortable with or do not know how to start to achieve on their own.

Who are mentors/mentees#

Mentors provide professional guidance and support to someone with the aim of helping them grow. Mentees receive guidance from people who are more experienced than them in other areas to enhance their knowledge and career growth.

Quality of mentors#

Mentoring can be challenging, and the focus is on the mentee’s development.

  • Patient

  • Supportive

  • Committed

  • Empathetic

Quality of mentees#

  • Open-minded

  • Committed

Relationship between mentors and mentees#

Mentors and mentees are buddies, but mentors have a bit more experience in certain aspects of things and would be taking on a more supportive role of the two.

How to guides#

Guiding mentees takes proper planning and preparation to have a successful execution.

How to organize a mentorship program#

It is important to set a SMART and sustainable program plan. Identify your WHY, WHO, and WHAT.

  • WHY: The goal of the program.

  • WHO: The target audience (mentee), Tutors (mentors), and POCs (Persons of contact) who will serve as intermediaries between the mentors and mentees.

  • WHAT: Set the program guide, code of conduct, duration, structure, and other relevant strategies (for the before, during, and after).

For 1-on-1 mentoring#

In 1-on-1 mentoring, the role of an organizer would be to match up mentors and mentees according to their needs. There are some factors you can consider when matching mentors and mentees, for example, according to:

  • their area of interest

  • their location proximity/timezones

  • what language they will be using

  • their educational/ career background

Matching mentors and mentees would be the first step to success. After that, support can be provided to mentors and mentees by explaining to them what they will be expecting and committed to do (e.g., need to meet regularly, write a report at the end, etc.) during the program. Organizers may also set an overall timeframe for the mentorship (e.g., six months with the potential to extend for another six months).

Compared to cohort mentoring, mentor and mentee pairs will have more autonomy on when and how often they want to meet and what goal they want to achieve. Organizers are only needed to act as a coordinator when mentors or mentees need extra support. Organizers may also be those who handle Code of Conduct issues.

For cohort mentoring#

To organize cohort mentoring, besides being a coordinator, organizers will need to have more presence in the mentorship program. Organizers will have to set time frames for everyone in the program and, in some cases, arrange and host the cohort meetings.

A cohort can consist of one mentor and a few mentees, or it can be 2-3 mentors and several mentees. Choose a mentor-to-mentee ratio that works for the program.

In the cohorts, there can be a lead, who can be one of the mentors, to help arrange and host the meeting, guide the cohort to set the goals, etc. However, more support will have to be given to this lead mentor compared to other mentors as they are taking up an organizing role within the cohort. It may be beneficial to have regular cohort leads meetings to talk about organizing issues.

How to mentor#

You can choose the format you want for your mentorship program or individual mentoring. Here are some guidelines, best practices and ideas for how to proceed.

Before the start of the mentorship#

Set the scope of the mentorship

Before the start of the mentorship, the scope of the mentorship needs to be clear to both the mentor and the mentee. Explore the personal motivations of both the mentee and mentor. Would it be a general mentoring regarding building a career in open-source? Or would it be project-specific mentoring? This needs to be clear to both parties before committing to the mentorship.

Define length and commitment

Before the start of the mentorship, it is important to agree on the length and commitment of the participants. They should then ensure that both the length and commitment are adequate for the scope chosen and that everyone is on the same page when it comes to time and resource investment into the mentorship. This should be reviewed if anything changes (on periodic reviews, for example, see below). Agree on a meeting cadence.

At the start of the mentorship#

Checklist for mentee onboarding

Setting goals

It is recommended at the beginning of the mentorship to set goals together. Goals are not just for the benefit of mentees. Think of the mentor and mentee as a team: what would be the desired outcome after the duration of the mentorship, and what goals that this team would like to achieve together? Goals should be coming out from the point of view of the development of the mentee rather than what they are actually doing.

For example, a goal can be “mentee becomes more confident in fixing bugs” but not “mentee fixing five bugs.”

Develop a plan according to the goals

Once you have settled down the mentee’s goals, both the mentor and mentee should collaboratively set clear and achievable objectives. You can use the [SMART criteria]((https://en.wikipedia.org/wiki/SMART_criteria) so that these objectives should be specific, measurable, attainable, relevant, and time-bound (SMART). To support the mentee’s journey, the mentor will identify the necessary resources, recommend educational materials like books and courses, create a timeline with milestones, and define specific, actionable steps to help them achieve their goals effectively.

During the mentorship#

Regular check-ins

At the start of the mentorship, you hopefully decided on timelines and the time you decide to spend on it. Making your check-ins and communications regular works best and creates opportunities for reviews and feedback.

Your regular check-ins should not focus only on outputs or work done. It can also focus on people skills, feedback on communication, or guidance about how to interact with the larger community you are a part of. Being productive does not mean they are being adequately supported, and it is your job as a mentor to make sure they know how to ask for help and feel seen and valued.

Agenda template for 1-on-1 meetings

Reviews and feedback

Regular reviews are beneficial to act as checkpoints to see if the mentorship is working and going to achieve the goals. Mentors and mentees can use the review to decide if they want to keep going, make changes to mentoring approaches, or move on from this mentorship. Mentors and mentees can decide on the frequency of the review, and the frequency can be changed according to needs during the mentorship.

While withholding feedback is generally not a good idea, saying everything as it comes to mind tends to be even worse. Again, keep in mind that the development of the mentee should have priority over the mentorship tasks and outcomes. Therefore, when giving feedback it is important to acknowledge the work done and the challenges overcome by the interns, and if something wasn’t done correctly or didn’t reach the standards set, the focus should then be put on how to improve, not so much on the actual mistake.

It is also important to ensure you are on the same page and know the intended scope and context of the work being reviewed before reviewing. It is not the same to review a first draft or a page outline proposal or to instead review a PR that already passes CI, has tests and documentation, or is a social media publication ready for publishing.

Extra note: for open source-related mentorships, feedback generally happens on public venues (i.e., GitHub), which can be intimidating, especially for newcomers. In such cases, there should also be a private channel between mentee and mentor (or at the very least semi-private between mentee and project team) for the mentee to ask questions without the added pressure of knowing whatever they write will be stored publicly for posterity.

Supporting the mentee

While the mentor needs to guide the mentee through their tasks, they should not expect to be able to always do it by themselves. We see a mentor’s support tasks divided into four different roles, which will generally be distributed among multiple people. These roles are:

  • Onboarder: supports the mentee in their onboarding onto the project or community where the mentorship takes place (if any).

  • Mentor: the main point of contact for the mentee when it comes to mentorship goals and tasks.

  • Expert: answers questions and provides specific teaching on topics that are outside the mentor’s area of expertise.

  • Coach: guides the mentee on life and career decisions.

These roles do not necessarily need to be present at all programs, and one mentor may fulfill multiple roles depending on how the mentorship is structured. Mentors can also identify different roles needed for different mentees depending on their skills, experience, and goals.

After the mentorship#

Again, remember that the mentee doesn’t owe anything to the mentor, project, or community. On the contrary, mentors could be mentoring as a volunteer and they also do not owe anything to the project or community. Both parties are only expected to fulfill their commitments made when joining the mentorship.

Have a formal wrap-up where you check the progress of the goals and agreements that were given through the mentoring program.

It is also recommended to collect feedback.

Managing expectations (from mentors, mentees, and coordinators)#

Mentoring can be time-consuming, and it requires effort and dedication. Make sure you set expectations early and often to avoid frustration on all parts.

A mentorship program is not a guarantee of results or outputs. Keep in mind that the main goal of a mentoring relationship should be the mentee’s development. Projects and tasks are the means to get there. This applies to both volunteer and paid programs.

On the other hand, it is healthy to set expectations around coming to meetings, engaging in the mentoring format you chose, and communicating.

Make sure both you and your mentee decide on a timeframe for the relationship and outline your time availability for that period.

Mentors don’t have to know everything - you can call in other people to help. As a mentor, you can identify other people who can help your mentee and make those connections. See, for example, the “Expert” role in the Open Seeds program.

Mentorship community#

Mentee Support System It’s important to have someone else other than the mentor for the mentee to go to. Take a look at your mentors’ community. It can be very useful for mentees to have a point of contact within the community other than the mentor.

It can also be beneficial, when possible, to set up a “buddy” program between mentees of the same cohort, or regular meetings between them, so they also have the opportunity to interact and discuss with people in similar situations.

Mentor Support System Mentors need support as well. It is beneficial to have a mentors community so mentors can “mentor” and support each other.

Resources for Mentees#

Here are also some useful references for you to point mentees (or potential mentees) to if they want to read about mentorship relationships and what to expect. Keep in mind, however, that these references should never replace the explicit discussion of expectations we mentioned above before the mentorship begins.

Conflict Resolution#

Any mentorship program should have a Code of Conduct (CoC) that all mentors and mentees should follow. If there’s a breakdown in the Code of Conduct (CoC) on either the mentee or mentor side, addressing it as soon as possible is essential. Report any issues according to the Code of Conduct (CoC) of your program or community.