Tips for Technical Workshops
A few tips accumulated over years of leading technical workshops.
While I can't claim to be an expert, I can offer a few tips on designing technical workshops.
- Ask your attendees to download any necessary dependencies before the session. Especially if it's in person you can deal with poor wifi.
- Put any non-code/service dependencies into an easy to download and boot format. This can be a docker-compose.yml, a setup script, or makefile, or combination of all of the above, but I'd recommend using docker-compose or similar so that you can ensure you don't have port or version collisions with the host machine.
- Put your workshop in a public git repo, and add tags representing checkpoints at key points within your workshop's flow.
- Bring two of you if you can, if you've got more than 10 attendees. There will be really weird issues that one of you will end up trouble shooting, like what the deal is with someone's bespoke linux variant that won't boot your application or one of it's dependencies. Having two of you allows the workshop to move forward.
- Think of the setup as an onboarding experience. You want it to be extremely smooth.
- A mix of hands on exercises, and lecturing is usually the most engaging.
- There's copious amounts of literature showing that humans, as social animals, learn better in groups. If you can make the hands on exercises feasible in groups do that.
- Give attendees some quick tips on how to work in group situations like this best. I am personally a fan of strong style programming.
I'll update this one periodically as I have them. But or now this gets you started.