I had the privilege of being asked to speak at the latest dotNETConf, which completely focussed on Xamarin. My very first speaking gig, but how did I end up there and what was it like? In this post, I will share some thoughts.
Public speaking? Eek!
Over the years I have tagged along with my good friend Gerald Versluis to all sorts of conferences. Big and small. Usually, he also had to give one or more talks there and he always seemed to pull it off so effortlessly. Obviously, that’s a pretty naive thought. At the very least he managed to hide his nerves like a pro though. But every time I saw him I wondered; would I be able to do this? A thought that would nag me for years to come. When I got my first nomination as a Microsoft MVP the public speaking topic came up again in my mind. Surely, to become an MVP I would try extra hard and finally tackle that speaking topic. Spoiler alert: despite my good intentions, this thought still didn’t manage to convince me to pick it up. I guess my fear of standing in front of a crowd not knowing what to say pretty much blocked any attempt from the get-go.
That last little nudge…
Fast forward one year since that initial nomination and there it was. An e-mail telling me I had become a Microsoft MVP! I was proud as can be, but I figured that if I wanted to keep this title I had to up my game. I wanted public speaking to be on the menu moving forward. This time for real. No more excuses. I swear! Despite my good intentions, it took another year before that last nudge I needed came around in the form of the most recent XamExpertDay conference. While I was there multiple people asked me why I didn’t submit a talk myself. So what do you do when people put you on the spot like that? Tell them you’re too scared to do it? Of course not. It was at that time that I flipped a switch in my head and really wanted to make it a personal goal for 2020.
Finding a subject
One of the people I had a more extensive conversation with about this was Mark Allibone. My lack of a good subject for a session was one of the things we talked about. It was pretty much the only thing stopping me. I felt that I needed a subject that I was comfortable with. Something I could talk about even if I would lose my train of thought halfway through a talk. That way I wouldn’t have to resort to crawling into a corner in the fetus position when I got stuck. At that point, Mark mentioned something that had been staring me in the face all this time; UI design with Xamarin.Forms. It’s not a topic that a lot of people are speaking about even though a lot of people love good looking apps. The community is doing an awesome job making great-looking stuff already. I’ve done a lot of blog posts about app clones and other UI related topics. So in retrospect, that topic was a no brainer.
Along comes dotNETConf
It was back in January that James Montemagno contacted me about giving a talk at the dotNETConf event focussing on Xamarin. As he later told me, in part to help challenge me to get out of my comfy little blogging bubble. I committed to it and the panic set in immediately. I need to make a session now. Oh, sh… So I did what I figure everyone does when they have a session due in a few months… Do nothing for the next few weeks while you could be preparing. Besides the daunting task of creating and giving a talk, I was also asked to record a quick 5-minute video about the NuGet packages I maintain. Sounds simple enough right? The ideal moment to get acquainted with hearing yourself talk! Gerald was nice enough to gift me a mic to get started with and I was off to the races. Recording a 5-minute video. Who thought it could be that hard? I must’ve recorded the same few bits a dozen times. Sat in my living room creatively piecing things together while struggling to get QuickTime to record the way I wanted it. I’m far from a pro at this, that’s for sure. Even now, listening to the end result, I think it could’ve been so much better. However, with that out of the way, I could now focus on that other elephant in the room.
Creating the talk
I have to say, creating the actual talk went better than I expected. I had some main structural ideas on paper pretty fast. First, talk a bit more in-depth about what beautiful UI actually means on a more conceptual level. Then move on to highlight some of the design elements and their function and end it by diving into a relatively simple sample that still looks great. Something I was constantly keeping in mind was to refrain from simply listing NuGet packages that fix a lot of the challenges. That would make for a pretty boring talk. I wanted to focus more on the why instead of the how. Why do we use shadows? What can a nicely crafted animation bring to the table? The actual demo part was also something I wasn’t sure about for a long time. In the end, the bulk of the actual demo and corresponding slides got built in the week leading up to dotNETConf. The demo app I showed at dotNETConf. In the end, I think the balance I was looking for in the talk turned out pretty well. I had already started practicing it a few weeks before the conference even though it was still heavily evolving. I scrapped bits along the way, wrote new ones and kept on practicing.
dotNETConf is here…
With all the Coronavirus issues in the world, things had been a bit hectic in the weeks leading up to the conference. Getting used to working from home with a little kid running around and being limited in what you can do can make it hard to find time to practice a talk. In the end, I think I did about 5 practice runs with 2 of those being on the actual day of the event. That last one went pretty well, so I was confident going into the thing. The countdown begins. After watching the people that were on earlier do an awesome job it was finally time. I had to call in half an hour early to set everything up and simply waited for my turn. T minus ten minutes. James pops up to tell me how it’s going to go and he will give me an intro to then take it away. There’s the intro. Now it’s all me. Start the clock. Tick tock… I say start the clock jokingly, but I actually did start a stopwatch at that point. The goal I was given was to finish in 35 minutes leaving 5 minutes open for questions. Looking back, I have to say; I think it went pretty well. I did feel the nerves cramping my voice a bit but that got better as I went along. But damn, talking dries out your mouth. A lot. I chugged a big bottle of water during the entire thing. Another worry I had was that I would start rushing the thing due to nerves, but a few glances at the stopwatch showed me I was right on track. Clocked in at 36 minutes in the end. Good enough for me! Answered a few questions to the best of my ability and my dotNETConf contribution was a wrap!
Giving the actual talk was definitely not as bad as I had initially thought. Time flew by pretty quickly. Obviously, with dotNETConf being a virtual conference, there is no added pressure of an actual crowd staring at you or walking out on you. I’m sure that adds a whole new level to the experience. You’re also not being distracted by a chatbox or any other form of interaction. It’s just you and a microphone, doing what you’ve practiced a few times before already. As a first public speaking experience I thought this was great though. Preparing for it definitely took me a lot of time, but I enjoyed it. You’re constantly tweaking the content. Checking to see if you have enough material to talk about while also ensuring that the content has a certain level of depth and a few things to take away from the talk. I want to thank everyone involved in the process and everyone who was watching. Hope you enjoyed it as much as I did putting it all together. And if you haven’t watched it yet, you can always catch me on-demand by re-watching it on Channel9, completely free! Rewatch my dotNETConf session here :)