For those of you who don't know, I did my first talk a couple of nights ago (29/8/2013) at Leeds Sharp. It was on Nancy and I think it went pretty well. However, I've already noticed a lot of ways that I need to improve.
I organised my talk like this:
- A quick introduction about me and what I do.
- An introduction to the Nancy framework. When it was created, why and by whom.
- I talked about the Super Duper Happy Path.
- I demonstrated how to create a NancyModule and explained some of the benefits.
- I gave examples on how to use route arguments, model bind and validate.
- I showed how to create and return views.
- I covered testing and the Nancy testing framework.
- Finally I implemented Nancy into an existing ASP.NET MVC application.
It took a little over an hour and I realised I need to do these things:
I'm not a nervous person by nature, but this was a new experience for me. I've given talks before but never to my peers, so I was a little nervous. I found taking 5 minutes to calm myself down before entering the room really helped.
Because you are going to be nervous you're naturally going to want to talk more, or at least that's what happened to me. I made a conscious effort to slow my speech down. Not the point that I sounded like I was being played at half speed, but just enough so that it gave me time to think about my sentences.
Learn the Lingo
I know one of the things I do a lot of at work or during normal conversation is to replace terms with "thingy" or "whats-it".
You know that whats-it that pulls out the data. Can you use the thingy pattern on it. Yeah you know what I mean??
No, no they don't. I spent time learning the proper terminology for the field and made sure that I used it.
I didn't do very well on this during my talk. I must have said:
And it works like that "straight out of the box"
So many times. I knew I was constantly repeating it but I couldn't think of anything else to say. I think speaking slower helped me to avoid doing this more, but its something I'm going to have to work on.
If you don't know the answer just admit it
I think this is the biggest fear for anybody giving a talk. It was for me. But then I realised, unless you're Jon Skeet, there are going to be gaps in your knowledge. This is the case for everybody. I decided if I didn't know the answer I would just say. But I would also offer to find out for them, or give them a way to find out themselves.
Have notes. You're going to forget what you are wanting to show. I did and I couldn't get access to my notes due to lack of internet connection. It wasn't a disaster, but it could have been.
Have a Finished Demo
I knew there was the possibility that something could go wrong. Probably because I'd lose the ability to type with all those people watching me. I figured if I had a demo to go back to, it wouldn't be as big an issue.
Don't use Resharper or Shortcuts
I wanted people to follow along with my talk as the crowd was only small. I realised soon into it that if I start flicking around with Resharper shortcuts nobody would be able to follow. Better still I tried to use the mouse for navigation. I think this made it easier to follow.
Keep your examples simple
I went to NDC at Oslo this year and watched a talk by @davidfowl and @DamianEdwards. During the course of their talk they coded, from scratch, a basic SignalR example. I was very impressed, you really should watch it. There was no way I could do anything so complicated under pressure. So I decided to keep my examples simple then less could go wrong.
You can never have enough water
My throat has never been so dry. I had one small cup of water. Big mistake. I need to make sure I have at least a bottle but not drink so much I need the toilet :D
So thats pretty much it. These are the things I realised after my first talk. I'm hoping to do more soon and to get out into the wider community as I really enjoyed it.
I've got a feeling I'm going to learn a lot more than the people in my audience do!