Node.js Mentorship Initiative August 2021 Updates

This blog was written by A.J. Roberts with contributions from the Node.js Mentorship Initiative team.

Thank you to everyone who has been following the Mentorship Initiative. I’ve answered your questions in the OpenJS Slack, but I haven’t shared updates as much as I’d like so I’m writing this post to let everyone know where we’ve been, where we are now, and where we’re headed.

What We Learned

I joined the Mentorship Initiative over 3 years ago. Back then, it was just getting started. We had a very ambitious plan to mentor every person who wanted to contribute to Node.js and help them get their first commit to the project. We went through a ton of brainstorming, trial and error, coordination with different groups inside the Node.js Organization, and gathering feedback from people in the community. We had a good plan and some success, but it gradually became clear that the amount of time available from our small team of volunteers and those who volunteered to mentor was not enough for such a large-scale effort. The program began to feel more like a lottery than a useful resource for newcomers. We learned that managing scope is not just a problem for programmers.

Eventually, the original Champion of the Mentorship Initiative stepped down and a new one stepped up. We took this opportunity to rescope the project and reconsider our goals. We decided to switch the focus from helping mentees reach their individual goals to finding mentees whose goals aligned with the most critical and immediate needs of the organization, by giving mentees a path by which to join one of the many Initiatives and Working Groups.

This felt like a better, more focused, and manageable task. But it also meant we had to largely start from scratch when redesigning our process. We used an iterative and experimental approach to designing our new process. We tried a bunch of things. We kept what worked well and changed what didn’t. We did this over and over and, each time, the process improved. We’re still optimizing it but we have come a long way and learned a lot in the last few years.

One thing we learned through our experimentation is that different groups have very different needs, goals, and availability. As such, we’ve gradually shifted away from a rigid mentoring experience towards one that is more flexible to meet the specific needs of the Mentor and Mentee in whatever way works best for them. We offer guidance and suggestions but leave the final decisions up to them.

Another thing we learned is that our process lends itself well to being run multiple times in parallel. We started working this into the process itself and our throughput increased greatly as a result.

Lastly, we learned the importance of formalizing processes. Initially, we purposefully kept things pretty informal while we crafted the new process, and this allowed us to make big changes quickly. But once we got to a point where things were starting to work really well, we found that formalizing our process kept things working well and increased our productivity, especially in our meetings.

What We Accomplished

With our new direction and process we were able to provide a lot of value with our small team of volunteers. We placed several highly qualified Mentees with groups where they could gain experience and knowledge while also making a positive impact on the group and its work.

The opportunities we’ve provided so far have ranged from using JavaScript to help create the official example code for Node.js to using C++ to improve test coverage for the N-API module. We also routinely “dogfood” our process to find members for the Mentorship Initiative itself. Two previous mentees have become full members, and we just onboarded our third mentee.

One of our most important accomplishments was to formalize the process we developed. We created the Onboarding Guide to serve as a step by step guide to running the Mentorship Initiative, as well as a step by step guide for Mentors to understand their part in the process. Now that we have published this process, the Mentorship Initiative will run smoothly for a long time to come, even as the team evolves over time.

Where We Are Going

Since the very beginning of this Initiative, we’ve had a disclaimer that we are “in Beta” with our process. Starting now, the process is stable and useful enough that we are comfortable considering it a “1.0” release. As a result, we are shifting our primary focus away from modifying the core process and towards integrating it more fully with the Node.js Project. Whereas we have so far operated on an “invite-only” basis for Mentors, we are now establishing a process for members of the Node.js Organization to apply as Mentors directly. We hope this will translate to providing more opportunities per year moving forwards.

We may not have any opportunities available for the first month or two while we focus on outreach and spreading awareness of the Mentorship Initiative to all members of Node.js. However, once the word gets out, we expect to have more opportunities than ever. :)

One of our first orders of business on the outreach front is to participate in a live AMA (Ask Me Anything) on YouTube. We will be releasing more details on Slack and other social channels soon, so keep an eye out if you’d like to join us. We’ll be taking questions from the community live.

We have some ideas for other ways the Mentorship Initiative could provide value in the future, but we’ll save those for another post. In the meantime, if you have any questions, feel free to reach out in the #nodejs-mentorship channel on the OpenJS Foundation Slack.

Node.js is a collaborative open source project dedicated to building and supporting the Node.js platform. https://nodejs.org/en/