I’m currently on a train from Gothenburg back home to Enköping. I have attended my first Sql Saturday (thank’s Mikael Wedham and crew for a great event!). I also did my first ever public SQL presentation at the event – a session about SQL Server partitioning.
The presentation and demo scripts can be downloaded from http://www.sqlsaturday.com/433/Sessions/Details.aspx?sid=38722
Initially, I was scheduled to have my session at 10:15 – the second session-slot of the day. The night before the conference – while being on the way to a fantastic Speakers’ Dinner out on the Island Vinga – someone told me to check the schedule again, there had been some last minute changes to it. I did, and found myself being scheduled for the last session-slot, at 4PM.
When I started prepping for the session in the morning, my PC was slow. Not a little bit slower than usual, but painfully slow. A query which normally takes about 15 seconds (which by the way is a pretty long time to fill out with chatting when you’re a speaker) now took a full minute. Not only would my presentation be filled with “Now we’ll just have to wait a minute, does someone have a nice joke to tell while we wait”-moments. The time for the presentation just wouldn’t be enough. I was already somewhat nervous about presenting and this sure didn’t make it better. After some looking at performance counters for a while, I unplugged my power supply and Bam! My PC was back to full speed again and I could see the CPU up to full speed. Perfect! Or at least that’s what I thought for a short while. Until I realised that some of my demos are rather CPU- and IO-intensive and I wasn’t sure my battery would last for the full session. There wasn’t much to do about that – I would just have to hope for it to do, and bring a power supply as a last resort when the battery gave up.
With the preparations more or less done the first session kicked off. I attended Cathrine Wilhelmsen’s session “Biml for Beginners: Generating SSIS packages with BimlScript“. A conference couldn’t have had a better start. If you ever get a chance to listen to Cathrine, just do it!
Next session, instead of presenting myself, I listened to Bob Duffy’s “When good SQL design goes bad” – a presentation about when Best Practice simply isn’t “Best”, not even “Good” or “Decent”.
Next two sessions were given by Håkan Winther and Steinar Andersen from SQL Service. I have listened to both before and knew they have both technical- and presentation skills. Håkan presented “How to kill SQL Server Performance“, showing how to make your hardware work really slow in order to convince your manager to get new hardware 🙂 Steinar presented “SQL Server Magic buttons: What are Trace Flags, and why should I care“. From both these sessions, I take a few very specific Points with me to some very specific problems at work.
I skipped the 3PM-session and made some final adjustments to my own presentation instead, had some coffee, fixed some resolution problems with the beamer in the session room and started waiting nervously. Would anyone show up? Did I want many people to show up? What if everyone in the room knows much more about partitioning than I do? As we got closer to 4PM, the room filled up. I had promised the organisers to give some practical information. The same moment I said “sure, I can do that”, I totally forgot.
My presentation started and everything went really smooth. Every demo worked, I got some good questions from the audience. But I realised that when I practiced my presentation, I didn’t note times for any presentation steps, so I didn’t really know if I was ahead of or behind schedule. I started thinking my presentation would finish too soon, and it probably would have if I kept up the speed the way I had in the first few slides. So I stopped rushing over the slides, took some time to elaborate on some of the points. In the end, I wasn’t ahead of Schedule at all – I had to skip most of the last demo and rush over a few things. But I did save some time to tell a really nerdy SQL DBA joke, got myself a round of applause and some good feedback on my way to the raffle.
First ever public SQL presentation done! There are a few things I would change if I give this presentation again – I would spend some more time showing the internals of partitions and more time elaborating on partition elimination. But the main points I’m taking with me for future presentations are:
- Plan for things to go wrong. Had I not found out that it was the power supply which made my PC work slow, I would have been in trouble. In this particular case, I could (thanks for the advice Steinar) have created one ore more databases and script them to certain states, in order to have a backout plan if eg an index rebuild takes too long to wait for.
- Practice the presentation back to back and note some checkpoints, to know if Topic A finishing in 20 minutes is too soon or too late.
- Decide which parts of the presentation could be skipped – or save all the optional stuff to the last slides. Not going through the whole material is no disaster – noone else than you knows what you did NOT talk about.
- Don’t be intimidated by the audience being really smart. They came there by choice and they all read the session abstract before, so they know what you are going to talk about.
- Interact. There will be people in the room with specialist knowledge about some details. Use their knowledge to improve the session. In the end, you might end up learning new things yourself during the presentation, which you can put into your next presentation.
- If you can, find someone to listen to your presentation before the conference.
Finally, if you ever get a chance to speak at a SQL Saturday, do it. If you can’t (or do not want to) speak, attend the next SQL Saturday near you. Free training and a chance to network with other nerds is an opportunity you should take.