Every year, just before Devoxx I blog my thoughts about how a good speaker should prepare before a conference.
This year, I’d like to talk about live-coding sessions or more broadly, demo sessions. These kinds of sessions are very tricky to prepare. There’s a fine line between a wow effect and a “Boooriiiiiiing!” effect.
Let me share with you some of the recipes that help me do my best:
Take time to explain what you're trying to demonstrate
A common mistake is to deep dive into some code and don’t tell the attendees what the context is or what your goal is. Take some time to tell a nice story, it will help people enter your world at their own pace. If you go straight to the code, you might lose them all and never gain their attention back.
Show only what's interesting
Obviously, you want to demonstrate something that you think might be interesting. So don’t lose time doing other things. You want to show how you write a test? Don’t lose time creating the test hierarchy or adding junit.jar to the pom.xml. Prepare as much as possible before the talk so that you have more time to explain what your are doing.
Slow down sometimes, Speed-up sometimes
The rhythm doesn’t have to be the same the whole presentation. Slow down for tricky explanations. Decompose your actions into smaller steps. Talk a lot. Go faster for uninteresting parts. And when I say “go faster”, it means “try to eliminate the boring part altogether” not “click very quickly on a thousand buttons”.
Please no pre-recorded video...
Pre-recorded video during a live talk is the lamest thing ever. I’ve got youtube for that. There’s no way you’ll get my interest with pre-written code and flying windows.
Hope this will help you.