How to structure a workshop for a tech conference

View of audience at a tech conference workshop from the point of view of the presenter Workshops are challenging to design. You have no idea how many attendees will show up, or what their relative skill level or previous experience will be. You’ll have some attendees that have done similar things in the past, and will breeze through your content and exercises. Others will be entirely new to programming in general! For example, I recently did a workshop on vue.js, and I had participants who had not done any front-end coding since jQuery, and many who had done angular or react in the past.

Given all that, it’s literally impossible to design a curriculum that will move at an appropriate pace for everyone. You will leave some developers behind, and others will be bored. Accept it! You won’t be able to produce experts in 4-8 hours anyway: your real goal is to build excitement for future self-learning.

This article describes a successful agenda I used for a recent 4-hour workshop. I designed the pacing around what I expected to be the average experience level, but the curriculum was entirely available online through my website. Students who needed to go a little slower could follow a written tutorial and learn at their own speed. Others could blaze ahead, and if they got stuck, wait until I caught up with them. I also provided bonus exercises for advanced students to stretch their new skills with more difficult challenges.

The speaker had a great and engaging pace and structure that worked with people of all experience levels. This introd the tech very well and I feel properly equipped to dive deeper. - CodeMash 2024 Attendee

Agenda

Break down the workshop into multiple modules designed to take about 45-60 minutes. Each module will have three sections:

1. Presentation

Begin with some content driven by slides. Here, you explain the content in abstract terms, reviewing the basics. You will probably not have time to cover every possible concept; part of designing a good workshop is exercising your judgment on which concepts are most important to cover.

Take questions before moving on.

2. Demo

Next, move on to a practical demo. Here, you apply the concepts you just taught to a realistic sample application. Have this written down step-by-step and available for your students to follow along online.

Some students will be able to keep up with you as you live code and will finish at the same time. Some will fall behind and can use the written instructions to finish independently. Others prefer just to watch and then go through the tutorial themselves. Encourage the class to take whatever approach they are most comfortable with.

When you finish up the demo, take any questions people are comfortable asking in person, but also allow students to raise their hands for one-on-one assistance during the next portion.

3. Exercises

Lastly, allow 10-15 minutes for exercises. Here, the slower students will finish up going through your written tutorial.

Provide the faster students with some bonus exercises to apply their new skills to more difficult situations. For example:

  • Suggest ways to break the application and inspect what error messages are produced
  • Solve one of the challenges from your tutorial using a more advanced technique
  • Link to a more powerful feature in official documentation and have the student apply it

Make all this content available online. You can use your own website, a Google Doc, or even GitHub. It’s best to have a nice landing page that links to a deeper page for each module. During the exercise portion, have a link to the current module content on the screen.

The tutorial materials were very well written, and it was very informative. I especially liked the bonus challenges at the end of each module. - CodeMash 2024 Attendee

View of audience at a tech conference workshop from the rear of the room

If you’ve done all this right, almost all of the content is taught through guided tutorials that students can work through at their own pace. This might feel like cheating: “Why would they come to a workshop to learn stuff they could just as easily learn from an online tutorial?” But not everyone learns the same way — as a teacher, you’re presumably pretty good at learning new concepts quickly, and you might learn really well through tutorials. But many others appreciate the opportunity to watch and learn before trying it themselves. They feel more confident when they know there’s a knowledgeable instructor for one-on-one help if they get stuck. Those people are your target audience; they are the ones who will get the most from your workshop. You want to design primarily for them (but have some extra content for the more advanced students).

Very well constructed workshop. Loved the branches per section and the follow along instructions on the website in case you fell behind. - KCDC 2024 Attendee

Misc Tips

  • Many conferences will have a prerequisite website where over-achievers can get a head start on installing software and libraries. Theoretically, this will reduce the load on slow conference wifi and help you get going faster. In practice, expect that almost no one will do it beforehand. Have a link to your prereqs page on the first slide, and as people come in, repeatedly encourage them to get started on those while the room is filling up.
  • Consider a URL shortener or choose URLs that are easy to type: Students will have to enter the link into their browsers manually
  • Put a “Further Reading” section in each module to link to documentation or other guides for future study
  • Add a “What we learned” section to each tutorial that highlights the key skills you’ve taught them during the module
  • Students appreciate having git branches they could use to advance in the workshop. Many module demos depend on the successful completion of the prior module. Some students may have struggled to keep up or hosed up their environment somehow. Having a clean slate they can easily get to with git checkout is extremely helpful.