help icon indicating copy to clipboard operation
help copied to clipboard

RFC: Resources to improve onboarding and community building

Open blaisep opened this issue 1 year ago • 6 comments

( @jezdez asked me to summarize our conversation at PyConUS2024 in this repo )

Clarifying the path to Roadie, and setting them up for success

Most of the work is currently falling on the shoulders of one person. We need to make it easier to share the load and increase the community of Roadies. I can propose some structures that I have found to be useful in expanding shared understanding and creating a smooth transition for newcomers.

Office Hours

A scheduled opportunity to answer questions and clarify topics of interest to the group. The general agenda sequence can be something like this:

  • The moderator(s) introduce themselves and describe the goals of the meeting
  • Anyone here for the first time get a chance to introduce themselves (or gets the chance to decline)
    • The introduction is: Name you prefer, preferred pronouns, one thing you would like to get from the meeting.
  • Questions from the audience
  • Questions submitted in advance
  • Conclusion with a retrospective:
    • Something you want to repeat.
    • Something you want to do differently.

Ensemble programming

Working on code as a group, using a method consisting of several pre-defined roles. Each member of the group takes turns rotating through the roles. Typically the roles are:

  • Driver: the person at the keyboard. The driver gets instructions (only) from the navigator.
  • Navigator: the person communicating with the rest of the group and deciding which instructions to pass on to the driver.

I have done both of these for the past three years in several communities, including: https://www.youtube.com/playlist?list=PLrQMyTCtW0DZolJHWBLELne1EF2gqMaHc

Reduce toil

The SRE mantras are:

If something is painful, do it more often. If you do something often, automate it.

and my favorite:

An outage is not the failure of a person. It is a failure of the system that put the person in a position where they could cause damage.

TBD: managing trust and accountability

Others are better positioned to create methods for managing authority and trust. The goal is to create transitions between stages of deployment and introduce checks and gates to make it provide the least amount of privilege required to complete the task.


relates to: https://github.com/jazzband/help/issues/196

blaisep avatar May 21 '24 18:05 blaisep

Thanks @blaisep!

jezdez avatar May 24 '24 06:05 jezdez

Before I go reinventing the wheel, do we already have anything like https://github.com/python/devguide for jazzband ?

blaisep avatar May 27 '24 02:05 blaisep

Yes, see https://jazzband.co / https://github.com/jazzband/website

hugovk avatar May 27 '24 04:05 hugovk

Oh, this is very cool, there's much more here than just the "code to render the HTML". It seems like there is also a cli for a flask app to drive automation.

Since I am a fan of https://diataxis.fr , my intuition would be to whip up an API reference, a little glossary and a few paragraphs explaining the purpose of the toolset.

Then, if anyone can remember becoming a roadie, please indicate the places where you wish you had explanations.

Finally, whenever @jezdez next has to do some maintenance, perhaps some of us can look over the shoulder; better yet, we can do some mobbing and take turns at the keyboard.

I'm happy to recruit @webknjaz or @hugovk if no one else is interested.

blaisep avatar May 28 '24 02:05 blaisep

....I'm going to look around for an automated check list like the one linkerd uses to find problems with new installations https://linkerd.io/2.15/reference/cli/check/#

blaisep avatar May 28 '24 05:05 blaisep

Adjacent to onboarding is the matter of generating interest. I have a brief proposal over in https://github.com/jazzband/help/issues/364#issuecomment-2134771970 Where Seth talks about how to improve the security model.

blaisep avatar May 28 '24 10:05 blaisep