Coder Social home page Coder Social logo

mentorship's Introduction


Node.js Mentorship

Achieve your goals by connecting with Node.js members and projects.

🚀 Get Involved

Mentees

To get involved sign up for the OpenJS Foundation Slack workspace and join the #nodejs-mentorship channel. All announcements and opportunities will be posted there first.

Mentors

Our goal is to help “fill in the gaps” on Initiatives and Working Groups that have important work to do, but a lack of people-power to accomplish it all. If this describes your group, you are our target audience!

We provide the people and you all provide the knowledge and support for getting them ramped up and providing value. Here’s what being a Mentor entails:

  1. You fill out the Mentor Application form (it’s very short!) and open an issue on this repo letting us know you’ve completed the form
  2. We’ll arrange a 1 hour “Requirements Gathering” meeting between you and the Mentorship Initiative where we work together to iron out exactly what your group needs in a Mentee, how soon, etc
  3. The Mentorship Initiative designs, creates, and publishes an “Opportunity”, takes Applicants, and filters and sorts them down to our top recommendations based on the needs we discussed in the Requirements Gathering meeting
  4. You choose which Applicant you’d like to take on as a Mentee and we connect you to each other
  5. The Mentee starts attending your group meetings and you work with your new Mentee to identify some tasks or a small project they can work on and complete
  6. When the Mentee has questions or needs additional context, you provide them with what they need, and ideally give them feedback on what they’re doing well and where they could improve; we encourage additional, periodic one-on-one meetings, but you and your Mentee are free to decide what works best in your particular case
  7. Optimally, your Mentee will eventually become a full member of your Initiative or Working Group, and maybe even become a Mentor themselves

If anything out of the ordinary arises, the Mentorship Initiative is always here to offer guidance or provide solutions. If we don’t hear from you we will assume things are going well, and we will check in after a month from connecting you with your Mentee to see how things are going. This helps us fine-tune our process and ensure the mentorship relationship is working as intended.

And that’s pretty much it! If this sounds good to you and you're interested in mentoring someone for your Initiative or Working Group, go ahead and fill out this short form and open an issue on this repo letting us know you've completed the form. We will get back to you about your application within 2 weeks.

General Mentorship Details

The Mentorship initiative identifies specific needs of Initiatives and Working Groups within Node.js and posts applications for available opportunities. If there's a position you're interested in, please complete the application, and we'll get back to you about how you can help.

What does it mean to be a Mentee?

In general, the Mentorship Initiative wants to bring passionate and talented people into the Node.js community.

As a mentee you will attend meetings with your Mentor and take on tasks related to the goals of the Initiative or Working Group you are in. This means getting up close and personal with some integral workings of one of the largest community based programming ecosystems in the world.

During your time as a Mentee you will get to know many amazing members of the community. You'll also be able to make a direct and personal impact on the direction of the Node.js project through your work in your chosen Initiative or Working Group.

Mentee Commitment

Mentees should be self-motivated and professional. Our Mentors' time is valuable. They are there to offer support, insight, and answers, but you should be proactive about identifying the areas of greatest need and doing your best to help move things forward in those areas. This will require consistent time and effort on your part. One hour per week would be a bare minimum commitment on an Initiative or Working Group that holds biweekly meetings. More time would be required if meetings are held weekly, as time is needed to complete tasks outside of the meetings.

Current Opportunities and Status

  • We'll update with new opportunities soon. Stay tuned

Previous Opportunities

Find previous openings for mentorship and the initiatives that they helped here.

This project is bound by a Code of Conduct.

Stay Updated

Stay in touch with the mentorship program and receive the latest updates:

Onboarding Documentation

For more information on Mentor and Mentee expectations, see the Onboarding Doc.

Node.js Mentorship Initiative Members

Node.js Mentorship Emeriti

mentorship's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mentorship's Issues

communication channel for the matched mentor/mentee 's first meeting

According to the mentorship process. The matched mentor and mentee will have a kickoff meeting with one of the mentorship program members to agree on several things:

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.

This meeting (and possibly future individual meetings afterwards between the matched pair) needs a communication channel.

Requirements:

  • Optional video call
  • chat
  • 3 way communication channel (for mentor/mentee/and a member in the mentorship program).

Possible options:

  • Slack
  • Google hangouts
  • Zoom.us
  • IRCcloud

Personally I find any of those options great (except the IRC i personally don't like it). Let us agree on one official way for those meetings. CC @nodejs/tsc @nodejs/community-committee

Follow up discussion for 2018-06-15 meeting

We covered a lot of ground in the meeting and left some things a bit unclear so I thought it'd be helpful to have an explicit list of action items and things that may need further discussion.

Topics for further discussion

Secure more 1st-round mentors (from Node.js Members)

Each mentor we can onboard potentially broadens our available scopes and accelerates our timeline to reaching program stability. We could double our mentors each round so even a few extra mentors in round 1 could mean lots more within the next few rounds. I'll list a few of my ideas below but would love to hear more ideas.

Invite 1st-round mentors to Friday's meeting

I think it'd be valuable to have the mentors help brainstorm or just share their views on how things are going from their perspective, what their expectations are, see if they need clarification, make sure we're all on the same page, etc. Thoughts on this?

Action items

I organized these for easy reference i.e. Item D-4

A. Claimed items from the meeting

  1. Draft update letter - @detrohutt
  2. Gather/provide WG descriptions on Wishlist README - @detrohutt
  3. PR for meeting notes - @Bamieh
  4. Reach out to nickParis11 - @Bamieh
  5. If nickParis11 is on board, ask "general" mentors if they'd like to TA 1st round - @Bamieh
  6. Reach out to Trott and Myles - @dshaw

B. Potential 1st-round 2nd-round mentors (from Node.js Members)

  1. Create an issue in nodejs/members (or another repo) asking for participation as mentors?
  2. Follow up on this comment
  3. Follow up on this issue in which several Node.js Members expressed interest in mentoring

C. Currently applied mentees

  1. Should we highlight/sort the mentee list based on (in "the 100" -> timestamp)?
  2. Make comments on mentee list to start filtering for good candidates
  3. Reach out to mentees who seem to match current scopes, ask if they want to do beta or wait

D. Currently applied mentors (For next round)

  1. Try to get more mentors to join #Mentors slack so we don't have to rely so much on email?
  2. 18 emails were sent, 9 bios were made. Follow up with other 9 to try to get their bios up?
  3. See if Ben, Stephen, etc. would be interested in a "dry run" of mentoring to provide early feedback while we work out the details of the 1st official round.
  4. Discourage general scope for mentors, provide other options:
    • Mentee under specific-scope mentor 1st round, then mentor specific scope in next round(s)?
    • Help out on the Mentorship Team?
    • Become a TA?
    • Check out Wishlist README and see if there's a more specific scope that fits?

[Mentor Bio] William Oliveira

Basic info  
Preferred mentoring format 1:1
Mentoring scope Node.js for front end and beginner developers
Background Front End Software Engineer, writer, speaker and community manager
Experience 4+ years

About me

Hello, people!

I'm William Oliveira, a Brazilian software developer who loves open source and its philosophy.

I really like to help people in their early career to remove the initial barriers and give that push so that the person goes further in their walk.

I am the creator and mentor of @training-center, a community focused in insert people into software developer area, the front-end-career project and other open source projects designed to help beginners enter the programming universe.

I write about career and software development on my blog (https://woliveiras.com.br) and Medium (https://medium.com/@woliveiras) and I am a colunist from iMasters (https://imasters.com.br/). All in pt-br.

Yes! I really like share knowledge

I'm mentoring at +2 years, I love doing it and I'm here to help you learn and understand more about Node.js.

Node.js Collaborators as Mentors

The Mentorship Team will love the help of all active collaborators/members of the Node.js Foundation to be our facilitators of the Node.js Mentorship Programme to help get mentors onboard and help them get actively involved in the Node.js Project. @nodejs/tsc @nodejs/community-committee

Thank you

[Mentor Bio] Adebayo Opesanya

Basic Info
Preferred mentoring format 1:1
Mentoring scope General
Background Backend, AI, Technical Writing, Community Development
Experience 4+ years

Hi 🙋‍♂️ I'm Adebayo Opesanya. You can call me Bayo (I'm sure that's more youser friendly). 😆
I'm a Software Engineer from Nigeria 🇳🇬 and I really love to contribute to the community in every way that I can.
Asides writing code, I do some Technical Writing on Medium and I help young developers on Quora.
If you're relatively new to Node.js and you need some guidance, I'm definitely the guy
you're looking for.
And yes, I've been using Node.js for some of my AI projects so if you're interested in AI, just holla.

Mentors: Please create a mentor bio

The Mentorship team is planning to have a one-month trial run starting on June 15th to see what works and what doesn't before we roll out the full program. We'd like to try some mentors in a 1-to-1 relationship with their mentee, and other mentors that take on several mentees at once.

Any mentors are welcome to participate, on the condition that you agree to provide feedback to the Mentorship team on your experience along the way to help us determine what the pros and cons of each approach are.

If you would like to participate please open an issue on this repo titled [Mentor Bio] <your name>. This issue will be used to help mentees find a mentor they feel is a good match for them. Give some basic information about yourself like whether you'd like to be a 1:1 or 1:many (but be specific, like 1:2 or 1:3) mentor, what scope/area(s) of Node.js you'd like to mentor on (a specific repo, working Group, or initiative), and your background and experience. You can include whatever else you think your potential mentee(s) would find useful.

Example Bio

Here's one way a bio issue could be structured. Feel free to use this as a template, but it's not necessary if you'd like to format yours differently.

Issue title: [Mentor Bio] A.J. Roberts

## A.J. Roberts

Basic info | &nbsp;
-|-
Preferred mentoring format | 1:3
Mentoring scope | Node.js c++ core
Background | Hobbyist Web App Developer
Experience | 10+ years

### About me

Hi! My name is A.J. and I am here to help. I spent many years as the owner of a small computer
repair shop, where I learned patience and how to explain things in a way where anyone can
understand. So if you're a little intimidated by the idea of working with a mentor, I might be
a good choice. I also have lots of free time, so when you have questions I can get back to you
generally really quickly, so you can stay productive! Comment on this issue if you have any
questions.

Starting the matching process

We have have some applications dating back from 2/21/2018. For someone that is waiting, this time might feel like eternity. Currently we have good basis and momentum to get started with pairing, and sending emails to people who will halted for next rounds.

[Mentor Bio] Diego ZoracKy

Diego ZoracKy

Basic info  
Preferred mentoring format 1:2
Mentoring scope General, back-end
Background Software/Web/App Developer (front-end and back-end ) and Manager
Experience 10+ years

About me

Hello! My name is Diego, aka ZoracKy. I am here to help people interested in know more about Node.js. JavaScript has been part of my daily life since the beginning of my journey as a programmer, and during the last 5 years I've developed tools, OSS libs and production projects using Node.js, included in the following scopes:

  • API servers (Restify, Express, OpenAPI)
  • Desktop Apps (Electron)
  • Databases (MongoDB, SQL Server, Excel Spreadsheets)
  • Workflow Automation (FS)

I'm the creator of MagiCLI which is a lib built to help us by giving us a way to create a CLI or to execute any module via command-line effortlessly. Also others published modules focused on Node.js/JS can be found on my GitHub Profile: github.com/DiegoZoracKy

Recently I proposed the creation of Node.js People Everywhere (npe). It is a project that I believe it can be very good for our community and would be great to find mentees interested in be involved on it.

You can also find me on Twitter or Medium where I'm usually talking about software development in general, and most of time focused on Node.js and JS.

Node.js Mentorship team Meeting 2018-03-23

Time

UTC Fri 23-March-2018 17:00 (05:00 PM):

Timezone Date/Time
US / Pacific Fri 23-March-2018 09:00 (09:00 AM)
US / Mountain Fri 23-March-2018 10:00 (10:00 AM)
US / Central Fri 23-March-2018 11:00 (11:00 AM)
US / Eastern Fri 23-March-2018 12:00 (12:00 PM)
London Fri 23-March-2018 17:00 (05:00 PM)
Amsterdam Fri 23-March-2018 18:00 (06:00 PM)
Moscow Fri 23-March-2018 20:00 (08:00 PM)
Chennai Fri 23-March-2018 22:30 (10:30 PM)
Hangzhou Sat 24-March-2018 01:00 (01:00 AM)
Tokyo Sat 24-March-2018 02:00 (02:00 AM)
Sydney Sat 24-March-2018 04:00 (04:00 AM)

Or in your local time:

Agenda

Extracted from mentorship-agenda labelled issues and pull requests from the nodejs org prior to the meeting.

  • Mentorship Beta program! Testing The mentorship process prototype #14
  • Form Mentorship team #12
  • communication channel for the matched mentor/mentee 's first meeting #11

Additional agenda items:

  • Node meeting artifacts
  • transferring forms to nodeJS follow up

Invited

CommComm Members: @nodejs/community-committee

  • Dan Shaw (@dshaw - CommComm member, User Feedback champion)
  • Tierney Cyren (@bnb - CommComm Co-Chair)
  • Ahmad Bamieh (@Bamieh)
  • Conrad Hollomon (@hollomancer)

Notes

The agenda comes from issues labelled with mentorship-agenda across all of the repositories in the nodejs org. Please label any additional issues that should be on the agenda before the meeting starts.

Joining the meeting

Zoom link: https://zoom.us/j/659137458

Mentorship program announcement

Hello,

The text below will be submitted as an issue to the nodejs/node project to announce the mentorship program and open the door for enrollment. Please read it and provide feedback before having it submitted. CC @nodejs/community-committee @nodejs/tsc

follow the link to see the issue content in a gist: https://gist.github.com/Bamieh/b87fb3f279665966dec86f35a741c8d9

OR Click here to see a copy of the gist

Hello dears! 🦌

I am glad to announce the start of the enrollment process of the Node.js Mentorship program.

General overview

The goal is simple. Getting more people to contribute to Node.js and to help evolve the Node.js ecosystem by providing general help for all Node.js users.

To bring more contributors to Node.js 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.

The mentorship program duration is 6 months. The matched mentor/mentee pair will agree on specific goals to reach during this duration. The program will be super beneficial and rewarding to both the mentors and mentees.

Please have a quick look at the mentorship repo for the full details:
https://github.com/nodejs/mentorship

How can I help?

It would be awesome to have you enrolled in the mentorship program, either as a mentor or a mentee.

Joining this program will help in driving the Node.js open-source project forward by bringing more contributors to the project, increasing confidence in using Node.js, and making more Node.js experts!

For Mentors

Mentors play a huge role in defining the mentee's experience with Node.js. You must have some kind of contribution to any project under the Node.js umbrella to become a mentor.

Mentors provide general guidance and resources for their mentees to answer their questions. You do not need to know everything to be a mentor. Simply guiding your mentee to the right resources is enough.

Fill in this form to enroll as a mentor: https://goo.gl/forms/O6VX4ZglvCfX94vu2

For Mentees

You can enroll as a mentee whether you are new to Node.js or you want to get tailored guidance for a specific goal you have in mind.

If you are interested in contributing to Node.js, learning more about the core Node.js project, or you're interested in need general guidance around Node.js. The mentorship program is a great starting point!

Fill in this form to enroll as a mentee: https://goo.gl/forms/TUEAIYVqoFXA4WpF2

When did this happen?

The mentorship program started as an initiative under the Node.js Community Committee. You can get more in context by starting here: nodejs/community-committee#172

You are awesome, and we'd love to have you!

Cheers!

pair programming

Remote pair programming is often hard, and it requires specific tools. It's also an activity that can take up significant time. Committing to 1-2 hours every month is feasible, while committing to an afternoon of pair programming is something completely different. This does not include any timezone problems.

I would note that it is optional, and it depends on what the mentor and the mentee could do.

Agreement on the current mentorship process

Opening the door for comments and agreement over the current program structure and process. Mainly from the @nodejs/community-committee and @nodejs/tsc, but all input is welcomed of-course!

In Brief

Full details about the current process can be found in the main README of this repo

Proposed Mentorship Program Structure

Mentorship Beta program! Testing The mentorship process prototype

Soon we will be sending invites to interested people to join the mentorship beta. The purpose of this is to start the program on a small group of people in order for all of us to be able to have quick and rapid changes to the process however needed.

The current prototype process has a set of assumptions based on previous mentorship experiences from various fields and companies (most sources and inspirations are listed in this repo).

1. Matching process

The mentorship team selects the right fit of mentor and mentee, sends them an email, and arrange a three way kick-off meeting to introduce the members to the program, and guide the meeting to set goals and expectations.

This process might need some iterations based on convenience and capacity.Possible changes might include adding a structure to how the matching is made, email template to be sent to the match, and a guide for the leader on how to guide the kick-off meeting.

2. Meetings Channel

Currently it is agreed to use nodeslackers as a medium of communication between leaders and participants. It is possible to have this channel changed based on convenience and participants' feedback. We might need to create our own slack workgroup or move away from slack as a whole, depending on the number of participants, the momentum of the program and convenience.

3. Mentorship program duration

Currently the program assumes a duration of 6 months is optimal. Short enough to be effective in tracking and keeping the participants in momentum, and long enough to get them to set big dreams, and create a bond between the match to ease message delivery and improve their relationship.

4. Participants expectations

Currently the envisions expectations from the program are listed in the main README file of this repo. Based on the ongoing progress of the program, some expectations might be changed, added, or removed, depending on the results and feedback of participants.

5. Language diversity and timezone

The program accommodates for language diversity by asking participants for their preferred language and TZ, and the matching takes the answers into account. This might be changed based on the results of this process and the feedback from participants.

6. Changing the matched pair

Currently the program does not include any guidelines for the ability or possibility to change the matched pair. This might be addressed when a participant addresses us regarding such case.

7. Other details

Other details in the program might be changed or reworded during the long life of the program, such as the envisioned mindset, benefits and relationship between the participants. Additionally, some details might be overlooked in the prototype and might be added later on as needed.

Definitions

I believe this should be included in the repo later on

  • Leader: a member of the mentorship program responsible for arranging and participating in the kick-off meeting between a matched pair.
  • Match: a selected pair of mentor and mentee.
  • Participants: a mentor or a mentee in the mentorship program
  • Mentor: a nodeJS mentor.
  • Mentee: a nodeJS mentee.

I tried to make this as short as possible while keeping all the details, sorry for any typos I am writing this on the go. 💃

CC @nodejs/community-committee @bnb @dshaw @nodejs/mentorship 🤞

Create a forum for the program

Github interface and google forms might be a little unwelcoming for people who applied, as we only provide applicants with a simple "thank you for applying" note after submitting the application.

Having a forum where people can post messages, introduce themselves to the community and ask/answer each other would be super awesome.

The forum will not be limited to only the people who apply for the mentorship program. With the size we have now, and the potential of thousands of applicants in the upcoming months, I think the forum would have the needed momentum to be a good medium to staying in touch and keep the momentum going.

We need more active members of the WG

As this project is gaining more and more attention, it would be nice to get more contributions from the members of the working groups, in mentoring or joining one of the mentorship subgroups. With your help, the mentorship program will directly benefit the working groups as well.

CC @nodejs/coreworkinggroups @nodejs/community-committee

Mentorship Moderators

Moderator: A mentor that must have shown some sort of interest by reaching out to help assist in one way or the other by either sharing ideas to help make what we're doing more Awesome and to give mentees a lovely 6months.

They'll basically be facilitators of the Node.js Mentorship Programme, a sub-group of the mentorship team. #33

Mentors Mentee Matching Process

For now, I still think as a way of getting mentees involved in OpenSource and the Node.js Project and also GitHub. I think we should also allow them to use issues and discussion more of the GitHub tools for contribution.

Like mentees should open new issues with their names and what they aspire to learn in the 6 months. Then we ask the mentors to look up all issues opened by mentees and find the best possible match for their knowledge. The mentor +1 on the issues starts a thread with the mentees. While we watch the thread.
Something to get everyone engaged while we still work on the perfect medium for the Mentoring

[Mentor Bio] Kostas Kapetanakis

Kostas Kapetanakis

Basic info  
Preferred mentoring format 1:2
Mentoring scope Back-end, SDK, Performance (+Testing)
Background web SDK, back-end, CI/CD, webRTC
Experience 4+ years

About me

Hi 👋🏼
I started in the early days of nodejs with simple Websocket and static server implementations while working as a researcher in academia.
Recent years, I moved to the industry, working in micro-services architecture, with some experience on clustering, threading and performance monitoring. Experimented with a variety of automation, performance tools for testing, development and packaging.

Currently, I am expanding my experience in SDK development in the webRTC area. Additionally I am member of the Mobile Web Specialist Udacity nano-degree coaches and a Mentor.

Passionate to solve challenging problems and provide meaningful contribution. Really excited to start as a mentor here and help out the best I can!
🐅

Identify Mentees Who Could Help Out As "Teaching Assistant"?

Mentorship Program Add-On Support For Mentees?

Identify some mentees who are familiar with the node CoC, build process, PR process => CI + Landing (and even have contributed from docs to unit test, or even cooler / real features) , and create a group perhaps called "Mentorship Teaching Assistant" or a similar tomorrow terminology

Benefits:

This group of "teaching assistants" can be the 1st level support of other mentees that have questions about code of conduct, build / PR process (or what have you) kind of questions that some "more experienced" mentors in the teaching assistant group can join in to help.

The mentors then can focus on the process of 1-n or 1-1, with now some level of understanding who mentees had been helping out and perhaps the expected experiences of tech or open source etiquette are there to work with. So mentor can really teach / grow the "progressive" mentees, whom really want to collaborate with the mentorship program to get "deeper" in Node.js and learn how to contribute back to Node.js that we all love about, in which it also will make the common goal of Mentorship a successful win-win situation!

For some of the mentees who are interested to become mentors in the future phrase of the mentorship program can also practice communication & coaching style, to learn how to be objective and helpful. I feel like hypothetically speaking, going through and being "helpful" in an " imaginative Teaching Assistant" would be like graduation to becoming the next "mentor".

Potential Issue?

One problem I can anticipate in my proposed Mentorship Teaching Assistant approach is that it may create a sense of imbalance among mentees. There shouldn't any unfriendly "competition" if there's. The program should foster collaboration, IMO.

I'm happy to hear your thoughts, or close this issue if the topic is not worth of being discussed. You are definitely welcome to share your thoughts. 🙏 in advance. ✌️

Peer support subgroup for mentors

We need to create a sub-group to help guide mentors, initiate kick off meetings, and answer any questions the mentors have.

Not all of our mentors have mentorship experience, hence they will need some guidance, resources and a place to ask questions at times where they do not know how to deal with certain situations.

I believe the support group will carry most of its activity on the slack channel as it is our main communication channel for mentorship.

Potential solutions to the imbalance of mentees/mentors

Summary (TL;DR)

I use the term participants to mean both mentors and mentees as a whole.
I use the term facilitators to mean members of the Mentorship Working Group.

1. Motivation

  • The currently proposed forms of 1:1 and 1:many mentorship seem insufficient to me.

2. The Problems

  • 1:many - Too much time demand, possible loss of mentors.
  • 1:1 - Too slow, multiple years to work through current mentee pool.

3. The solutions

3a. Optimization - Filter out/triage low-ROI mentees

  • This helps by improving the ratio of mentors to mentees.
  • Mentees that are expecting general mentorship should be made aware they will not receive it.
  • Mentees that are not prepared skill-wise to provide their intended contributions should be directed to learning resources and asked to reapply in the future.
  • Mentees that show little enthusiasm or promise of being solid future contributors should be weeded out or at least de-prioritized by requiring some moderately difficult task upfront .

3b. Solution 1 - 1:1 && 1:many

  • More mentors are retained/gained.
  • This caters to personal preference, gaining more interest from all participants.
  • This increases complexity, but I believe this complexity can be managed/reduced.

3c. Solution 2 - Shorter/varying/fluid duration

  • Consider a 'fast track' for well-suited participants.
  • Consider a queue-based dynamic-duration flow where mentees graduate whenever they meet their goal, allowing new mentees to be onboarded on a day-to-day basis.
  • This increases the velocity of the initiative and chances of overall success.
  • This increases complexity, but is worth the cost if the complexity can be planned for and mitigated.

4. Conclusion

  • These solutions are not 100% ideal, but I believe they are as good as they can be given the situation.
  • These solutions will minimize the stressful bootstrapping phase; onboarding help sooner, and preventing burnout of the facilitators.
  • I want to help any way I can.

5. Addendum (May 5, 2018)

5a. Preface

  • The mentorship program is very important but in a precarious situation.
  • I really want to see it succeed so I'm drawing attention to any potential threats to success.

5b. Counterpoints

  • It'd be wise to take advantage of the extra time certain participants will be able to dedicate.
  • Certain domains/areas of mentorship can be completed in under 6 months, freeing up valuable mentor-time.
  • Having the mentorship program cycles coincide with Node release cycles would be nice, but not at the expense of making people wait unnecessarily and potentially losing them altogether.
  • Big goals are important for the ecosystem, but the focus can be switched to big goals after the backlog has been dealt with.
  • I think there is a sweet spot of worthwhile and manageable complexity to be found to keep the project adaptable and not overly rigid.

5c. Importance of dynamic durations

  • This increases velocity and morale (for both participants and facilitators).
  • This reduces frustration/loss of mentees on the waiting list.
  • This increases the chances of this initiative and Node itself reaching self-sustainability.
  • This avoids tensions/pressure on facilitators from waiting mentees, an ever-increasing backlog, etc.

5d. Interpersonal considerations

  • Programmers tend to overlook "people problems" and focus too much on technical aspects.
  • Projects involving people tend to have hidden complexities, so avoiding known complexities may just present unknown complexities later.
  • I'm concerned 6-month durations/waits could lead to a toxic environment that will be hard for the small initial group of facilitators to handle.

1. Motivation

I've been following this repo for the last few weeks and watched the last couple of meetings. In today's meeting, there was a split between the ideas of 1:1 and 1:many style mentorship. IMO neither is ideal in its currently proposed form.

2. The problems

The danger with the 1:many approach (as I mentioned in #43) is it could place too high of a time demand on mentors (as I believe @dshaw mentioned today). This could lead to some mentors backing out, leaving an even worse imbalance.

The obvious shortcoming of the 1:1 approach is that it will take much, much longer to get everyone mentored, assuming 6 month cycles. Even if with a large increase in the number of mentors each cycle (and realistically only a fraction of mentees will want to become mentors), there's a minimum of a few years to get just the current group of mentees "graduated".

3. The solutions

Taking all these things into account, one necessary "optimization", and two specific solutions come to mind. Both solutions are essentially compromises, but I believe that in a non-ideal situation non-ideal solutions must be considered.

3a. Optimization - Filter out/triage low-ROI mentees

ROI means return-on-investment, or how much value is received compared to the effort put in.

This will help universally as it improves the ratio of mentors to mentees. There are two metrics I'd use to determine a low-ROI mentee: intentions and level of interest.

Misguided intentions

As has been mentioned in the meetings, there are mentees in the current pool who are expecting general mentorship as opposed to help getting involved with Node.js specifically. The solution here (IMO) is to make it clear to them that this will be very Node-centric while catering to their current skill level (anyone can help write docs!). Potentially (but I'd recommend caution) it could be explained that the mentors can provide or point to resources for learning. But IMO people who aren't capable (technically/skill-wise) of providing the kinds of contributions they intend to make should be pointed to something like Free Code Camp and asked to come back when they're more prepared.

Low level of interest

People who have only a casual interest in being mentored are less likely to make up for the effort invested in them with their (probably also casual) contributions. IMO the first cohort should be hand-picked to be the "most likely to succeed", possibly through pre-existing GitHub track record contributing to other projects. Preference should also be given to those who express interest in becoming mentors in the future.

It's easy to fill out a form, and that's why there are currently hundreds of mentees enrolled. It's harder to learn new things, put in sustained effort, and work with other people (soft-skills). There's a simple solution to weeding out people who aren't all that interested: ask them to put in some effort upfront.

Even asking them to introduce themselves would probably be enough to weed out some people, but I'd recommend something along the lines of requiring a short entrance essay (like most colleges do) on why they want to do this, what they expect out of it, etc. It'd also be useful to require them to take part in some group activity like helping design/brainstorm the potential group projects that have been mentioned. The group thing would be hard to quantify though, so that may or may not be feasible. These are just ideas off the top of my head. Better specific tasks could be worked out later.

These requirements should be met prior to beginning the matching/pairing process. Anyone failing to meet the requirements forfeits their place in the current cohort and may reapply to the next.

3b. Solution 1 - 1:1 && 1:many

Different mentors/mentees (I'll call them participants as a whole) have differing amounts of free time. By enforcing a strict minimum time investment, mentors with less time to invest are alienated. It's like taxes. The higher it's raised it, the more people are going to move on.

Pros

The upside here is less loss/ more gain in interest from mentors.

In addition, personal preference is a factor. Certain participants would prefer a 1:1 mentorship, while others prefer 1:many. Giving them the choice makes all participants happier.

Distracting but entertaining GIF

Why not both?

Cons

This increases the complexity for the Mentorship WG members (I'll call them facilitators) in implementing the program. As programmers we know that complexity is evil. But we are also adept at finding ways to reduce it. I won't pretend to know the specific answers here as I'm not directly involved in the WG, but I suspect the members could come up with some appropriate countermeasures. I'd be happy to join the conversation if I can help. One general piece of advice is to find ways to leverage the participants as much as possible to help them act as their own facilitators.

3c. Solution 2 - Shorter/varying/fluid duration

Contents retracted after clarification

I wasn't following this group when the 6-month duration was decided on so I'm not aware of the reasons behind it, but IMO it's too rigid and too long. Mentees are going to have different levels of pre-existing knowledge and participants who spend more time actively involved in the process need less time to reach their goals.

Consider Person A and Person B:

Person A is new to GitHub and created their account just to join this mentorship program. Likewise they have minimal skills in programming.

Person B is a veteran programmer with dozens or even hundreds of merged PRs to smaller repos and simply has never contributed to Node and doesn't understand the more rigid processes surrounding PRs (I'm in this category).

It doesn't make sense to me to put both of these people in a 6-month mentorship program. Honestly, unless the intention is to teach people technical skills I don't really understand how it takes six months to teach them to make PRs in this ecosystem. I know the members of this group are all intelligent people, so I'm sure I'm missing some context.

If it's at all feasible (even in some limited capacity as a compromise), I recommend some level of relaxation on this prescribed duration. A 'fast-track' for people like Person B with smaller goals or more pre-existing knowledge seems like a doable compromise to me. Perhaps certain mentors would like to take a group of such people since they'd not need much hand-holding (time investment).

Another possible way to implement this is to have a 'rolling cohort' (described as 'fluid duration' above) with people constantly coming into and graduating the program. Mentees would graduate once they reach whatever goal they and their mentors decided on (whatever they felt they needed to be comfortable contributing to Node).

One implementation could be this:

There is a queue of mentors available. A 1:1 mentor is assigned (or ideally, proactively finds) a matching mentee, works with that mentee to the completion of the goal, then returns to the queue for another mentee.

A 1:many mentor is assigned (or gathers) a group of mentees around a group goal, helps them all complete that goal as a group, then returns to the queue to form another group.

Pros

This could rapidly increase the number of mentors and simultaneously decrease the backlog of mentees, which would combine to greatly reduce the time needed to reach 'critical mass' where the mentorship program (and hence the Node ecosystem) becomes self-sustaining. This is huge. As a nice organic benefit to this, the best future mentors would graduate (and start helping) the earliest, giving a really solid 'early-game' boost to resources (people on hand).

Cons

The cons are basically the same as for Solution 1: added complexity. I feel like this solution adds less complexity than the other overall. Mainly there's just a queue or some other flow mechanism to be maintained and/or moderated. This could be mitigated by offering a specific path of mentorship (kind of like a college major) for Moderation. As moderators are trained, they can help moderate the queue, taking the burden off of the facilitators.

4. Conclusion

As I said, these are definitely compromises, but I think that's all that can be hoped for under the circumstances. Beginnings are hard. No matter how this initiative is implemented, there's going to be a lot more facilitating to be done than there are facilitators to handle it. At least with these compromises, that 'bootstrapping' period will be much shorter, with new mentors and moderators becoming available potentially in days or weeks instead of half a year. I think it's very important to keep the velocity up so facilitators don't start burning out. If they burn out, the initiative will fizzle out.

As I mentioned in #38, I want to act as a force-multiplier. I'm a decent enough programmer, but I'm just one programmer. Improving the efficiency of the mentorship program means faster, more effective onboarding of hundreds or thousands of programmers (and other important roles), many better than myself. As such, if there's any way I can help with this initiative (besides opening overly long issues lol) I'm more than happy to.

5. Addendum (May 5, 2018)

Having received some clarification on things, I'd like to address a few points from the below comment I hadn't taken into account and give my thoughts.

5a. Preface

I think in terms of long-term impact on the future of Node.js, this mentorship program is the most important thing happening right now. I really want to see it succeed. I dislike playing devil's advocate, but with such a small group of facilitators, I think the future of this initiative is in a precarious situation, and I feel the need to draw attention to potential pitfalls that threaten to derail the program.

5b. Counterpoints

The following are all valid points. However, I don't believe they are universally applicable. I think each has exceptions that could be capitalized on to mitigate the issue at hand.

Mentorship is a lengthy process as mentors and mentees only meet a few times per month

Some mentors will be willing and able to meet more than once or twice a month and some mentees have more time to work independently as well. Determining the people that fall into this category ahead of time and pairing them together would make better use of their time (like hyper-threading on a CPU, less dead space). The mentor could move on to other mentees, and the mentee (now graduated) could move on to other goals.

Mentorship goals are by nature a little lengthy (joining a certain WG, or contributing to a certain area in code etc)

mentees with goals to join working groups and initiatives will need a duration of at least 4 months to become accustomed to the process, meetings, people, and hence become effective.

These are specific to certain domains. I'm sure there are areas people want to be mentored in that would not require this amount of time (contributing to documentation?), and again, any mentor-time we can free up can be leveraged to work through the backlog of mentees more quickly.

6 months work nicely with the release schedule of node ... which is the duration of which mentees can have a goal to become part of bringing it to the LTS stage.

I understand the appeal here but I'm not sure the payoff is worth the cost. I don't think there's a risk of losing any mentees if they don't get to contribute to LTS on their first go, and under the current plan, a lot of people probably are going to have to spend 6 months just waiting for the next cycle, not getting to contribute at all.

setting a 6 months goal indirectly mandates the mentee to set a decent sized goal. Big goals are good to have in order for the mentorship program to have the most impact on the node.js project.

This is true in the long-term. But in the short-term and due to this "imbalance" issue, I'd argue it's more important to get the most people possible contributing at all.

Many mentees who have to be left out of the first round will get frustrated (or move on to other open-source projects out of boredom) if they have to wait 6 months, especially if they feel like the long wait is due to a flaw in the program's design that could have been avoided.

IMO once more people are contributing and there isn't a huge backlog, then big-impact goals should definitely be a priority, just not at the cost of losing lots of potential contributors early on.

While dynamic times solve many issues, my limited experience tells me that simplicity is much better than having lots of options.

I totally agree, but there is a large spectrum between "lots of options" and "no options", and I think there is a sweet spot to be found. Complexity has to be managed, but some complexity is worth the cost, especially if it can be reduced to an appropriate level through discussion and planning.

5c. Importance of dynamic durations

The payoff of dynamic durations can't be overstated. It would vastly improve the momentum/velocity/morale of the initiative and reduce the frustration/loss of mentees on the waiting list. Most importantly, it would increase the overall chances of the initiative succeeding and reaching self-sustainability rather than fizzling out due to tensions/pressure on facilitators from waiting mentees and an ever-increasing backlog, etc.

5d. Interpersonal considerations

As programmers I think we tend to overlook "people problems" (emotions, morale, etc) when planning. We tend towards focusing too much on the technical aspects of a project.

In my experience (and especially when it involves people) what seems simple in the planning phase turns out to have hidden complexities in the implementation phase. So by trying to avoid certain known complexities that can be planned for, other unexpected complexities may arise when it's much harder to do anything about them.

As a specific example, the "simplicity" of static 6-month durations IMO could easily lead to the complexities of a toxic environment, especially for the small group of facilitators, and because it's a small group, it'd be harder to plan for handling unrest in a large group of people than it'd be to plan for a mechanism for addressing those peoples' concerns ahead of time.

Inviting mentors to slack channel

We are using nodeslackers Slack to chat with each other and have the first meeting between each mentor and mentee pair. As an initial step, mentors need to join nodeslackers and join the #mentorship channel.

Node.js Mentorship team Meeting 2018-04-20

Time

UTC Fri 20-April-2018 17:00 (05:00 PM):

Timezone Date/Time
US / Pacific Fri 06-April-2018 09:00 (09:00 AM)
US / Mountain Fri 06-April-2018 10:00 (10:00 AM)
US / Central Fri 06-April-2018 11:00 (11:00 AM)
US / Eastern Fri 06-April-2018 12:00 (12:00 PM)
London Fri 06-April-2018 17:00 (05:00 PM)
Amsterdam Fri 06-April-2018 18:00 (06:00 PM)
Moscow Fri 06-April-2018 20:00 (08:00 PM)
Chennai Fri 06-April-2018 22:30 (10:30 PM)
Hangzhou Sat 07-April-2018 01:00 (01:00 AM)
Tokyo Sat 07-April-2018 02:00 (02:00 AM)
Sydney Sat 07-April-2018 04:00 (04:00 AM)

Or in your local time:

Agenda

Extracted from mentorship-agenda labelled issues and pull requests from the nodejs org prior to the meeting.

  • Mentorship Moderation #35
  • Peer support subgroup for mentors #33
  • Create a mentorship subgroup focused on to identify 6 month projects in Node.js #30

Invited

CommComm Members: @nodejs/community-committee

  • Dan Shaw (@dshaw - CommComm member, User Feedback champion)
  • Tierney Cyren (@bnb - CommComm Co-Chair)
  • Ahmad Bamieh (@Bamieh)
  • Conrad Hollomon (@hollomancer)
  • Erin Spiceland
  • Ryan Lewis
  • Forrest Norvell

Applied Mentors:

Notes

The agenda comes from issues labelled with mentorship-agenda across all of the repositories in the nodejs org. Please label any additional issues that should be on the agenda before the meeting starts.

Joining the meeting

Zoom link: https://zoom.us/j/659137458

meeting notes: https://docs.google.com/document/d/1FAUuolJbkxG0oje8rBpqyH2XqgGPlHDX6WMIotSIyUk/edit

Node.js Mentorship team Meeting 2018-05-18

Time

UTC Fri 18-May-2018 17:00 (04:00 PM):

Timezone Date/Time
US / Pacific Fri 18-May-2018 09:00 (09:00 AM)
US / Mountain Fri 18-May-2018 10:00 (10:00 AM)
US / Central Fri 18-May-2018 11:00 (11:00 AM)
US / Eastern Fri 18-May-2018 12:00 (12:00 PM)
London Fri 18-May-2018 17:00 (05:00 PM)
Amsterdam Fri 18-May-2018 18:00 (06:00 PM)
Moscow Fri 18-May-2018 19:00 (07:00 PM)
Chennai Fri 18-May-2018 21:30 (09:30 PM)
Hangzhou Sat 19-May-2018 00:00 (12:00 AM)
Tokyo Sat 19-May-2018 01:00 (01:00 AM)
Sydney Sat 19-May-2018 02:00 (02:00 AM)

Or in your local time:

Agenda

Extracted from mentorship-agenda labelled issues and pull requests from the nodejs org prior to the meeting.

Invited

CommComm Members: @nodejs/community-committee

  • Dan Shaw (@dshaw - CommComm member, User Feedback champion)
  • Tierney Cyren (@bnb - CommComm Co-Chair)
  • Ahmad Bamieh (@Bamieh)
  • Conrad Hollomon (@hollomancer)
  • Erin Spiceland
  • Agiri Abraham Jr (@codeekage)
  • Ryan Lewis
  • Forrest Norvell

Applied Mentors:

Agenda

The agenda comes from issues labelled with mentorship-agenda across all of the repositories in the nodejs org. Please label any additional issues that should be on the agenda before the meeting starts.

Joining the meeting

Zoom link: https://zoom.us/j/659137458

[Mentor Bio] George Adams

George Adams

Basic info  
Preferred mentoring format 1:1+
Mentoring scope Node.js build, Core
Background Node.js Developer at IBM
Experience 2 Years

About me

Hey! My name is George and I'm reasonably new to the Node.js scene! I joined the Node.js Foundation about 18 months ago and became an administrator for citgm. After doing a lot of infra work at AdoptOpenJDK I decided that I should help out with the Build Workgroup and have recently worked on Ansible playbook support for additional platforms.

My hope is to be able to use this opportunity to share my knowledge of how the Build WG is run and also to assist others in contributing to the project. I'm generally very quick to respond to messages and would be a good match for some junior developers hoping to learn more about Node.js and how the infrastructure supports the project. Comment on this issue if you have any questions.

Call For Mentors: We'd Love to Have you Help us Level-up Mentees

The mentorship program is ramping up and we're at an inflection point where we're looking to start getting mentors funneled into the program and ramped up to help others start learning Node.js and contributing to the project 🎉

If you've got experience with Node.js and are interested in helping out and becoming a Node.js Mentor, it would be absolutely stellar if you could fill out this form to note your interest.

If you're curious about what the expectations and mentality of Mentors will be, be sure to check out this document's README.md. More specifically, check out the mentorship expectations, guidelines on what mentors will help out with and the benefits for mentors.

1-1 proposed mentorship structure

For the mentorship program, we have two structures for mentor/mentee mapping that have been proposed:

  • 1-many, which is like a mentor being matched with a number of mentees
  • 1-1, which maps one mentor to a mentee

You can find details on the 1-many structure here: #43

Implementation

The matching process (not the mentorship itself) would be done on Github. When there's a mentor-mentee pair, there is an announcement on Github (can be by opening an issue) so there's a public record. This can then be used as a feedback channel and also gives us an idea of mentor/mentee involvement.

Pros

  • This approach is more mentee-focused, and this way, it is easier to track mentee involvement and progress. In case of unavailability, mentors/mentees can be re-assigned.
  • Mentees have a more personalized experience.
  • It is easier for mentors to maintain commitment level regardless of sudden changes in their own schedule, since there's only one person to manage.
  • Seeing that we are still testing, it is easier to transition to 1-many if we discover that this approach doesn't work out too well. It would be much tougher to transition from 1-many to 1-1 without facing a number of issues like the feeling of losing momentum, and the "emotional" dissatisfaction of shutting down groups especially on the mentees side.

Cons

  • There are currently many times more mentors than mentees, so 1-1 relationship doesn't give us speed in implementing the mentorship program.

[Mentor Bio] Amor

Amor

Basic info  
Preferred mentoring format 1:2
Mentoring scope i18n
Background i18n
Experience 3+ years

About me

Hi! My name is Amor and I am here to help people get start i18n in node .
I work in China use:

  • Electron

  • Express

  • koa2

  • Eggjs

  • vuejs

  • mysql

  • mongodb

You can also find me on Twitter or Github

Node.js Mentorship team Meeting 2018-05-04

Time

UTC Fri 04-May-2018 16:00 (04:00 PM):

Timezone Date/Time
US / Pacific Fri 04-May-2018 09:00 (09:00 AM)
US / Mountain Fri 04-May-2018 10:00 (10:00 AM)
US / Central Fri 04-May-2018 11:00 (11:00 AM)
US / Eastern Fri 04-May-2018 12:00 (12:00 PM)
London Fri 04-May-2018 17:00 (05:00 PM)
Amsterdam Fri 04-May-2018 18:00 (06:00 PM)
Moscow Fri 04-May-2018 20:00 (08:00 PM)
Chennai Fri 04-May-2018 22:30 (10:30 PM)
Hangzhou Sat 05-May-2018 01:00 (01:00 AM)
Tokyo Sat 05-May-2018 02:00 (02:00 AM)
Sydney Sat 05-May-2018 04:00 (04:00 AM)

Or in your local time:

Agenda

Extracted from mentorship-agenda labelled issues and pull requests from the nodejs org prior to the meeting.

  • Create a mentorship subgroup focused on to identify 6 month projects in Node.js #30
  • Peer support subgroup for mentors #33

Invited

CommComm Members: @nodejs/community-committee

  • Dan Shaw (@dshaw - CommComm member, User Feedback champion)
  • Tierney Cyren (@bnb - CommComm Co-Chair)
  • Ahmad Bamieh (@Bamieh)
  • Conrad Hollomon (@hollomancer)
  • Erin Spiceland
  • Ryan Lewis
  • Forrest Norvell

Applied Mentors:

Notes

The agenda comes from issues labelled with mentorship-agenda across all of the repositories in the nodejs org. Please label any additional issues that should be on the agenda before the meeting starts.

Joining the meeting

Zoom link: https://zoom.us/j/659137458

meeting notes: https://docs.google.com/document/d/1lDNYMqvniqUJt07INlVc3rDl0KIUmyWB7GIMK-kUYpA
youtube link: https://www.youtube.com/watch?v=j-1PaeHb71Q&feature=push-lsb&attr_tag=zjG5MxtOxUIxKXje-6

Node.js Mentorship team Meeting 2018-06-22

Time

UTC Fri 22-Jun-2018 15:00 (03:00 PM):

Timezone Date/Time
US / Pacific Fri 22-Jun-2018 09:00 (08:00 AM)
US / Mountain Fri 22-Jun-2018 09:00 (09:00 AM)
US / Central Fri 22-Jun-2018 10:00 (10:00 AM)
US / Eastern Fri 22-Jun-2018 11:00 (11:00 PM)
London Fri 22-Jun-2018 16:00 (04:00 PM)
Amsterdam Fri 22-Jun-2018 17:00 (05:00 PM)
Moscow Fri 22-Jun-2018 18:00 (06:00 PM)
Chennai Fri 22-Jun-2018 20:30 (08:30 PM)
Hangzhou Fri 22-Jun-2018 22:00 (10:00 PM)
Tokyo Sat 23-Jun-2018 00:00 (12:00 AM)
Sydney Sat 23-Jun-2018 01:00 (01:00 AM)

Or in your local time:

Agenda

The agenda comes from issues labelled with mentorship-agenda across all of the repositories in the nodejs org. Please label any additional issues that should be on the agenda before the meeting starts.

  • Follow up discussion for 2018-06-15 meeting #66
  • Identify Mentees Who Could Help Out As "Teaching Assistant"? #49

Invited

CommComm Members: @nodejs/community-committee
Mentorship Team: @nodejs/mentorship
Applied Mentors

Join the meeting

Working Zoom link: https://zoom.us/j/416501153

First Mentorship team meeting

Now that we have a commitment from folks to join the team #12, let's meet.

I'd like to propose March 9th at 9am PT / noon ET / 7pm Palestine.

1-many proposed mentorship structure

there are two potential approaches to mentorship that have been proposed
going forward:

  • 1-many, which would entail one mentor helping a group of mentees.
  • 1-1, which would pair off mentors and mentees in a one on one relationship.

this issue outlines what I'm picturing the 1-many relationship would look like:

Project Based

we would center the 1-many mentorship around GitHub projects:

  • these projects would run using an open-source workflow on GitHub;
    conversations centering around GitHub issues and pull-requests.
    • this provides a written record of the mentorship process, fitting with
      feedback given by the moderation team.
  • the projects would be chosen to reflect the goals of the mentees and to
    benefit Node.js, e.g., "make Node's test coverage use the new inspector API",
    "speed up node's test suite", "speed up Node.js startup using V8 snapshots",
    etc.

Individual Mentorship Provided as Needed

As mentees work on the project they've been paired with, there will certainly be
times that individuals:

  • need help getting started on a ticket.
  • have questions about feedback given on a pull-request.
  • want to share a particularly funny animated gif with the mentor, etc.

Mentors would still be able to provide 1 on 1 mentorship through slack in these
situations.

Pros

  • mentorship centers around a project, providing a clear goal for the mentorship
    program.
  • there are 10 times as many mentees as mentors, a 1-many relationship would
    allow more mentees to be supported by the program.
  • running the program like a GitHub project helps teach open-source practices
    to mentees.

Cons

  • a less personalized experience for each mentee.
  • mentors need to be comfortable wearing a project-managment hat, along with
    providing technical feedback.

Conflict for Friday meeting

Hey All,

Seems like the meeting is currently schedule for 16:00 UTC, which I have a conflict I can't get out of.

I'm available any time before 16:00 UTC or any time after 18:00 UTC if we can change the time.

[Mentor Bio] Gus Caplan

Gus Caplan

Basic info  
Preferred mentoring format 1:1
Mentoring scope Modules (CJS/ESM), VM
Background Hobbyist
Experience ~5 years

About me

Hello!

I'm Gus, I spend a lot of my time working in the open source community.

I was able to get into Node.js because people took the time to mentor me and so
I'd like to give some of that time back to others.

I spend a lot of my time involved with the more meta side of programming,
working on either the runtimes of languages or the specifications of languages.
Most recently I've been getting trying to get involved with TC39 to help
propose new features and fixes to JavaScript.

I've never done any mentoring formally but I've spent a bit of time with people
on IRC, especially people just joining the Node.js community, and I've found it
quite fulfilling to be able to help them when I can as they enter the project.

I'm looking forward to being able to help out as much as possible 😄

"Priority Document" outlining areas of greatest need for Node.js ecosystem

I'd like to help out in the Node ecosystem in some capacity and I'm wondering if there is a document somewhere that outlines the areas of the ecosystem/codebase/etc where the most help is needed. If this document exists, please direct me to it.

The closest thing I was able to find was Node Todo but it's not ideal for the scenario I'm imagining for a few reasons:

  1. It's very generic. It essentially encourages looking through "random" issues (i.e. no organization by area of expertise, etc.).
  2. In order to be useful, it relies on people being vigilant about labeling issues.
  3. There's no sense of relative level of importance, and I assume even among issues labeled "help wanted" some are more critical than others.
  4. It only pertains to the main nodejs/node repo

If a document like I've described doesn't yet exist, here's my case for it and some thoughts and ideas.

Motivation

The reason I raised this issue in this particular repo is because I think this document would mesh really well with the mentorship program for on-boarding people who want to become regular/frequent contributors.

Encouraging specialization

It would allow them to pick an area to specialize in early on. When you're talking about 6 month duration for mentorship and potentially someone with lots of extra free-time, I think specialization can provide a big productivity boost compared to working on random pre-existing issues. I realize the plan is for the mentor and mentee to work together on a goal, but I can imagine certain mentor/mentee pairings where the mentee has a lot more free time to work than the mentor has time to actively provide guidance, so it'd be useful if there were some form of over-arching guidance (like the proposed document) for what to work on when you either can't or don't want to work on the agreed-upon goal on a given day.

Raising awareness of choices

Some people may come with an existing idea of what they want to work on. Others, like myself, are indifferent about what they work on as long as it's both within their skill-level and they have the needed domain-specific knowledge (or none is required). Generally I just want to be a "force multiplier" and work on whatever will be most appreciated and move the ecosystem along the most per unit of effort.

Even for people who have an idea of what they want to work on, and especially for the others, a document like this might alert someone to an area of interest they hadn't thought of. As a specific example, someone may not have thought of helping out with a Working Group, and aren't likely to have that idea looking through issues in the nodejs/node repo.

As an aside on Working Groups: After watching just a few various WG meetings on YouTube, it seems to me there is a high level of need for new members in multiple WGs. Due to the organization of the Contribute page, this isn't made clear in my opinion. Only four words are dedicated to WG participation.

Potential concerns

Upfront effort

This isn't an "all-or-nothing" situation, but more of a "get-out-what-you-put-in" deal. At a minimum this document could be drawn up in 5 minutes by someone with overall knowledge of the ecosystem's needs. It could just start out as something like the top level sections I describe below with a description or link to the current single highest priority item for each section. It could then potentially evolve over time.

Upkeep/maintenance

I don't think this document necessarily needs to entail a lot of maintenance. There wouldn't be much harm in it being out of date, and as areas of need change or are identified, it'd be quick and simple to modify the list. A minute or two spent updating the document could potentially lead to an outpouring of volunteers to help with a specific priority (A way to subscribe to updates may be useful).

Additionally, some portions of the list could potentially be automated. This could be as simple as linking to specific issue searches like Node Todo does.

Document structure

Top level sections

These would be based on types of contributions. For example:

sublists are just for clarification, not necessarily actual sections

  • Contribute to Code
    • Add new features
    • Improve existing code
  • Contribute to Documentation
    • Update/improve the Node API docs
    • Create/improve "process documents", README files, etc. across all repos
    • Work on translations
  • Contribute to Repo Maintenance
    • Triage/label GitHub Issues/PRs
  • Contribute Time
    • Become a mentor
    • Join WGs as a member
    • Become an Observer at WG meetings
    • Offer unofficial assistance within the WG/Repo (like an intern or "gopher")

Ranked subsections

Within the top level sections, specific areas of need could be ranked by greatest need (most understaffed, code that's blocking progress, etc.). These need not be comprehensive. At a minimum, just add things to a section as it becomes clear they are high-priority.

Contribute to Code

Areas of the codebase or modules that most need addressing. This could be as simple as a hand-edited list with a "hard-coded" priority level or as sophisticated as an SPA that uses the GitHub API to dynamically adjust this section based on something like aggregate count of labels on issues/PRs: <module-name> && ("High-Priority" || "Critical").

Contribute to Documentation

Both above approaches could potentially be used but hand-edited is probably best. Also it doesn't necessarily need to be super specific like specific documents (although that could be useful). It could just be a list of repo names to denote repos that have sub-par documentation or need help cleaning up or reviewing specific process documents, etc.

Contribute to Repo Maintenance

Probably just a ranked list of repo names. Similar to above, this could be automated using the GitHub API at some point, listing the number of open Issues and open PRs for each repo, although this isn't necessary.

Contribute Time

This section may need to be organized differently from the others and will probably be edited by hand. It may also not necessarily be ranked. Maybe a list of repos, and the types of help currently needed (possibly a matrix)?

Metrics

These things would be useful throughout the document. Most could also make good use of hyperlinks.

  • Repo name
  • Priority level
    • Low/Medium/High/Critical (or maybe color-coded?)
    • Items that become low priority could also be removed
  • Relevant person(s) to contact for more info
  • Icon/emoji denotations
    • Specific domain-knowledge required (Note contact person/mentor in table if applicable)
    • Low-hanging fruit (beginner friendly)
    • Recently added/updated

Conclusion

I see this document being especially useful in conjunction with the mentorship program, but it's likely to be useful to new/existing contributors outside the program too (in case it doesn't fit with this program's goals). For instance, I could see such a document being linked to from the Contribute page.

Incidentally, creating this "document" as an SPA may be a cool mentor/mentee(group?) goal and would give mentees a good high-level understanding of the Node.js ecosystem, especially if you had them interact with representatives from some WGs/repos in the ecosystem to get input on their needs. This could include an "Admin" backend to the frontend to make editing the list easier, etc.

That's all the ideas I've got for now. Sorry for such a long post and I appreciate you taking the time to read it. I have no direct experience with contributing to the Node.js ecosystem as of yet so if this whole thing is totally off-base or infeasible for some reason feel free to close this issue. :)

[Mentor Bio] Ben Coe

Basic info  
Preferred mentoring format 1:2+
Mentoring scope Node.js build test
Background Professional Open-Source Developer and Product Manager
Experience 10+ years

About me

Hey, Ben Here 👋 I was one of the first engineers at npm, Inc, which I joined
hoping to improve the open-source JavaScript world.

I maintain the JavaScript libraries nyc and istanbul, which
are used by Node.js's test suite. I also maintain yargs, everyone's favorite
pirate-themed command-line argument parser.

I'm a fairly experienced mentor; having run open-source projects for years, and
having volunteered as a mentor at HackIllinois
the past two years. I'm looking forward to helping folks out, and I'm excited
to contribute more to the Node.js project in the process.

Create a mentorship subgroup focused on to identify 6 month projects in Node.js

During the kickoff meeting, Mentees need to identify a 6 months personal goal they want to achieve during their mentorship program, in which the mentor will be helping and guiding through.

To make things easier for mentees and open up new possibilities in the program, we need to create a subgroup responsible for identifying 6 month projects under nodeJS that the mentees could aspire to contribute to.

A few examples:

  • Getting nodeJS 10 to LTS (fixing bugs, optimizations, refactors, developer experience, etc)
  • Becoming a member under the community committee.
  • Starting / leading an initiative

Anyone is invited to join this subgroup, especially mentors.

CC @dshaw

Inviting all mentors to the next mentorship meeting

The mentors/mentees list is growing ❤️ we have over 450 applications at this moment. We would love to invite a group of mentors to attend the mentorship meeting this Friday to get to know you and validate some of the assumptions we have for the initial start #14.
Mainly some feedback over:

  • Meetings Channel
  • Mentorship program duration
  • Participants expectations

The meeting will be on Friday, April 6th, 15:00 UTC (A separate issue will be opened for the meeting details).

I am very sorry for the short notice about the meeting. I understand you have busy schedules and might not be able to make it. For those who are not able to attend the meeting, it is okay! We'd love to see you in the next meetings.

I have read all the applications and I am very excited to meet all of you! (and a little intimidated to be honest 😄 )

List of invited mentors (in no specific order):

For those who applied but not mentioned in this list, or those who applied after this invitation, this does not mean you are not accepted, we will be contacting you in the very near future!

cc @bnb @dshaw

Node.js Mentorship team Meeting 2018-04-06

Time

UTC Fri 06-April-2018 17:00 (05:00 PM):

Timezone Date/Time
US / Pacific Fri 06-April-2018 09:00 (09:00 AM)
US / Mountain Fri 06-April-2018 10:00 (10:00 AM)
US / Central Fri 06-April-2018 11:00 (11:00 AM)
US / Eastern Fri 06-April-2018 12:00 (12:00 PM)
London Fri 06-April-2018 17:00 (05:00 PM)
Amsterdam Fri 06-April-2018 18:00 (06:00 PM)
Moscow Fri 06-April-2018 20:00 (08:00 PM)
Chennai Fri 06-April-2018 22:30 (10:30 PM)
Hangzhou Sat 07-April-2018 01:00 (01:00 AM)
Tokyo Sat 07-April-2018 02:00 (02:00 AM)
Sydney Sat 07-April-2018 04:00 (04:00 AM)

Or in your local time:

Agenda

Extracted from mentorship-agenda labelled issues and pull requests from the nodejs org prior to the meeting.

  • Starting the matching process #25
  • Inviting mentors to slack channel #23
  • Inviting all mentors to the next mentorship meeting #21
  • Create a forum for the program #20

Invited

CommComm Members: @nodejs/community-committee

  • Dan Shaw (@dshaw - CommComm member, User Feedback champion)
  • Tierney Cyren (@bnb - CommComm Co-Chair)
  • Ahmad Bamieh (@Bamieh)
  • Conrad Hollomon (@hollomancer)

Applied Mentors:

Notes

The agenda comes from issues labelled with mentorship-agenda across all of the repositories in the nodejs org. Please label any additional issues that should be on the agenda before the meeting starts.

Joining the meeting

Zoom link: https://zoom.us/j/659137458

meeting notes: https://docs.google.com/document/d/1DwLOgRd4rvZPXr-AJJAFsA_llcMFnPiqXUbHKtW7sMc/edit?usp=sharing

Enrolling requires a Google account

Hi, I tried filling out your form but Google informed me that I need to log in to continue. Is it possible to move this to a different provider?

"Bookmarks" for mentors

I thought it may be handy to have a collection of resources/reference materials that mentors have found particularly useful or frequently needed when mentoring, so that other mentors can take advantage of them as well. These could be materials used by either the mentor or the mentee. An example might be a link to the Node.js Code of Conduct.

Mentors, feel free to comment on this issue with your favorite materials and I'll tabulate the items here in the description as they're added. If we get a reasonable number of items we could add a separate document to the repo for this.

Ideally, I'd like to eventually have a resources folder in the repo with training/reference materials, guidelines, tips, etc.

Set a Code of Conduct for mentors and mentees

We need to set the code of conduct for mentors and mentees to abide with and agree to. Currently we are referring to the nodejs/admin CoC. I believe the code should be derived from the same document, but more tailored towards the mentorship program.

Maybe already existing nodeJS members already have the needed experience to contribute in writing a draft.

CC @nodejs/coreworkinggroups @nodejs/tsc @nodejs/community-committee

[Mentor Bio] Stephen Belanger

Stephen Belanger

Basic info  
Preferred mentoring format 1:1
Mentoring scope Diagnostics Working Group
Background Application Performance
Experience 10+ years

About me

Hi! I'm Stephen. 👋

I started the tracing working group many years ago, which eventually expanded to become the diagnostics working group. I've also been a Node.js contributor since early 2015, shortly after the io.js fork.

I work at Elastic, writing the Node.js agent for our application performance monitoring product and have been building application performance tools for roughly 7 years. I've also been running my local NodeSchool for several years, so I'm no stranger to mentorship.

I'm excited to help people learn about Node.js and the diagnostics tooling landscape around it! 💪

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.