-
Notifications
You must be signed in to change notification settings - Fork 5.2k
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
1:1 hour mentoring process improvements #2657
Comments
@jeefy is working on an automated calendar widget that would be kicked off from an issue template |
Thanks for distilling all this! On the topic of automating calendar invites, might also be good to automate an email reminder 24h in advance. For #s 5 and 6 on mentee info, I wonder if those can be turned into a more generic, "what level of help are you looking for?" that could range from dev enviro setup to code/config syntax to very specific k8s stuff. Since you propose that mentees need to do more prep for pair programming, that might turn some contributors off. I still think it should be there, but we could provide an off-ramp where the contributor goes, "well I don't know what help-wanted issue or concept to work on" and the mentoring session can be about answering those questions instead. |
Would this proposal force all mentees to make their requests public? |
Agreed to auto email reminders! That's a good one. Re need an issue to work on: That's a suggested activity for mentor/ees to choice from now. "AMA" I need to get a script/doc together for the mentors that explains just that. I've been thinking about a "training", too, for mentors once we have more of this laid out since some of these concepts/way of doing this are new. Re mentees public requests: We are playing around with that now. Ideally would like to make this as private as possible where personal info is concerned; at the very least have separate process or anonymous process for this reason. |
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
/remove-lifecycle stale |
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
/remove-lifecycle stale |
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
/remove-lifecycle stale |
@misterikkit would you be open to pairing with me on this task to drive it to completion? |
/assign markyjackson-taulia |
A Templated Startup ProcessAt @ii we use a templating system to capture our pairing worksflows based on org-mode. We may find it useful to cherry pick some ideas from it and create a few templated ways to start a mentoring session. It's also great in that the output is available in It may get even more interesting if we integrate asciinema variablesWe set some variables for the list of repositories, who is pairing together and the specific workflow/org file. Note that our workflow has a test-writing.org as the target, which brings up an auditsink that logs to apisnoop so you have a way to query what your kubernetes interactions are doing in cluster as far as the groups and hopefully matching to sigs. KUBEMACS_GIT_EMAIL=hh@ii.coop
KUBEMACS_GIT_NAME="Hippie Hacker"
KUBEMACS_TIMEZONE=Pacific/Auckland
KUBEMACS_INIT_DEFAULT_REPOS='https://github.com/hh/apisnoop.git'
KUBEMACS_INIT_ORG_FILE=apisnoop/test-writing.org docker run to create local clusterWe start with only requiring docker, but we map the docker socket of the host, into the container, which includes kind + kubectl. We think invites to nearly anyone being able to do this locally, though we could just as easily use a k8s community hosted cluster. This brings up kubemacs as a stateful-set so we know the name of the container is docker run \
--env-file $ENV_FILE \
--name kubemacs-docker-init \
--user root \
--privileged \
--network host \
--rm \
-it \
-v "$HOME/.kube:/tmp/.kube" \
-v /var/run/docker.sock:/var/run/docker.sock \
$KUBEMACS_IMAGE \
docker-init.sh kubectl exec attachBy default the above will connect and use osc52 to populate the clipboard with the content to paste to the other person. I use the terminal via an OSC52 terminal, but the web works pretty good too. We are currently using @tmate-io Both emacs and vim work quite well in cluster. Another kiwi @chrisbarret made some software we use to explore the cluster from within emacs. kubernetes-el tmateTmate provides both ssh and web urls. The ssh urls can be pasted directly into terminals. The tmate binary by default uses the services hosted by tmate.io. I paired recently with the created of tmate @nviennot to ensure anyone could bring it up inside kind locally and just use a tmate.1.1.1.2.xip.io address successfully. We should probably run a service at pairing.k8s.io and default our configuration to use it. kustomization for pairing.k8s.ioI published my work with @nviennot here: https://github.com/kubemacs/kubemacs/tree/master/manifests/tmate But we would need to get wg-k8s-infra involved to run it there. osc52 (kubectl exec populating clipboard)Since we work in cluster, we need a way for the terminal to back-haul copy/paste to the OS clipboard over kubectl exec. If we use a browser, I think we won't need it, but I really like working in my local terminal. While not necessary, it's nice to have OSC52 support, and each OS has at least one option. It should be noted that both vim and emacs support OSC52. Linuxworking
not working (yet)Most others are based on libvte, which still needs support.
Windowsworking
not working (yet)
OSXworkingI can't recommend iTerm2 enough:
not working (yet)
|
The last comment was created by exporting this file as markdown: https://github.com/humacs/humacs/blob/master/org/kubernetes/community/sig-contribex/mentoring-hour.org#mentoring-hour-improvements |
This is awesome. Thank you |
This is the concept I am thinking about.
|
/cc |
@nikhita @idvoretskyi Any thoughts on the above? |
Per @jberkus |
Per @jberkus
|
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
/remove-lifecycle stale |
Issues go stale after 90d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-testing, kubernetes/test-infra and/or fejta. |
Stale issues rot after 30d of inactivity. If this issue is safe to close now please do so with Send feedback to sig-contributor-experience at kubernetes/community. |
Rotten issues close after 30d of inactivity. Send feedback to sig-contributor-experience at kubernetes/community. |
@fejta-bot: Closing this issue. In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
After conducting some tests and a retro, we discovered the following that needs to be corrected before a full scale launch can happen.
Automation
if the coordinator or person setting up the event is sick, ooto, etc., it will block the entire process. Getting this automation right is P0 or coming up with a team of people to coordinate.
Ideal workflow: [for all of this to happen in GitHub with an issue or PR template with full automation] mentee applies via some kind of form, mentor is auto-matched with limited to no human involvement (based on criteria below in the 3rd bullet), calendar is sent with populated information, meeting happens, everyone is happy
figure out an automated flow between mentor to collect calendar availability and mentee to select from that. the back and forth that just the scheduling process causes is a huge bus factor and time hole.
need to generate a "profile" and hopefully populate it in the calendar invite on information from the mentee's form with critical info that the mentor will need pre-session.
Fields that need to be carried over:
Mentee Info
Mentor Info (for mentees as fyi)
Match on the following mandatory criteria: 1) timezone - need to be within three hours 2) 1:1 hour activity choice 3) $said_choice tools/misc 4) level on contributor ladder (must be => mentees; equal is perfectly acceptable) 5) *optional match: what sig are you interested in getting more involved
Process Improvement
identify three recommended tools/ways of doing remote pair programming that would work for our environment.
why? the mentor and mentee took significant time from the one hour trying to decide on what tool would work best for them and then they didn't do the pair. if we establish this upfront, or at least boil down the countless ways and have folks agree to those, it will save much needed time here.
need to finesse all of the activity use cases and make sure that mentors are set up for success so we don't have another pair programming tool debacle. ie - if it's not pair programming and say an AMA, we need to document to use zoom, hangouts, etc. Take this decision away from the mentor/mentees to free up their time to work on the hard stuff.
pair programming: add documentation about the mentee responsibility to bring a help wanted labeled issue (preferred) or an concept to half complete PR. The mentor needs a jumping off point so there isn't a long amount of back and forth.
mentors need a script/instructions since this isn't your average mentoring session. definitely need a closing since it's only a one time session - how do you end the call? provide the mentee with other resources to check out, places to communicate, etc.
The text was updated successfully, but these errors were encountered: