Each month, the folks I work with have a Java Lunch. A volunteer gives a 1-hour tech talk on something Java-related, but we’ve also had talks on ANTLR, Ruby, Groovy, and many other technologies. These lunches are fun, informative, and a good way to get free pizza.
I signed myself up to present in November — I plan to show some advanced Swing concepts. There are many reasons to give a presentation:
- Giving a presentation to your peers is one of the best ways to learn something.
- A speaking engagement provides a hard deadline, forcing you to get something done.
- Presentations can be a good way to spread some knowledge.
- Public speaking is a great career move.
But I already know Swing really well…and I don’t really need a deadline for this. Here is my real motivation:
- I want to improve my presentation skills.
I want to push the envelope a bit and expand my repertoire beyond PowerPoint with bullet points. I want to learn how to give dynamic presentations that make people say “damn, that kicked ass!” (yep, I stole that from Kathy Sierra). I want them to feel this way because they learned something within the 1 hour time constraint.
Mistakes to Avoid
I think I am a good speaker, but I certainly can improve. Here are some mistakes I (have made and) plan to avoid:
- Do not include an introduction slide. This wastes precious time because people in this audience already know who I am and what the topic will be.
- Do not include an “outline” slide. With only 60 minutes, why waste 5 minutes describing what I am about to talk about? I’d rather use my time talking about Swing.
- Absolutely do not include a “History of Swing” slide. Technology history lessons put people to sleep.
- Don’t make everything “beginner level”. Far too many technical presentations cater to rookies and are boring. This is particularly true when the audience is a group of consultants who know Java inside and out.
Things That I Would Like to Do
- Show working code snippets throughout the presentation.
- Show real working Swing examples.
- Keep the pace up. We only have an hour.
The goal of a 1-hour presentation is not to teach people details. It is to spark people’s imagination, show them what is possible, and to give people a kick in the pants (or perhaps point them in the right direction) if they are interested in pursuing the technology further.
One idea is to skip the slide show completely. Instead of slides, I could show a series of small Swing examples: real, running programs. After showing each example, I can switch over to an IDE, pointing out the most important code snippets. Small fonts can be an issue, but IDEA makes it easy to zoom in.
Other OCI employees have given presentations in this style and it works very well.
Most presentations fall into this category, and I refuse to do it this way any more. I will not have a series of slides with bullet points.
Lots of Slides
This is an option I never considered until seeing Archaeopteryx: A Ruby MIDI Generator, via Alex’s blog.
That presentation does show some working code along with a real demo. But the bulk of the presentation consists of hundreds of slides. Giles burns through the slides at a frenetic rate, and the results are phenomenal. I have never seen or given a presentation remotely like this.
What Should I Do?
I feel like I should take one of two avenues. Either go all demo+code, or go the “super fast paced slide show” approach. I must admit, the super fast slide show approach appeals to me for these reasons:
- It is completely different than what people are used to
- If done well, it can be extremely entertaining
- It’s a big challenge
- It may avoid awkward context switching as I constantly switch back and forth between code examples and demos
That last bullet is important to me. A lot of speakers spend too much of their hour stumbling back and forth between demos, the command prompt, and their IDE. Perhaps if I put everything into a fast-paced, well scripted Keynote presentation, I can avoid these context switches.
What do you think? I just placed an order for slide:ology, perhaps that will inspire me.