Open sgibson91 opened 3 years ago
Essentially a personas and pathways problem
Let's come up with a hypothetical research group with a specific set of issues and design an example agenda that would help them meet this goal
Example from @sgibson91 talks: wheel invention in each group, including reinventing that group's code (inherit former PhD's IDL code, decide to rewrite in Python). How do I know that the code I'm running does the same thing as the previous version?
Version control and Monte Carlo: knowing what randomly-distributed outcomes are due to code changes.
Dependency management: is the python on the cluster the same as the dev one?
Who are the people in the research group?
Skills "taught by astronomers, who were taught by other astronomers", no ideas about coding standards etc. Can get stuff done, but it's a mess. Write programs, then show the output (e.g. plot) to supervisor. They ask why the results are justified but don't see the code, don't ask about the code. No peer or mentor review of code, and no motivation to document the code. Same person goes back later, and no longer understands it. Would've been a benefit to understand the code when writing thesis to be able to regenerate plots.
Agenda item (sub-event): code review club, like a journal club but for talking through the code. Once you've explained it to a person, you know what questions come up or what gaps are in the explanation and can do a better job of documentation. "I explain my code to you, and then we're gonna write that down".
Imagine at the start of the day, the convenor (excitable PhD? PI?) gives quick intro about what the day is about, and expectations (e.g. students having to work live in front of PIs, so set expectation of knowledge-sharing and collaboration). The small tasks that help us do the big thinking, not the big thinking itself. Tools, skills, and adjacent ideas. Not the hunger games, not an appraisal, just chill.
Then start with a fun task before the "work" stuff, perhaps a coding challenge, icebreaker game ("cross-stitch your favourite plot" or online scavenger hunt), or a coding confession led by the most senior member demonstrating some bad code they've written that the group critiques.
How long should the Dugnad be? One day? Don't want a two-hour social activity in that, but do want to break it into chunks of working/activity changes to aid concentration.
Pre-event checklist:
Turing Way probably has a checklist for this! Anything on running an unconference?
Coming up with the useful goal occurs on the day, not beforehand (to avoid people who are uninterested not turning up, or the PI dictating what the work should be), though maybe particular goals could be elicited in the initial idea gathering.
Questionnaire/survey:
three changes you'd like to see
If there were ideas pre-gathered, have a dot-voting or popularity session to choose.
Schedule (don't forget that online events will need more breaks: