Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rebooting the Maintainer Onboarding Curriculum #8

Closed
angela-li opened this issue Dec 5, 2019 · 8 comments
Closed

Rebooting the Maintainer Onboarding Curriculum #8

angela-li opened this issue Dec 5, 2019 · 8 comments

Comments

@angela-li
Copy link

angela-li commented Dec 5, 2019

Context

While The Carpentries provides formal Instructor Training to individuals who are interested in becoming Instructors, there are no such supports for individuals who are interested in becoming lesson Maintainers. Maintainers are often recruited informally to lessons by existing Maintainers or Carpentries staff, or have been “on the lesson” since it was created.

Currently, there is no formal program in place to ensure new Maintainers become familiar with the technical and social aspects of maintaining lessons. Most new Maintainers become acclimated to lesson maintenance through:

  • prior experience maintaining open source projects,
  • informal mentorship from more experienced Maintainers on their lesson, or
  • through trial and error.

New Maintainers often feel unsure of what is an appropriate change, may not be as familiar with the philosophy behind their lesson, or may feel uncomfortable with the Github tools needed to pull in necessary changes.

Proposal

Previously, Erin Becker and Francois Michonneau designed a Maintainer Onboarding Curriculum to address these issues in March 2018, and onboarded 27 Maintainers through this program. We are proposing to update and expand this curriculum with the help of current Maintainers, with the goal of restarting this onboarding between January and April 2020. Angela Li will be leading the effort to do so as Maintainer Community Development Lead, working closely with Erin Becker.

We aim to work with three main audiences:

  1. Experienced, long-term Maintainers - to facilitate, design, and teach an effective curriculum
  2. Maintainers who have been recruited since the last Maintainer Onboarding (March 2018) - to test out an alpha version of the curriculum in February 2020
  3. New Maintainers - to be recruited broadly starting March 2020 and to complete training in April 2020

How will these changes affect me?

If you are a Maintainer of any type, we hope that this will provide more institutional support and training for your role as a Maintainer. You can expect that new Maintainers joining your curriculum will be better prepared to support with your lesson.

We will have an optional sign up in January 2020 for current Maintainers to alpha-test a preliminary version of the curriculum in February 2020. We will receive your feedback, then run another round of onboarding for new Maintainers in April 2020.

Timeline

Here is our tentative timeline of when we would like to roll out the new training:

  • Late January 2020 - Maintainer Onboarding sign-up opens (for existing Maintainers of official Carpentries lessons and lessons in the Carpentries Incubator)
  • February 2020 - alpha Maintainer Onboarding pilot
  • March 2020 - applications open to become a new lesson Maintainer and sign-up for Maintainer Onboarding
  • April 2020 - Maintainer Onboarding pilot for new Maintainers

Questions for you

If you are a Maintainer, we would like to hear:

  1. Would you be interested in leading a section of this onboarding?
  2. What topics should be included in onboarding? (What would be helpful in an onboarding training? What were things that were difficult for you when you became a Maintainer?)
  3. Are you interested in taking this onboarding?

If you’re interested in staying involved in this conversation at a detailed level, please “watch” the maintainer-onboarding repo or contribute to Issues and PRs there. Input is also welcome via the Carpentries Slack.

We would appreciate hearing your thoughts by December 22, 2019. Thank you!

Edit history
5 December 2019 - Changed link to go to Maintainer Onboarding curriculum repo rather than back to this RFC repo. (Erin Becker)

@ErinBecker
Copy link
Contributor

Thank you @angela-li for opening this RFC and for leading two discussions on this topic at our Maintainer meetings last month as well as talking with people individually. I'd like to just add a point to clarify here that @angela-li has the full support of The Carpentries staff in running this initiative. I'm very excited to continue working with her closely in planning, piloting, and receiving feedback on this program, and also excited to see others from the Maintainer community join in this work to support onboarding new community members.

@fpsom
Copy link

fpsom commented Dec 6, 2019

Thank you @angela-li for opening this! I believe that this would be quite useful, both to establish the expectations of the maintainers as well as the "operating approach" among maintainers of the same lesson (differences in expectations and/or operations are probably to be expected and - maybe - encouraged?).

Answering your questions:

  1. I would definitely be interested in helping out with the onboarding process. Leading it may depend a lot on the time expectations. :)
  2. Topics would include for me: how to interact with the other maintainers (process, specific times/ways/technologies), how to proceed with PRs (e.g. consensus, up to each maintainer, etc), how to coordinate with the respective curriculum advisory board in case "major" issues/PRs are raised, etc.
  3. I'd be happy to be part of the discussion! :)

@aschuerch
Copy link

I agree that this would be quite useful in providing guidelines on how to act and interact as (a group of) maintainers. I am certainly interested in seeing this happening. My level of involvement (1. and 3.) will depend on the necessary time investment.
All the topics that Fotis mentioned (in 2.) are good points. In addition, a re-iteration/ in-depth lesson on how to build a lesson from a pedagogical point of view (formative assessments, learning objectives, Bloom's taxonomy etc) would be a good idea.

@ldko
Copy link

ldko commented Dec 17, 2019

As a new maintainer on one of the official lessons, I am interested in trying out the new onboarding when it is ready in alpha stage. Things I would like to see covered are around etiquette with maintainers on the same lesson and with contributors, suggestions on dealing with disagreements, suggestions on dealing with abandoned PRs, etc. Also, I would like to see explanations of some of the GitHub specific stuff covered, for example how to keep the lesson up-to-date with the Carpentries styles repo, what is the idea behind the "Squash and Merge" default, how and when to split PRs, etc.

@maxim-belkin
Copy link

maxim-belkin commented Dec 17, 2019

I'd be happy to help with this.

  1. Would you be interested in leading a section of this onboarding?

Yes.

  1. What topics should be included in onboarding? (What would be helpful in an onboarding training? What were things that were difficult for you when you became a Maintainer?)

There are a lot of topics that can be covered. However, strategically speaking, there should be only two main components: technical and non-technical.

Non-technical component should explain how a Carpentries maintainer should interact with:

  • Contributors
    • how to request changes?
    • how to accept/reject a PR?
    • how to deal with objections from contributors?
    • how to deal with unusual contributors (rude/busy/change-it-all)?
    • what to do with abandoned PRs/issues?
  • Lesson material
    • what changes should be accepted/rejected?
  • Other maintainers
    • Etiquette and dealing with disagreements that Lauren mentioned above
  • Other non-technical issues: questions that don't fall into any other category (dealing with difficult situations).

Technical component should teach maintainers how to carry out their daily (and other) tasks:

  • should I "Squash and Merge" or "Create a merge commit"?
  • should I ask to split the PR? (or do it myself -- there is a connection to the non-technical component)
  • how to keep my lesson up-to-date with the styles repo (might be outdated by remote themes)?

I think the timeline might be a bit optimistic but let's see how things progress.

@hoytpr
Copy link

hoytpr commented Dec 18, 2019

Hi @angela-li and thanks for doing this. This effort targets an important part of the entire community, particularly as it grows. My experience as a new maintainer was fun, but error-prone, and this will be a real benefit to those who are starting out. With help from others I've managed to develop an acceptable level of competency (I hope) and am still enjoying the journey. While I should not lead any sessions, I will be active if/when translating the processes from the life scientist perspective is wanted.

That said, I won't have much time available until after February 7th.
IMO the most important topics will be:

  • What were things that were difficult for you when you became a Maintainer?)
    • pull vs. fetch, merge vs commit or add, deleting bad commits (revert-ing and reset-ing), getting a PR to render it locally, origin vs upstream, gh-pages vs master best practices.

Topics to consider:

  • Local rendering is an important part of self-training, and having a local repo that is even with your Github repo AND the Carpentries repo is important for fully grasping the maintainer and contributor process. Learn this early.
  • If individuals are having trouble learning a specific task, create or offer "Tips and Tricks" on that task. Be able to ask for specific help formally within the safe maintainers community. This will help with new maintainer retention.
  • Getting fellow maintainers active, particularly if they are experienced or have been involved in early lesson development is critical. The "sunsetting" or "Emeritus" status process needs attention.
  • Receiving Issue and PR requests from members of the Carpentries organization may need to be addressed, as these can be scary. (In particular, see next topic)
  • If re-writes of ANY kind are suggested ("combine", "split", "omit", "expand", "change name" etc.), that lesson needs a development page (make this process easy, for example by adding a "Development" tag to the Issue or PR). I've seen a few lessons flourish when the engaged maintainers have the opportunity to develop.
  • How to handle issues with interdependent lessons.
  • Git is a new language to beginners, so a glossary of the commands including flow diagrams (?) might help.

As with everything it seems, the limiting factor is always time.

@angela-li
Copy link
Author

Hi all - I've finally moved this feedback over to the Maintainer Onboarding curriculum repo and plan to start doing some intensive curriculum revision over the next two weeks. Feel free to head over to there, log more feedback, and partake in the revision efforts.

In that repository, I've created three separate issues for each section of the curriculum, and have grouped the feedback as best as I can:

Your continued support is appreciated, and I hope to see some of you next week at the Maintainer meetings!

@angela-li
Copy link
Author

Maintainer Onboarding is complete as of July 2020! Thanks all for the feedback: we brought on 27 instructors and the updated onboarding curriculum can be found here: https://carpentries.github.io/maintainer-onboarding/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants