Review of 2019 (with a bit of a look ahead to 2020)
I don't often do reviews of the year. But with the decade ending and a lot changing in 2019, in terms of the content I create specifically, it seemed like a good idea!
January was a big month for me. I spoke at NDC London for the first time and got to mingle with some incredible members of the community, old friends and new.
Amongst the many friends I have on the speaker circuit, I also got to meet Jon Skeet, Alex Dunn (a long time Xamarin community friend I had yet to meet), David Fowler of ASP.Net and SignalR fame and many others. One personal highlight for me was meeting the incredible Scott Hanselman.
In fact Scott invited me to join him for lunch so I got 1:1 time with a Microsoft hero. Woah! We had a really interesting conversation about all sorts from the obsession with stats in Developer Relations roles, to diversity in the .NET Foundation. That latter conversation led onto something I will cover later in the post.
My talk went really well and it got positive feedback. So much so that I am in fact speaking at NDC London 2020 too!! This time joined by one of my tech besties, speaking professional, Developer Evangelist and all round amazing person Layla Porter.
While at NDC London 2019, I was also able to help out on the Microsoft stand, in my role as a Microsoft MVP. We had some technical challenges to overcome but lots of great questions were asked, that led to good conversations. I sometimes worry I don't have the knowledge to answer questions at a stand as popular as Microsoft's, but thankfully it went well and I seemed to be able to point people in the right direction. Tip: docs.com ;)
At the beginning of the month however, I did release a short blog post inspired by my time at NDC London. I attended an excellent talk by Jim Bennett on F# and Xamarin with Fabulous. However I was using ZSH as my shell of choice and faced issues with Live Reload. Thankully I quickly found a solution and this post shares that solution.
March started to pick up a bit as I got involved in something I touched on in the January section.
One of the things Scott encouraged me to do during our time together over lunch, was run for the .NET Foundation Board of Directors. They would soon be opening up the Board of Directors to a vote, so that a few new members, from more diverse backgrounds, could be on the Board. This way the Board better represents the people they are trying to represent in the .NET community.
So a lot of March was taken up with preparation and the vote itself. During this time I answered community questions, tweeted about it and took part in a podcast about what I would bring to the Board.
However I did find time to fit in some public speaking. A colleague and friend here in Manchester, helps organise a functional programming user group, and in March they were looking for a lightning talk speaker for the following week (from the date I saw his request). So I signed up for a brand new talk (as you do in a week!) this time on Xamarin with F# and Fabulous. Jim's talk at NDC had really had an impact on me and was my inspiration for the talk.
April was pretty quiet again. However I was present for the first Twilio Quest Tea Party to be held here in the UK. It fact, it happened in my city, in a venue so close to my house that I walked to and from (even though I inherited the leftovers of an amazing, and quite large, rainbow cake :D)
For those of you who don't know, Twilio Quest is an amazing learning platform from Twilio, that allows you to learn some basic programming, but also introductions to their products, from an amazing standalone game!
The standalone game wasn't released at this point, so we used the website, and followed through the tutorials, each earning points. However now the game is out, I highly recommend you try it. It even has awesome 16-bit music they made themselves!
Unfortunately in mid April I hurt my foot somehow. At first they suspected a broken metatarsal (check me getting a footballer injury!), however it didn't appear to be broken. Strangely it was as painful as a break in many ways as I was unable to walk, but it also seemed to heal itself remarkably quickly. Which was great as I had a few things coming up in April I wanted to be able to do.
I spoke at my friend Steve Gordon's user group, DotNet Southeast, based in Brighton. This allowed me a trip to the seaside and the obligatory fish and chips and a toe dip in the sea! My foot still hurt a little but no crutches, yay!
I also spoke at my first DDD, giving my Zero to Mobile Hero talk, which is an introduction to Xamarin and Cognitive Services. This was at DDD Southwest that happened one Saturday in Bristol. I decided to do this trip in a day so I could avoid the expense of hotels. It was quite a long day but totally worth it as I yet again got to see friends from the speaker circuit. I also finally met Bibi, who I had heard plenty of lovely things about, but never met.
My biggest highlight of April however, was becoming a Twilio Champion. This is similar to the Microsoft MVP program, but for advocates of Twilio. By this point I hadn't done much with Twilio but my community contributions in other areas, seemed to qualify me for the honour. Thanks definitely go to Layla for this one, who not only nominated me but advocated for me to be awarded. I wasn't even aware it was happening until I was accepted! Thank you Layla and everyone at Twilio!
I turned 30 in May 2019, so I had a quieter month, instead focusing on the other parts of my life and just reflecting.
I did however talk at two user groups. The first was a first for me, I gave my first remote talk. This time with the Rochester Xamarin User Group, run by my Xamarin community friend Andrew Hoefling. I gave a talk on how I use Xamarin and Cognitive Services when I travel. I first gave this talk at Xamarin Expert Day 2018 and even now when I am with my European Xamarin friends, they remember my app and get me to translate menu's (some are fluent, just like to have fun).
Giving a talk remotely was actually not as bad as I expected. Thanks to apps like Reflector, that let me show my iPhone screen on my Macbook Pro, I could carry on as if the attendees were with me.
As mentioned in March, I gave a lightning talk on Xamarin, F# and Fabulous. Following on from that talk, I was approached by the local F# User Group here in Manchester, to see if I would be interested in giving a longer version of this talk at their group.
This happened in May and I thoroughly enjoyed myself. One thing all my public speaking experience has taught me, is that the audience, especially at user groups, really wants you to succeed. I am not an F# developer at all, I just happen to like some of the paradigms so wrote a talk about it. So I was actually getting help, and learning things from the audience during my talk. It was so lovely!
June was by far my most hectic month of the year. I think I was doing at least one thing every week and not all of it was in this country!!
In the first week of June, I was priveleged enough to have two posts feature on the Twilio Developer blog. They are all part of a series that is ongoing, on Xamarin development. The first post was how to get up and running with your first application, then shortly after that, how to deploy and run your first app was also published. Both of these posts took a lot of planning, work and back and forth with an editor so it was a proud moment to see them go live for a tech company as large as Twilio.
The next 2 weeks feel like a bit of a blur, and led to a post I have since lost (more on that later), but it involved me speaking in 3 countries (Germany, England and Belgium), giving 4 talks over 7 days!
This was because on Friday 14th June, I was in Munich for Xamarin Expert Day, then the following week I was involved in the Microsoft Insider Dev Tour. This is a Microsoft event, organised and run by Microsoft MVP's, who give talks with provided content. The idea is to have events around the world, to summarise the announcements from Build in May, without asking employees to travel yet again, after the pressure that is Build for them.
I was in London on the Tuesday, Manchester on the Thursday, which I had to leave early following my talk to head to the airport, so I could catch a flight to Brussels, to speak in Mechelen on the Friday. Busy busy!!
June ended on a bit of a sour note for me however in terms of my blog. I was possibly more tired than I realised and not thinking straight. I was inspired after all the talks I saw at the Insider Dev Tour events and decided to play around a bit more with Azure App Service and Azure Functions.
However Visual Studio for Mac has a tendency to not display available resources in your Azure subscription properly. So when I went to right-click -> publish something from inside VS (you know, the thing friends don't let friends do), I didn't see what I was expecting. I only saw a service called CodingWithLuce. So I thought "Ah well I will just use that for now until I can solve why the other isn't appearring". Yeah bad idea. I had just written over my blog! facepalm
Thankfully a large chunk could be rescued, thanks to previously being hosted in Ghost so they still had some posts that could be exported. Sadly however I lost a handful of posts from 2019, including two in June on switching to iOS from Android after years, and my post on travelling and talking so much. I also think the theme might be slightly off still as well.
NEVER CODE TIRED FRIENDS!!
July was a fun month for my content! As well as giving a talk at .NET Liverpool, run by an old uni friend Josh Duxbury, I moved to more regularly creating content on Youtube.
I have previously created a Youtube channel, however I never really posted much to it. This changed on the last day of July as I posted a video on how to get custom gradients in the flyout menu of an app that uses Shell in Xamarin.Forms.
It was only a short video, which has always been my goal with my videos. Short but informational. I had been confused by the topic and finally understood how it worked, so created a short video to share what I had learned. My favourite kind of video, knowledge sharing!!
July was also the month I took my first beach holiday in 15 years! My mum and I went to Northwest Greece and had the most wonderful week long holiday together. The food, country, people and company were all exquisite and I very much enjoyed no social media and reading lots of books!
This tradition of posting videos also continued into August, where I created a video on contributing to Xamarin.Forms (since it is all open source). Again, it is just a short knowledge sharing video.
I also created one on Getting Started with the Twilio CLI, following it's announcement at their annual conference, SIGNAL. I was trying to commit to a schedule of releasing a video every Wednesday, so this tied in perfectly as a video, as it was announced on a Tuesday. Because I made content on a product the day after announcement, it gained quite a lot of chatter amongst the community including at Twilio, which was very kind!
I managed to keep up my Wednesday upload schedule for a few weeks in August, adding one the following Wednesday, on Twilio Conversations, which was another exciting announcement from SIGNAL.
I had started to look into contributing my first PR to Xamarin.Forms (yet to happen), and I was getting build errors. So I set up a call with Gerald on the Xamarin.Forms team. It turns out I was just building more than I needed to, but I knew others would face this so created a video.
Back in May, I had switched from copper broadband, to 4G Home Wifi. I got the same download speed (a poor 13mbps) but better upload (~7mbps vs < 1), which allowed me to finally try my hand at streaming.
This all kicked off in August. I created a Twitch channel dedicated to coding and began to stream on Monday evenings at 7pm UK time. This wasn't always ideal for global audiences but it was a time that fitted with my schedule, and meant I knew I was free other days of the week, to watch the streamers I love.
I started off streaming Twilio content. Mainly working through the new Twilio Quest 3 I mentioned in April. It has lots of missions you can go on, so I tried to do one or two missions each stream. Streams usually lasted about 1.5hrs so plenty of time to try things, learn and interact with the community.
Dave Evans. a fellow "Xamarin MVP"and good friend, runs the Birmingham .Net and Xamarin User Group here in the UK. When he kindly invited me to speak at the inaugural event after a relaunch, I couldn't possibly say no. New venue and new enthusiasm!
My streaming continued into September, where I moved on to creating apps with Xamarin. This was a lot of fun and led to trying out a few different ideas, and introducing members of the community to Xamarin.
September was also a busy organising month. Two good friends of mine locally and I, organise an unconference each year in September, called BarCamp. The idea behind BarCamp is that there are multiple tracks, with slots of about 15-20 minutes for each talk. Sounds normal. The difference however is in it being an unconference. At the start of the 2-day event, we have an introduction session where we explain the format. But still at this point we have no talks.
After this session, the 'grid' is open. Attendees can grab an Index Card, write down a talk and add it to the grid. So the attendees are also the speakers (if they want to be, it is not compulsory). There is no rules on content, we just ask that anything that might be considered sensitive, be clearly marked on the card.
Once the day's schedule is put together, the fun begins. People can attend any talk they wish, if it's not what they expected they can even leave in the middle of it. But it leads to the most wonderful array of talks from cheese making, to balloon animals, to coping with mental health, to creating robots!
The same happens again on Day 2, often with attendees being inspired and deciding to give the whole public speaking thing a go! In fact I even stood up on Day 2 myself, and gave a short talk on how software development saved my life, and how it can hopefully give hope to others.
I very much look forward to organising BarCamp 10 (X? 1010?) in 2020 with Claire and Chris!
As Winter hits, I tend to find my mental health dips and my motivation drops. I definitely get far more done when the warm weather and sunlight are commonplace!
For this reason, I tend to let my contributions drop off and focus on myself. I still get involved in the Weekly Xamarin newsletter, but apart from that I just play lots of video games and enjoy other people's content instead of focusing on my own.
I also made my 3rd consecutive Xamarin Expert Day in Germany. This was in Cologne again and I learned my lesson from last time about catching flights to/from Dusseldorf, it's further away than you think!
I was giving an updated version of the talk I gave at the Munich edition in June. This time the whole event had an extra special guest, James Montemagno! Despite editing for him regularly and being the longest sponsor of Merge Conflict, I hadn't actually seen James since May 2018 so it was lovely to catch up.
My talk was quite stressful. I had issues with Linker, Hot Reload, iOS and Intellisense, ugh! However I was able to resolve it all shortly after my talk finished (typical). You can actually read what I learnt from this experience here.
The mental health drop doesn't just affect my 'second job' however, it also tends to affect me at work too. I found myself unhappy/overwhelmed in my role at work, so I tried my hand at developing on another project. However that team wasn't quite for me either and I felt like I was burned out, Imposter Syndrome had won and I needed a break. So I started temporarily trying out being a QA. So far so good!
I have been able to follow logical instructions, learn something new and best of all, write documentation! So much stuff wasn't documented that really should have been. My temporary manager was over the moon and nothing but supportive. She didn't feel qualified to write everything down herself as English isn't her first language, so she was thrilled that I wanted to.
This year, I definitely have to make a special shout out to my good friend Corey Weathers, who regularly streams 2 or 3 times a week. One of the big parts of my mental health survival was the routine of his streams each week and the amazing community that is present in his chat each and every stream.
In fact, Corey and I are like overexcited children when we get chatting. We are both quite excitable and passionate about the community and coding, and it led to a very interesting call just before Christmas, where we started planning some super exciting stuff for 2020, that could well involve me guesting on his stream and vice versa! We have a few project interests in common, so watch this space! ;)
Looking ahead to 2020
So as I write this, it is 6th January 2020. I have just had my first day back at work, still in my role as QA. Due to the Christmas period, there isn't much to test at work at the moment which has allowed me a nice gentle return, catching up with colleagues and writing some of this blog post!
We never know what the future holds so I am not going to make predictions, but there are a few things I want to try and do more consistently in 2020 so I thought I would write them here:
Publish new content every other Wednesday to Youtube - This might not be as simple as I hope, as it relies on having content to share. So feel free to make suggestions from short video ideas in the comments!
Stream more - At the moment, my streaming is on hiatus. Between Winter and my coding confidence taking a knock, I just haven't felt up to sitting there for 1 - 2 hrs while people watch, or nobody watches, me flap about. I would like to get back into this in 2020, but when it feels like fun and not something I dread!
Give more talks with friends - I already have a talk planned at the end of the month with Layla, but I also have plans to give a talk with the wonderful Maddy Ledger this year. We have agreed to give a talk together, just not decided where or on what yet. We were both a bit tired at the end of 2019 and it is only January, so plenty of time yet!
Blog more - Last year, blogging dropped off a bit as I focused more on public speaking and video content. This was made worse by overwriting my blog and losing some posts. However this year I do want to try and provide more written content.
4 seems like a reasonable set of "New Year's Resolutions". I am hoping to keep to these, but see you this time next year to find out! ;)