Node.js Mentorship Program
An initiative to kick off the Node.js mentorship program.
This project is bound by a Code of Conduct.
The goal of the mentorship program
To bring more contributors to NodeJS projects by mentoring people about the Node.js environment and ecosystem, helping them contribute to Node.js, championing their PRs through code review, and giving general help.
Benefits for mentees
-
You will receive personalized guidance to contribute to Node.js and related projects, and understand its ecosystem.
-
You will grow your professional network.
-
You will broaden your knowledge about Node.js by connecting with someone outside your immediate work group.
-
You will gain experience in contributing to OSS in general and Node.js contributing practices.
-
You will receive personalized help in understanding various projects under Node.js and improving your skills.
-
You will have an opportunity to work on soft skills such as communication and problem solving.
Mentors will help out in the following
-
General guidance (any topic related to Node.js ecosystem and javascript).
-
Guidance for contributing to Node.js OSS.
-
Code review.
-
Additional activities agreed upon by both parties such as discussing specific resources, pair programming or live coding sessions.
Benefits for mentors
-
You will get to meet talented people from across the Node.js community.
-
You will have the opportunity to practice mentoring people, giving guidance and sharing your knowledge, which is a valuable skill for managers and leaders.
-
You will show your commitment to help the Node.js OSS project.
-
You will be invited to Node.js events at a discount, and might get invited to speak in Node.js events and conferences.
-
You might be invited to participate in group mentorship events and programs.
-
You will be joining the Node.js mentors team.
Mindset
-
Growth Mindset - A growth-mindset is required for change; if it feels overwhelming or scary, you are on the right track - keep going.
-
Start Small - Activity begets activity. Let go of doing things right and start doing something. Little steps lead to big change.
-
We’re in this together - If you feel stuck, reach out to someone for support; lean on the mentorship community.
Relationship
-
It’s a two way street - Mentees lead, mentors guide, but both are active participants. Mentoring sets mutual responsibilities and accountability.
-
Mentorship is an investment - Mentorship is an investment for both mentees and mentors; you get out of it what you put in.
-
A foundation of trust is essential - Mentoring requires a trusting, confidential relationship based on mutual respect. Consistency is key; Scheduled consistent meetings are an important part of building the mentorship relationship.
Mentee-specific
-
Goal setting is worth the time - Goal setting is an iterative process; mentees should “raise the bar” for themselves as they progress and their skills increase. Take time to reflect on progress and celebrate small wins.
-
Give yourself permission to focus on your career - It is hard to set aside time to focus on your career, but it’s important! You have permission to focus on your career.
Mentor-specific
-
Mentors guide - Mentors make themselves available to their mentees and they actively listen. Guidance includes sharing experiences, past or present, and how you may have dealt with a particular challenge or situation.
-
Mentors are a connection point - Mentors connect mentees with people and resources (e.g. articles, classes). Mentors aren’t expected to know all the answers. A mentor’s job should be to help mentees work through problems, not always being or finding the solution themselves.
The Mentroship Program Structure
The mentorship duration will be 6 months, during which the mentor will provide guidance and help to the mentee on an agreed schedule.
Process
Inspired by Kubernetes pilot prorgam
Declare intent and goals
A project under Node.js, (i.e. node-core) declares the intent to join the mentorship program. An announcement (with enrollment instructions) will be added in the mentorship project by the CommComm, declaring an opening for a mentorship program for the mentioned project.
Choosing Mentors
The Node.js mentioned project will be the main contributor in electing and choosing mentors. In addition to nominated mentors, candidates from the community are required to submit a form to apply for the selection process. Check the Application Forms for more details.
Identifying Mentees
Mentees fill in a form to apply to be matched with a mentor. Check the Application Forms for more details.
Matching
Before the program starts, mentees will fill out a survey indicating the areas of focus they’d like to work on. Mentors will fill out a similar survey indicating the areas they feel comfortable advising on. This information will be used to pair people. The Concerned Project community / members will nominate mentors, in addition to filtering the list of prospective mentors willing to join the program.
The CommComm will match mentor/mentee pairs based on their language, goals, and other preferences.
Kickoff
A kickoff email will be sent informing the mentor/mentee pair about their match up.
A meeting will be scheduled to introduce them to each other. Pairs should agree on a mentorship schedule, expectations and goals, and the medium of communication. They should also decide on what should be held confidential and what can be shared outside the relationship.
Regular Mentor/Mentee Meetings
Mentors and mentees will meet for at least an hour every month for the following 6 months.
Ongoing Support for mentors and mentees. In addition to the meetings, the mentor should champion any PR submitted by the mentee during the mentership program in the Node.js project.
- Slack channels for mentors and mentees to create a space for conversation, encouragement and learnings.
Expectations
The mentoring relationship should be *mentee-driven and mentor-guided*. The mentee is expected to identify and drive activity towards his or her career goals. Effective mentorship is built on a solid relationship between the mentor and mentee, so take time to get to know each other, exploring passions and obstacles as they could become relevant (if not already so) to the areas of focus.
Requirements for mentors:
- Attend the kickoff meeting.
- Help their mentees refine their goals during the first week of the program.
- Meet with their mentee for at least one hour every month for 6 months.
Requirements for mentees:
- Attend the kickoff meeting.
- Identify 1-3 career goals.
- Meet with their mentor for at least one hour every month.
- Drive activity towards career goals (have a “growth attitude”).
General Mentorship Details
Accounting for language diversity
To account for language diversity, the application form includes the following:
- The preferred language of the mentee/mentor
- The fluency in speaking/understanding english
- Whether the mentee/mentor requires non-english language for communication.
- Note that restricting the language might result in a slower pairing process.
Displaying the list of mentors and mentees
Initially in the program's GitHub page, and asking candidates to join the Slack channel to reach out and meet people over specific channels.
What is the communication channel to be used for communication between
mentors/mentees?
Slack is used as a channel for the initial meeting, then the pair can decide as they see fit.
Duration of the mentorship program for the paired up mentor/mentee
6 months.
Kickoff the mentorship program
-
Finalize and reach consensus on the program structure and process.
-
Finalize Logistics (ie. forms to be filled in by mentees and mentors).
-
Create a Slack channel for interested and nominated mentors and mentees, this lowers the barrier for people to join, by increasing visiblity of members and show the activity of the program.
-
Announce to all Node.js projects (i.e. node-core) about the availability of the program, so they can reveal interest and goals in joining.
-
Reach out to the mentors list in the node-forward mentors program: https://github.com/node-forward/mentors
-
Publicize the program through the Node.js ecosystem (Node.js Facebook pages, blog articles, personal connections).
-
Update the readme files of the enrolled projects to encourage new comers to join the mentorship program.
Future
After collecting a group of mentors and being confident in the mentorship process, the program can advance to include the following:
-
Coordinate mentorship events through platforms like Outreachy.
-
Conferences and group mentorship programs.
-
Widen the scope of the mentorship program.
Inspiration and References
The structure and details of this initiative is inspired by the following mentorship programs, lots of details are combined and taken from these sources:
- Node-forward Mentors
- Node-forward discussions
- Node.js Mentor Program Form
- mentorship by NYTimes
- hapi.js mentors program
- PHP Mentoring
- Udacity Mentorship Encyclopedia
- F# Mentorship program | The F# Software Foundation
- Kubernetes pilots
- Software Mentorship Program Guidebook
- Xerox-ABI Online Community and Mentoring Project
Contributing to Node.js Mentorship Program
Draft
This is an initial draft to address the initiative, with the intent to transfer ownership to the Node.js Foundation;
Additional Context
- #community-committee/172 Mentorship Team under the CommComm