I’ve been to a lot of conferences and meetups over the past year and one thing I can say categorically about the experience is that if you write code live on stage, then you are boring me.
For better or worse, what we do as software engineers is not a good spectator sport. I can think faster than you can type. Writing code doesn’t mix well with oration. You will fumble your speech and settle into long, ennui-inducing pauses. The demo will likely fail because of syntax errors in code, configuration, or command lines. And while you eat up time in an impromptu debugging session, I will reach for my phone. Live coding demos fail so often that I’m more surprised when they work than when they fail.
That does not mean you shouldn’t show code on stage. Please, by all means, put code up there on your slide and talk about it. Just don’t write it in real time. Live coding is lazy; it is a shortcut for creating quality presentation material. On well-prepared slides, your code will be magnified to ensure that I can read it. It will be highlighted so that you can direct my attention appropriately.
If you want to show something interactive do that with a video. You can talk over the video and guide my interest of what is happening on screen. You can edit a video to add highlights, insert pauses, speed it up 1.5x, or whatever else is needed to suit your speaking style and flow well with the presentation. Oh right, and it’s guaranteed to work.
This applies with equal force to demos of CLI tools or anything heavy with keyboard input.
Less live demos, more high quality presentations.