How To Not Hate Public Speaking (Part 2)

This is a continuation from part 1 of my story about my personal speaking career journey so far. I recommend you read that post first as otherwise you’ll lack some important context needed to understand the full journey.

Fair warning once again: This is a long blog post. I plan to create short, more digestible posts that will follow this one to expand on the benefits of speaking and some tips and techniques I’ve used to date. But you’re here now, so why not stick with it? 🙂

I’ll continue from where I left off in part 1

Chapter 3: Becoming a conference speaker

A few weeks after presenting my first external talk, buoyed by the success of the evening the next thing I did seems pretty crazy to me, even now, I submitted a talk to a conference in their call for papers. What!!? Yeah, I’m still not sure exactly what possessed me! I had only given one public talk and one internal talk for goodness sake!

I first heard about a conference in London called Progressive .NET whilst listening to the .NET Rocks podcast. Richard and Carl would be there and it sounded like a lot of fun. I checked out the site to see how much a ticket would cost. It was whilst there that I noticed that a call for papers was open. Why not I thought! I had been avidly blogging about Docker for .NET Developers by this point and realised that I had a lot of content that could be formed into a talk. I spent 30 minutes developing an brief outline for a Docker talk and hit the submit button… Oh good God, what had I done!?

After that I forgot about it for a little while, until weeks later I got an email telling me that my talk had been accepted. Amazing; but also… aargh!

I responded back and started discussing the details of the travel and expenses. Being new to conference speaking I was unsure of the exact process. I knew that to attend the three day conference I would ideally need to stay up in London to avoid early starts and commutes fraught with the risk of train cancellations. I agreed with the organiser of the event that I could book a hotel for a few nights and that they would cover the cost, along with my train fare. This seemed very reasonable to me. I could also invite a friend/colleague on a guest ticket which was an extra bonus.

Now the hard part began; taking my rough outline and turning it into a talk. I had 45 minutes to fill and I knew that I wanted to include some demos along with my slides. I spent many hours figuring out how to take beginners through the topic of Docker. I wanted to share our journey at Madgex, building up to a big finish – showing a docker build and deploy into AWS ECS. After working at it for those many hours I got to the point where I had slides and some demo projects prepared. Then the even tougher work began, practicing. As before I spent a lot of hours in the evenings and at weekends fitting in rehearsals. Some just of the slides, some just of the demos and many of the complete talk. I focused carefully on timing since I had to try and hit the 45 minutes exactly. I was aiming to allow 5 minutes for questions, so needed 40 minutes of content to present. I focused on controlling my speaking speed as my prior experience told me that I would likely speak faster in the heat of the moment. I wanted to balance between practicing at what I expected to be a real speed, whilst also learning how to avoid going too fast.

Something which was often at the back of my mind was the issue of demo failure. What if my demos didn’t work? One of the demos was dependant on having a good internet connection to push a Docker image up to AWS and show how we deploy the image into production. Without a reasonable internet link I would be left pretty much high and dry. I decided to develop some safety nets for my demos, which would become plan B and plan C. Plan B was a set of videos that I recorded, showing the key steps from the demos. I recorded these and could fall back to them in the event of internet issues. For plan C I included screenshots and copied code as slides in a backup PowerPoint file. This was in case I had any laptop issues and ended up needing to present on a backup device during the conference. As a worst case I could present these slides and talk through the steps. Having these backup plans available made me feel much better about my demos.

At around the time I was finalising the main content I happened to be speaking to Dylan Beattie, who helps organise the Progressive .NET event and he suggested practicing the talk for a smaller audience at a user group before the conference. He had the perfect option, London .NET user group which he co-organises. He gave me date options and in the end I chose the 8th of August as it meant I’d have time after to make any changes before the conferences in September. The only downside was that it was only two days after arriving back from a holiday in Norway, so not much time to do final practice runs. I also learned from Dylan that it had helped my chances greatly of being accepted for Progressive .NET tutorials after he’d seen my first talk at ALT.NET in Brighton. So a little bit of luck and good timing had helped me there. It was fantastic that on the back of that first talk it led Dylan to advocate for me as a speaker. Thanks Dylan!

After arriving back from Norway I started to feel a little stressed about the upcoming user group. I hadn’t rehearsed anything for nearly two weeks and I was worried that I would have lost some of my flow. I spent my lunchbreak on the Monday running through my slides and then a few hours that evening as well. When Tuesday arrived I wished I was more rehearsed but there was not much I could do about it at that point. I worked until around 3:30pm at which point I headed for the station and the train which would take me to Skills Matter in London where the user group meets. This would be the same venue as the upcoming conference so it was useful to have a chance to familiarise myself with it.

I arrived at Skills Matter fairly early and went on down to the room the user group would be using for the evening. It was nice being early as the room was nearly empty and I could get settled, while checking my laptop was ready for the demos and connected to the video system. It was at this point I had my first tech failure. The new presentation clicker I had purchased wouldn’t connect to my laptop. After two attempts, repeating something I’d done tens of times at home, it was clear it was a losing battle. Luckily, Dylan had his clicker to hand and this seemed to work just fine in my laptop. Panic over!

The room started to fill and before long the final few minutes were counting down. I was definitely pretty nervous by that point. What if I forgot what I wanted to say? What if I wasn’t clear enough? What would happen if my demos failed? The tech guy from Skills Matter came over and distracted my worried thoughts to get me wired up with a lapel microphone. This would be my first experience of using a microphone when speaking.

Shortly afterwards it was time for the event to start. Dylan kicked off with a quick introduction to the group and all too quickly he was introducing me to the audience. No backing out now! I stood up and felt a small rush of fear, followed by a surge of adrenaline. The room was full and there were a lot of expectant faces gazing back at me. And so I began, just as rehearsed, launching into my introduction. I was conscious of a little shake in my hands as my heart started pumping and the adrenaline kicked in. I pushed through and after a few minutes I settled down. From my experience so far, I still consider these first 3-5 minutes the hardest as I and the audience warm up. As I picked up momentum I was pleased with how things were going. I was able to make regular eye contact with people around the room and the flow I’d rehearsed was working well. Even the demos went entirely to plan. My hours of practice had definitely paid off. At the end I opened to questions and got quite a few. I was a little worried about questions since there is always the risk that you get asked something you don’t know. However, I found that in all cases I was able to offer an answer that I hope was satisfactory.

Later, during the post meetup drinks I was approached by a few of the attendees who thanked me for the talk. The feedback was very positive, people had enjoyed the content and the delivery. It was very pleasing to hear and this feedback was extremely important to realise that I was on the right track. It’s feedback like this which has given me further confidence to consider more speaking engagements.

Another thing which happened during this timeframe was receiving a LinkedIn message from Hannes Preishuber‏ who runs a training company called PPEDV in Germany. Hannes wanted to invite me to speak about Docker at a conference he was organising in Cologne called ADC (Advanced Developer Conference) Core. This was an extremely exciting prospect and one I hoped could become a reality. I checked the dates and realised this would be the week immediately after my first ever conference at Progressive .NET. Other than creating two very busy weeks I decided that I could make it work and so I readily agreed to the offer. As well as my Docker talk, I offered a short talk about Humanitarian Toolbox as I was keen to have a chance to promote that to as wide an audience as possible. Both talks were accepted. The only downside for me was that the session length for ADC Core was 70 minutes. This meant I would need to extend my Docker talk and have a version that could run to this length. Also, 70 minutes is quite an intimidating length of time to be in front of an audience.

The weeks after my talk at the London .NET user group passed quickly. I spent a lot of free time refining my slides and mostly practicing everything many times over. I was also actively working on my extended slide deck for ADC Core. I quickly found that the additional time for that talk meant I could cover some important topics which I had to gloss over for the shorter version. It didn’t take long to develop a few additional slides which brought me up to the required 70 minutes. As I neared my final rehearsals, switching between my shorter and longer versions I soon realised I was getting mixed up with my timings, spending too long on some of the slides during the 45 minute version, pushing me over my time limit. I decided that I would develop timing sheets for each version, listing the exact time that I could spend on each slide. I did this by timing my talks during multiple rehearsals, logging the run time at the point of switching to each slide. After a while I had a decent set of timings for each version. Now, during each practice run I had a timer app running on my phone which I used to keep pace. I found this really valuable since I knew exactly if I was running too long or too short against plan.

The final preparation for my first conference was another user group talk. This time for the new .NET South East meetup group I had organised. I won’t go into the motivation for that group here, but you can read more in this previous post. The opportunity to present the talk one more time in front of an audience was very useful. The night of the user group was pretty frantic as there was a lot to organise. I didn’t have a huge amount of time for nerves. I was more nervous about opening the evening where I would introduce the group and how things worked. I’d had little time to practice what I would say so was feeling less confident. I do remember thinking that I sounded a bit nervous during that introduction. It was a very successful evening and my Docker talk went well. This time around it felt very natural and I quickly got into my rehearsed rhythm. It’s amazing how quickly something so alien and scary had started to feel more normal. Conditioning at work!

Conference No. 1

On Tuesday 12th September I set off for London, ready to start my conference career! I was feeling equal parts excited and nervous at the thought of speaking. The conference was due to start the next day and that would be my day to speak. Arriving on the Tuesday I was going to be able to attend a speakers drink evening at Skills Matter before heading upstairs to listen to Richard Campbell talk about the History of .NET at a special London .NET User Group meetup. The drinks was a great way to meet some of the other speakers and to relax. However, I did feel like a bit of an imposter, amongst such experts and regular speakers.

The next day I got up early to give me time to complete one final rehearsal of my talk in my hotel room. The walls of the Travelodge were quite thin so I hope I didn’t wake my neighbours with my Docker talk. If I did, I hope they enjoyed it! With a successful rehearsal complete I headed out and walked to the venue at Skills Matter. They had breakfast of fruit and pastries laid out which I took advantage of before sitting down to review my slides. I wanted everything as fresh as possible before I spoke later that morning. At 9am it was time for the conference opening Keynote from Jon Galloway. It was a great talk and an example of an expert speaker presenting comfortably to the crowd. After Jon there was one more session before I would speak. I chose to head down to the room I would be speaking in to watch the talk before mine. No pressure for me, it was Jon Skeet! Jon is a well-known and expert presenter and I knew he would be a tough act to follow. During Jon’s talk I started to think about the time ticking away to my start time. As ready and practiced as I was, I was starting to get very nervous about speaking.

Before long I had no time left to be nervous, Jon was wrapping up his talk. During Jon’s talk I had tested that my laptop was working and connected to the network. I’d also done a quick check of the steps for each demo to make sure they were all functioning. Check! As Jon started to clear his laptop away I started to prepare mine at the front of the room. The A/V guy came over to help me get the microphone attached and tested. There was about 15 minutes between sessions, which goes very quickly when you’re getting setup and fortunately the tech check took my mind mostly off having to speak. Before I knew it, it was time to start. Ian Cooper, one of the event organisers, introduced me and that was it, I was off. Launching into my well-practiced introduction I soon found my confidence and the nerves started to ease. Within a few minutes I was enjoying myself and the room seemed engaged with what I was saying. I was trying to scan the faces around the room as I was speaking. The demos also proved to be successful – hooray! I was checking my timer at each slide change and I was nicely on track, generally only a few seconds outside of my target times. I was extremely glad I had prepared a timing sheet as it gave me the confidence that I progressing as rehearsed.

Before long the timer was at 40 minutes and I was wrapping up the final slide. This was spot on since I’d allowed about 5 minutes for questions from the audience. As I was clearing down my equipment a number of people came to speak to me in person and each one said some very positive things. It was nice to be able to interact directly with people, get a feel for how it had gone and also answer some further questions. Hearing from people that it had been a big help and a great introduction made all of the time spent preparing feel very much worthwhile. Later I would get sent my feedback scores for the session, captured via an online feedback system.

Fantastic session! Learned lots!

68%

Session was good, I enjoyed it!

32%

Needs improvement, expected more from this session.

0%

I am very happy with these scores, especially for a first conference talk!

Conference No. 2

I stepped off the plane in Germany, ready for my next conference. I would soon become an international speaker! It was very exciting to have a second opportunity to speak so soon after the first but it was also quite daunting to be doing this one outside of the UK. I’d arrived on the Sunday afternoon to give me time to get settled in and to attend the speaker dinner.

My first talk was on day one of the conference, just after lunch. This would be the 70 minute version of my Docker talk. In the morning I got up early to give me time for a run-through of the presentation. I hadn’t rehearsed this talk since giving the 45 minute version in London, so I wanted to refresh my mind for the timings. Again, I had a full timing sheet for the presentation and it meant that I was able to stick pretty close to the plan. With the rehearsal a success I treated myself to a quick breakfast and then headed to the conference venue, a few minutes’ walk from the speaker hotel.

Being a predominantly German speaking conference this presented some additional time to review my slides and gather my thoughts before my talk. There was little to gain from sitting in a German speaking session. This proved to be a double edged sword though. In London I had been attending the prior talks and so while I didn’t spend time on practicing immediately before my talk, I also had my mind taken off the fact that I would soon be speaking. In Germany this was not the case and so I did have more time to get nervous leading up to my session. I do remember questioning whether I could really present for 70 whole minutes. During lunch my nerves really started to kick in and I couldn’t really eat the food on my plate.

20 minutes before my start time I went into Raum 1 (Room 1) to prepare. I like to have time to be sure all of the demos can connect and that my laptop connects to the HDMI system. As the talks were being recorded I also needed to get my microphone setup and to work with the tech staff to ensure the screen and audio was being picked up by the recording system. During this time the room started to fill with attendees… and kept filling. Just prior to the scheduled start time it was pretty full and a good proportion of the attendees from the conference were staring back at me. In this conference it would be a case of kicking off my session myself without an introduction. As the time ticked over to 1pm I started my timer app on my phone and began my talk.

I’d included a single line of German which translated as “Good day, my name is Steve…. And that is all my German”. As I’d hoped this triggered a laugh and in fact a small applause! It was a nice ice-breaker and put me at ease much more quickly than in London. After that I launched into the rehearsed presentation and the 70 minutes flew by. As in London, all of the demos worked and I was happy with the pace of the presentation. I did manage to make one typo when running through one of the demos but a helpful audience member helpfully pointed it out. It was a tense second or two for me as I realised something had not gone quite to plan, but it was a only minor glitch and no one seemed to mind.

The session generated quite a lot of questions which I spent a few minutes answering. One of the attendees did seem to have missed an early point that I think had led to some confusion on why we were using containers. I spent a bit of time clarifying. Afterwards another attendee found me and spoke to me privately, explaining that I’d been very clear and not to worry that one person had got a little confused. This was very re-assuring as I wasn’t sure if the content or perhaps language barrier had made my talk confusing. He didn’t think so and said that a few other people had commented on learning a lot from the session. It’s important to remember though that it is possible to loose people and that any keys points early in a talk should sometimes be re-iterated to give people a second chance to catch up. It’s a small thing, but something I will try to remember when building my content in the future.

Summary

That brings us up to date with my short but exciting speaking career so far. This is hopefully only the beginning of my journey and as it turns out… I don’t hate public speaking! I had a fear of it which meant I avoided doing it, but fears can be beaten. Having faced that fear, I feel much more comfortable giving talks. Don’t get me wrong, I do still have nerves and stress before speaking, but it’s far more manageable and I now know that the resulting buzz from speaking will outweigh those nerves. I still have lots that I can improve in terms of presentation style and experience that needs to be gained but I’ve made some important early steps. There’s a huge amount of satisfaction from being able to stand up and share with others, to help them understand something new and to inspire them to go and learn more. So what next? I hope to find more conferences and user groups that I can speak at and I already have ideas to start developing some future talk topics as well.

I’m very thankful to a number of people along the way who have offered encouragement and advice. In particular I want to offer thanks to Dylan Beattie, who helped give me the break at my first conference and offered his support to gain some valuable speaking experience. A special mention goes to my wife who put up with me regularly disappearing into the office to rehearse and develop my talks. Many hours of my free time were devoted to these tasks and my wife supported my efforts and encouraged me through periods of doubt I had about speaking. This encouragement and support cannot be underestimated in helping me to start my journey and develop myself as a speaker. I hope by sharing this post that perhaps I can encourage some other potential speakers to take the first step and like me, learn not to hate public speaking.

That’s my candid story and I hope this divergence from technical blogging has been useful to some of the readers who have stuck with me for around 7,500 words across these two long blog posts. Coming up soon I plan to write some much shorter posts where I will get more practical and share some tips and techniques from my limited speaking experience so far. I’ll update this introductory post with links once those posts come online. Thank you for reading and if you’ve been even slightly tempted to try public speaking, please do give it a go and let me know how you get on.

How To Not Hate Public Speaking (Part 1)

I hate public speaking! I HATE public speaking! I HATE PUBLIC SPEAKING!

That would have been my emphatic and unwavering response only eight or nine months ago if you had asked me about my thoughts on having to speak in public. The idea of speaking in front of even a small group of people whom I knew reasonably well would have sent shivers down my spine. It would have made my palms sweat.

So what if you asked me that same question today?… It turns out; I actually quite enjoy public speaking!

Fair warning: This is a long blog post. I have split it into two parts, but it’s very much story driven and the detail was needed to give the full picture and to share my personal progression to becoming a technical speaker. I plan to create short, more digestible posts that will follow this one to expand on the benefits of speaking and some tips and techniques I’ve used to date.

I’d love it if the result of this post was to inspire a few other developers to take the step towards presenting in public. If I can do it, you certainly can too! We’re in an ever changing industry where there are lots of possible solutions and approaches to solving problems. Sharing the wealth of knowledge and experience within our communities can only help bring up the overall level and help every developer to keep up and improve their skills. I have learned a huge amount from listening to many hundreds of hours of recorded talks and I decided it was time for me to try and give back. This is my story…

Chapter 1: Hating public speaking

I don’t have a specific reason why, but I’ve never enjoyed public speaking. I would actively avoid it in any environment and with any possible excuse. My first memories of this dislike were in school. If we ever had to give a speech or presentation in front of the class I would panic. The thought of everyone staring at me and judging me set my heart racing. It’s funny; I don’t really remember the actual moment of making speeches though, mostly I remember the fear leading up to it. I do know that I wasn’t ridiculed or made fun of afterwards. So why did I still hate it?

One factor contributing to my fear may be my introverted nature. I am okay talking within small groups of people that I know but put me around strangers and I do tend to close up. I like to listen but I find it harder to put myself out there into the discussion. I’m not particularly good at small talk, finding it hard to think of things to say or ask; usually until after the conversation, at which point I come up with a ton of questions! Generally I’m happier when I’m not the centre of attention and therefore, speaking in public is taking me out of my comfort zone.

My next memory of having to speak in public was some years later when I was asked to be a best man at my friend’s wedding. I was honoured to be asked, but not long after that I realised that I would need to speak… in front of people! Lots of people! I spent the weeks leading up to the wedding working on content for my speech. I’m not sure how many times I read out my script to myself, added bits, cut bits and then added them back again. By the time the big day arrived I had a few pages prepared.

All through the day, a level of dread built up in me. By the time we sat down for the meal and my moment approached I was at a pretty high state of fear. I wasn’t really hungry and decided a glass or two of alcohol would help. It didn’t! Let me stress; I didn’t get drunk or anything, but the edge certainly had not been taken off as I had hoped it might be. Soon the desert was cleared away and at that point I may have briefly considered making a run for it! There were two speeches before me but before long I was up, it was my time with the room. I stood, hands shaking a little, heart beating, pores sweating and surveyed my audience. I hated them! I hated the groom! Most of all I hated public speaking!

I began the speech. My voice was cracking and I hated it. I noticed my eyes were watering. Not crying, but definitely moist. Noticing those things only served to make it worse and I hated that too. I pushed on, speaking the lines I’d agonised over getting just right, trying to hit the necessary inflection and pauses to make the audience laugh. I don’t remember it all that clearly but I made it through. During the speech people laughed, not at me but with me. Later, friends and even some strangers would tell me what a good job I’d done. Personally, I was just extremely glad it was over.

A year or so later another close friend got married and this time I was happy not to be given the honour of best man, simply because I could enjoy the event without having to concern myself with speaking; or so I thought! As it turned out a friend and I were given a short slot during the best man speech to “say a few words”. We came up with a little script of funny stories that we could present almost as if conversing with one another. Again, I don’t remember too much about presenting the speech but I do remember feeling really apprehensive beforehand. Something I did learn at this point is that the fear of speaking is way worse than actually doing it. The guests seemed to enjoy our cameo and congratulated us afterwards. A job well done.

So far this blog seems to be a story of weddings, but as it turns out, those are the main times I really had to speak to a large audience previously. During that same timeframe I’d led meetings on the phone and in person for my job. I was generally okay with those since the audience was small and it was less one sided. I do recall some cases where it was mostly up to me to present a set of slides or content at a meeting and before those I would often feel a little stressed beforehand.

Okay, back to weddings, this is the last one, I promise! The next wedding I attended was my own and I certainly couldn’t avoid speaking at that one! This was the speech which I worked most hard on; preparing, refining and rehearsing over many weeks. Speaking as the groom, it’s a little harder as you can be less reliant on using jokes as a mechanism to engage the audience. My one advantage was knowing all of the guests which I think that did make it slightly less intimidating. In this instance, with everything else going on, I only really had time to be nervous just before speaking. I think it was during my father-in-law’s speech that I realised that I was next and started to panic a little. However, I do remember with this time speaking felt much more natural. Perhaps I was starting to get conditioned to speaking for an audience?

Chapter 2: Starting out with technical speaking

In late 2016 I made the decision that I wanted to develop my public speaking skills and I decided to start by giving some technical talks at work. This was a very conscious decision on my part. I had admired and was indebted to the many fantastic and varied speakers who, over the years of watching recorded talks or attending conferences, had helped me learn so much. They made it look effortless and in only 60 minutes could take me many paces forward in my self-development. I recognised that public speaking is a very valuable skill. To be able to stand before a group of people and teach, inspire and inform is incredibly powerful. At a smaller level it can help in both one’s career and personal life. My wife is a teacher and I am awed at her ability to educate her students and to help set them towards success in life.

Whilst not in any way ready to stand in front of a class of 30 teenagers, I really did want to share my experience of and passion for ASP.NET Core with my colleagues. I decided to try and put together a one hour talk on the topic. It seemed like a great idea when I first came up with it and scheduled a date for just over a month in the future. I’ve become a big fan of blogging as a mechanism to share content within the developer community. By speaking I hoped I could build on this by communicating my content in a different form, including demos and emphasising my points to hopefully inspire people to try it out. A main difference between speaking and blogging is that you gain feedback from the audience as you speak and can adapt where necessary. If their faces imply they might not have understood something, you can reword it and try a different tact. If they have questions you can respond to those in a two way conversation. I was inspired by great technical speakers, like Scott Hanselman for example, who make presenting technical content while remaining entertaining look so effortless.

I spent a lot of time over that next month developing content for the talk. The first thing I learned was that it was a lot of work; far more than I had imagined. I started with a bit of an outline in my mind and from their began to pencil in some slides and bullet points to cover. I found myself regularly researching things to validate that I had understood them fully and could accurately speak about the technology. Once I had a reasonable outline, I started working on the demos. I planned to show the process of building up a basic MVC project, starting with “dotnet new” at the command line. I would demonstrate the concept of middleware and the Startup class along the way. Building the code itself wasn’t too complex, but working out how to explain it and build up in small steps was harder. I didn’t want to go too deep too quickly and loose anyone along the way. I was also conscious of needing to type code whilst also speaking so I tried to work out how to avoid long pauses while typing. In the end I prepared a set of snippets that meant I could copy and past a lot of the code into the project as I demoed the features.

I spent many hours refining the content and practicing the slides and demos to myself at home. I went over and over and over everything until it was pretty much burned into my mind. I have quite a bad memory so I was worried that the content would be forgotten by the time I came to present it. I even put my wife through one of my final rehearsals, despite her lack of programming experience. She very kindly listened and gave me some feedback after I had finished. Even presenting it to just my wife at home, I realised I felt nervous and quite self-conscious standing and speaking in front of her. I was starting to regret the idea!

Before I knew it, the big day had arrived. I was very nervous and for most of the morning I couldn’t stop thinking about the stupid decision I’d made. I wondered if I could reschedule to give me more time to get used to the idea. However, I realised that I was as prepared as I could be and that I should just get it over with. 10 minutes before the start I headed into the meeting room to prepare. I wanted to make sure my personal laptop would connect to the TV in our board room and that all of the demo content was at the correct font sizes to be seen clearly. I was super anxious by this stage and found myself hoping that no one would turn up at all. That would at least give me a way out. However, to my disappointment, people started to arrive. I’d sent the invite to all developers so was unsure exactly how many would turn up. In the end I think I had about 12 people in the board room with me. It’s a reasonably small number but surprisingly intimidating at that moment.

Time slowly ticked down until the scheduled start time arrived. I took a big breath, stood up and launched into my talk. I worked my way through my introductory content from my slides just as I’d rehearsed. After the first few minutes as I hit my flow I do recall that it got easier to present. My colleagues seemed engaged in what I was sharing with them. I got through my slides a little quicker than I’d expected. I realised that I had been talking faster than in my much calmer rehearsals to an empty room.

With my slides complete, it was onto the demos. This generated an added level of anxiety since there was the possibility of things not working at expected. Despite having practiced it many times, I had watched enough technical demos fail during presentations in the past. I didn’t have much of a plan B if things started to go south. I found that the hardest part was definitely smoothly typing and working the screen, whilst also talking and trying to make eye contact with the audience. The demo went well and everything worked as I’d planned and practiced it. All that was left was to wrap up my summary slides and to take questions. I think I only had two questions, so either I’d covered everything, I’d lost some people along the way or people were shy. However, once it was all over, quite a few people approached me privately to offer their thanks and to say that they’d enjoyed it. I got one piece of written feedback via an online recognition tool that particularly made me smile…

“Gave an outstanding talk on a complex technical subject: thoroughly researched, clearly explained. One of the best prepared and delivered technical talks I’ve attended at Madgex.”

This was very encouraging to read and I thank that person for his very kind and valuable feedback. I’d found it very hard to judge how well the content had gone across so seeing this made me realise that I’d done a pretty reasonable job. It was encouragement that I very much needed at the time and I urge you, if you ever attend a talk, do let the speaker know if you enjoyed it. All feedback is valuable but for new speakers especially I think hearing encouragement or positive feedback is so important. For me personally that comment gave me the confidence boost to consider future talks.

After I had time to reflect on the experience I decided that although I’d been very nervous before I started, I had actually enjoyed sharing the content and teaching people about ASP.NET Core. The fact that I’d been able to introduce people to it and get them interested to learn more was very satisfying. I made the decision to plan another talk to develop my speaking skills and face my public speaking fear once again.

It was some months later in early 2017 when my next opportunity presented itself. I happened to mention to Mike Hadlow who runs the Brighton ALT.NET group that I was thinking about trying to do some external talks in the future. I wanted to step it up a level and move further out of my comfort zone. Speaking to colleagues internally was a great step, but I wanted to push myself more. It was great timing as he was in the process of planning an evening of four 20 minute lightning talks. He asked if I would like to be put on the list to speak and before I knew it, I had agreed!

I decided fairly early on that I wanted to develop a talk around my experience of contributing to the allReady open source project run by the Humanitarian Toolbox. This is a charity focused on providing sustainable software for use by disaster relief charities that I’m passionate about being a part of. Richard Campbell, one of the co-founders of the charity had recently given a keynote at NDC London, speaking about the project. I got in contact with Richard and asked if I could re-use some of his content and slides since he’d given a great introduction to the motivations and history behind the formation of Humanitarian Toolbox.

With Richard’s slides in hand I went about crafting content for the talk. Originally 20 minutes had felt like a long time to fill, but during rehearsals I soon realised that I had over 30 minutes’ worth. I worked on cutting it down and refining it until I had around 22 minutes. I knew from my previous talk that I speak quicker when presenting for real vs. rehearsal so this seemed like a sensible idea. I was aiming for around 16 minutes of speaking, with 4 minutes for questions at the end.

Again I spent many hours rehearsing the talk to myself (and sometimes the cats) at home. I find that the best process for me is to present to a fake audience. I stand up and practice not only the content but presenting it clearly and with good vocal projection. It feels strange but it really does help me to find a rhythm. I time each run through, sometimes pausing to make notes or revisions to the slides when something doesn’t sound or feel right. I also focus on looking up and out into the imaginary audience. It’s important for this to feel natural and it also forces me to ensure I’m not simply reading from the slides or my notes. The preparation was a little easier since I didn’t have a demo to build or rehearse this time around. The downside however was that this talk would be all about what I was saying. Technical demos have the advantage of taking the direct focus off you for a little while.

Before I knew it, the evening of the talks was upon me. I was starting to have serious doubts if this had been a good idea. In fact I was fairly sure it was a crazy idea. I had no idea how many people to expect and the thought of standing in front of a group of strangers was filling me with a strong and steady dread. I couldn’t back out now… could I? No, I couldn’t let anyone down. I was committed and I just needed to step up and do this.

At 6pm I met some of the ALT.NET attendees, along with Mike (the organiser) and some of the other speakers at a local restaurant for a quick dinner. I didn’t feel much like eating but knew I needed something to see me through the evening. From there we all walked to the venue and got the space setup. Before long, the talks where due to begin. I was third to present of the four speakers that evening which left me with 40 minutes to slowly sweat and worry about having to speak. The build up is definitely one of the worst bits for me. Five minutes before my talk I went off to have a nervous pee and to compose myself in private. This has now become a sort of ritual for me, not having a pee (although I do recommend speaking on an empty bladder), but to take five minutes just before speaking to clear my head, take a few deep breaths and try to relax.

At the allotted time I stepped onto the “stage” and got started. I find the first few minutes of a talk the hardest. It’s the time when you first have to engage with the audience and take the centre of attention. My voice, along with my hands was a little shaky to begin with. After a couple of minutes I started to relax and the flow from my rehearsals took over. I was reasonably comfortable with all of the eyes on me. Everyone was listening intently and even laughed at a couple of small jokes I included along the way. The time flew past and before I knew it I was on my final slide. I’d finished in about 15 minutes, so still faster than practice but about what I had been expecting.

During questions at the end I got a lot of engagement and I was pleased that people had been taking in what I’d been saying. With the questions answered, I could relax and accept my round of applause. I spoke to a few people after the event and the feedback was great. Everyone I spoke to was either being polite or had enjoyed the talk. One of the speakers that evening was Dylan Beattie, a name I knew, but whom I had never met. Dylan is a more experienced speaker and has presented at a number of large conferences. I managed to ask Dylan for his thoughts about my talk and his feedback was very encouraging. A few people I spoke to seemed surprised that this had been my first external talk. I took that as a really good sign of how the presentation had gone.

A few weeks later, buoyed by the success of the evening the next thing I did seems pretty crazy to me, even now. I submitted to speak at a conference… What!!? Yeah, I’m still not sure exactly what possessed me!

On that nail-biting cliff-hanger I’ll wrap up this post. Join me in Part 2 to find out what happened next.

Speaking at Progressive .NET Tutorials 2017

Back in early May I was listening to a .NET Rocks episode when Carl and Richard mention a conference called Progressive .NET Tutorials that they would be attending in London. I’m a big believer in attending conferences as I find that it’s to be a great way to learn new skills and network with similarly minded people. I headed over to the Progressive .NET website to check out the details about the event.

The full line-up was not complete when I made that first visit, but the keynote from Jon Galloway had me sold already. Then a section lower down the page caught my eye and there began the events leading to me speaking at my first conference! I’d noticed the call for papers signup form and having already been thinking about opportunities to do more technical speaking, I decided that I would submit a talk; in fact I ended up submitting two potential talks. After submitting, the wait began until after the closing deadline passed and the organisers began selecting speakers. Something that is great about Progressive .NET is that were welcoming to first time speakers as well as experienced ones.

About 3 weeks ago I received an email from Nicole at Skills Matter and was delighted to read that one of my talks had been selected for inclusion in the 2017 programme. I’ll be presenting a talk entitled, Docker for .NET Developers. In this talk I’ll be sharing with the audience a journey that our team at Madgex have been on; using Docker as we develop a new product. This has been our first experience with Docker and along the way we’ve learned a lot. We are now using Docker not only to simplify the developer workflow, but also for our build and deployment process. We are leveraging Amazon EC2 Container Services to host our production system which is built using .NET Core based microservices.

I’m really excited about the content I’m building for this talk. I’ll be sharing the things we’ve learnt about Docker in our experience so far. I’ll take a look at what Docker is, what problems it has helped us solve and how we implemented it in our developer and deployment workflows. Along the way we’ll take a look at some demos of what this looks like in code, exploring dockerfiles, docker-compose and our build and deployment process. I hope this talk will be useful to developers looking to begin using Docker in their own projects. We’ll start with the basics but by the end of the session I hope to show an example of how we do a build and live deploy, with zero downtime into AWS. It’s a very exciting time to be a .NET developer and the release of the cross-platform .NET Core framework has opened the door to this exciting new application platform. I’m excited to see where the new framework takes us in the next 12 months as we see the release of .NET Core 2.0. Architectures and strategies around microservices and serverless are also creating some interesting new ways for developers to think about building new applications.

Over the years I’ve learned a lot from the .NET community, reading blog posts, listening to podcasts and watching videos. I have a passion for learning new things and investigating new techniques. Watching talks from many great speakers has influenced my personal growth, shown me new ideas and helped me develop my technical skills. I’m looking forward to the chance to begin participating more directly by talking about some of the things we’ve learned about Docker and Amazon ECS. I will be giving it my all to present a fast paced, information packed talk about Docker and hopefully help other developers to begin using it. I’m extremely passionate about what I do and the chance to share that with an audience of peers at this event is very exciting.

I’m extremely honoured and privileged to be joining such an amazing line-up of world class experts at this event. Many of the of speakers are people whom I follow and who share great content in their areas of expertise. It’ll be exciting to attend some of their sessions and learn more about all of the other great topics being discussed at this event.

I look forward to the opportunity to meet some fellow developers at the conference. If you’re free on September 13th – 15th then I do recommend that you take a look at the website and buy yourself a ticket. I hope to see some of you there, please do come and say hi!