Last month I gave my first major conference talk at AngularConnect! It was an incredible experience and something I had dreamed of achieving. I hope by sharing my story it will inspire others to believe that they too could be on that stage!
My journey to speaking at AngularConnect began in 2015. I had just completed a framework evaluation and recommended that my team at G-Research use AngularJs. Not long after this I heard about an Angular conference being run on my doorstep in London. So I asked for a ticket and headed out to the Excel Centre to the first incarnation of AngularConnect to learn more about Angular.
I remember being so inspired by the talks and returned to work eager to put my new found knowledge to use. Then this picture of me enjoying the games room (in one of the breaks of course!) emerged and my excitement for the conference was seen in a new light. Word of advice, watch out for those photographers! 📷 😉
AngularJs, and subsequently Angular, have proved a great success at G-Research and so I have been fortunate enough to keep coming back to AngularConnect, building up my t-shirt collection at the same time. Every year I leave empowered with new knowledge to put to use at G-Research.
Liquid error: internal
After AngularConnect 2017 I resurrected my Twitter feed and followed all the speakers and Angular core team. I don't know why it took me so long to do this! Overnight I had access to a treasure trove of articles that enabled me to start sharing new ideas within G-Research. This started with small presentations to my team and built up to a lightning talk to all of development about Angular Playground. This was quite a step up in audience size but it went well and I was excited to do more.
Fast forward to AngularConnect 2018 and I was sitting in Track 2 about to hear from Bo Vandersteene about NestJs. Bo opened her talk by sharing that it was her goal, from the previous year, to be on the stage at AngularConnect where she was now standing. When I heard this, I thought, "I would love to do that too!". However, I had the same problem every first time presenter has. What could I actually talk about!?
Around February this year I ran into issues with a custom select component. Our client wanted to be able to add meta data into the drop down but this was polluting the 'shared' component with very specific implementation details. I knew that there had to be a better way but I was struggling to work out what it was! 😕
I knew that I needed something like ng-content to project the meta data into the component, but unlike ng-content, it had to be aware of which option it was being displayed for. It was a really hard thing to search for. Finally I stumbled across ngTemplateOutlets in a blog post by Netanel Basal (you should follow him!) and the rest, as they say, is history.
After using ngTemplateOutlets to re-write my select component, making it truly customisable, I was absolutely amazed at their power. As a result I wrote my first technical blog post and published it internally at G-Research. I was nervous about what others might think of it and if I had made any mistakes. Probably, why still to this day, that blog post has not made it out into the wild. I should probably change that at some point...
It wasn't much later that the Call for Proposals email dropped into my inbox for AngularConnect 2019. As ngTemplateOutlets had made such a difference for me I thought that maybe others would be interested to hear about them too. However, at this time, family life was very busy with lots of extra things going on so I had almost given up on the idea of submitting. After all when was I going to have the time to produce a polished set of slides and script to submit? Yes, that is what I naively thought would be required by the CFP!!!
Luckily I opened the form and was pleasantly surprised that it was a lot smaller than I was expecting. It only required a title, abstract, speaking experience and why you wanted to present. I had a spare hour one morning and filled it in knowing that I had nothing to lose in trying.
In the next few days I saw that there were 15 minute sessions available with the organisers to talk through your submission. I was nervous about this but I knew that if I wanted to give myself the best chance I should sign up. I ended up speaking to Pete Bacon Darwin which was incredibly valuable and helped me improve my CFP. For example, I hadn't filled in the speaker experience sections as I only had done internal presentations. However, Pete told me this was really important to share especially as I had no previous videos of me presenting.
A few weeks later an email came from White October Events saying they were excited to accept my talk! I couldn't believe it! I was both incredibly excited and scared all at the same time. As I wasn't able to provide a recording of me presenting I had a further video call setup with the organisers. I wasn't sure if this was an assessment and so it was quite nerve racking. Needless to say I didn't need to worry, and as far as I know, I wasn't actually being assessed.
In the following weeks I booked a session to present at G-Research which gave me a deadline to complete my slides. About 20 developers came to learn about ngTemplateOutlets and the talk went okay. As I was looking for feedback to improve the talk I asked for people's honest opinion and I got it! 😥 One person said I didn't come across confident, which was worrying, especially as I felt confident giving the talk. This was helpful feedback and I am thankful to the person in my team who was willing to give it as I know it’s not always easy giving negative feedback.
Not long after this practice run the organisers offered to put me in touch with their speaker coach, Valerie Kittel. The cost of the sessions would be covered by AngularConnect so I jumped at the offer for some coaching. I was initially sceptical about how useful the remote sessions would be but I was totally wrong! Valarie is amazing and helped me so much, especially after I gave her a recording of one of my practice talks. She helped me to re-order the content, improve my delivery and even got to the bottom of the feedback about lacking confidence. I can't recommend working with Valarie enough!
I also got in touch with the Talent Development team within G-Research to get some on site advice and presentation practice. They heard my talk multiple times and gave me tips on how to make it even better. Thank you to Jo and Claire!
As the organisers of AngularConnect also run the Angular London Meetup I volunteered to speak at the August event. This was the first time I had presented outside of G-Research and it was nerve racking. Once again I filmed the talk and this time when watching it back I paid close attention to the audience which highlighted the 'boring' parts. Then followed another run through of the talk at G-Research with some of my team who had already heard the talk but were happy to support me by sitting through it again.
As a speaker for the conference I had the offer of staying in the conference hotel but I was not sure whether I should take it up given I commute into London every day. Looking back I am so glad I did because it enabled me to meet so many of the other speakers including drinks with some very recognisable faces.
It was also a lovely way to start the conference finding a welcome note and gift bag full of snacks from the organisers. Definitely made me feel special and really reflects on how well White October Events look after you. Another fantastic part of staying close by is that I had a lovely relaxing walk to the venue which was especially great on the morning of my talk.
A few weeks before the conference I was asked if I would like to be part of the "How to be a conference speaker" expert panel hosted by John Papa. I definitely had some impostor syndrome here seeing that I was on the panel on the first day of the conference and my talk was on the second day!
However, everyone was very welcoming and I was able to provide the complete novice point of view very well! Many thanks to John Papa who spent a long time talking to myself and Naomi Meyer after this session. Lots of great advice and quite overwhelming that he then proactively decided to come to our talks and even draw a visual representation of them too! Really appreciate this.
Liquid error: internal
On day two of the conference I tried to enjoy the morning as much as possible and not spend it all worrying about my own talk. I did a run through of my slides with Dominic Elm in the speaker green room, which probably was more a nerve calming exercise than anything else. Thanks Dominic for listening!
Now after months of preparation it was my turn to take the stage and complete my goal from the previous year. I knew that as long as I got through the first few sentences I should then be on a roll. To be honest, I don't remember much about giving the talk but luckily it’s on YouTube to remind me! One thing I do remember, is that with the bright lights you can only see the first few rows of the audience and have no idea what's going on behind that! So it actually felt like a small audience as opposed to the ~350 people that were there!
Another practical note, when standing on the right of the stage the podium will block the presentation monitor on the floor. That's why you will see me head back quite quickly from the right hand side of the stage in the video. 😏
Once I had finished the talk and walked off the stage I was suddenly hit with a realisation of what I had just accomplished. I had a sudden rush of adrenaline and got the shakes at that point in time! It was then lovely to have people come up and say that they really enjoyed the talk and found it helpful. I definitely feel like I have accomplished what I set out in my CFP application; to enable others to use ngTemplateOutlets to transform their code. I am also a bit overwhelmed by the fact that my talk has been watch 1.4k times! That can't all be down to my mum! 😊
Liquid error: internal
Michiel Kikkert@dutch_guyThanks to inspiration from @CooperDev - I now have an ngTemplateOutlet solution that allows me to dynamically select a template based on a router param. The data needs to be rendered differently based on type, this saves me having to set up dozens of almost identical components!12:34 PM - 04 Oct 2019
Being a speaker at AngularConnect was an incredible privilege and hopefully I have helped others with my talk and 'expert' panel. I definitely would love to do this again and am keeping a closer eye on CFPs for other conferences around the world. Feel free to point me in the direction of any you would recommend!
In finishing I must thank G-Research for investing in me over the last 8 years. Taking me from an intern way back in 2011, to where I am today. I definitely couldn't have done it without some great managers and colleagues who have taught me so much along the way.
Finally a huge thank you to the team at AngularConnect for taking a risk on a first time speaker and enabling me to fulfil a dream!
Below are the resources relating to my talk if you want to find out more about the fabulous ngTemplateOutlets.
Code to demonstrate how to use ngTemplateOutlet, along with ngTemplateOutletContext, to make a component completely customisable.