Thoughts from day one of CLL19 as a first time speaker

I was fortunate enough to speak at Continuous Lifecycle London (CLL19) this year. It’s the first time I’ve ever spoken at a conference and I found it very rewarding.

In the past few weeks, I worked very hard preparing my talk. I had almost expected to be working on my slides solidly right up to the point of speaking. This is probably why I didn’t give much thought to the other talks that I might be able to attend.  On the day, I felt more prepared than expected and was able to watch some really great talks.

Here are some of the thoughts from my experience of the day.

Welcome message - Joe Fay

Joe introduced the event and explained that the committee had reviewed more than two hundred proposals and filtered it down to just thirty nine.  I hadn't realised there had been so many proposals so they just made me feel even more privileged to have been selected.  Around three hundred people were attending.

Key Note - Tanya Reilly - Squarespace

Tanya's keynote was fantastic and left me feeling very inspired.  She started off by saying that although we were all here to learn new things - how many of us are actually here right now in the moment (i.e. how many of us are not distracted, thinking about other stuff like work etc etc).  

Tanya made the point that in our quest to deliver things faster we sometimes lose track of why we are doing it.  Peter Drucker once said "There is nothing so useless as doing efficiently that which should not be done at all" which is a very convincing argument for (as Tanya explained) taking the time out on occasion from "continuous" and allowing yourself to reflect.  Tanya does this by riding trains.

By the end of her talk - she said "and now we are all here" - this was a powerful message as I found that I had been engaged and was now present in all senses of the word.

Her slides are all available here.  Looking at them again, I realise how much of an art-form creating a compelling slide deck really is.  I know they're good, but I can't even explain why.  Does this mean I have graduated with flying colours from the unconscious incompetent to the conscious incompetent stage?

Mike Bursell - Why container security isn’t about security of containers 

Mike's main point was that when people ask about security in containers - they are actually asking about isolation.  Mike's blog can be found here.  I'm not sure how he was able to create such a well thought out post on a news article that (as far as I know) was only released earlier that day

Continuous(ish) Delivery in cloud-based banking - Jason Maude - Starling Bank

Jason's talk was very interesting and went from the high level issues facing tech teams at banks (namely trust and how to maintain it) all the way down to architecture details that actually achieve Continuous Delivery AND meet regulatory requirements.  Really impressive stuff.  I must read more about the DITTO (Do Idempotent Things To Others) architecture principle.  I can't find a link to his slides at present but I did find this: from one of his previous talks - well worth a watch.

Practical Prometheus: Lessons learned from a year in production - Marcus Barczak Fastly

I missed Marcus' talk and wished that I had seen it around a month or so before I started preparing for my talk.  My talk (see below) was all about how and why to run acceptance tests as monitors in production.  Our tool (that can be used for this - atam4j) relies on a monitoring framework to invoke a HTTP endpoint that exposes the test results.  We originally wrote this with Nagios in mind.  In preparing for my talk, I realised that Prometheus has gained a lot of popularity and works in a very different way to Nagios.  Despite having no practical experience with Prometheus I started work on adding support for it here.  I stopped when I questioned if what I was doing made any sense.

I had a chat with Marcus after my talk and discussed the pros and cons of various different options for monitoring in general.  It was great to hear that Marcus is very pragmatic on this.  Despite Nagios' bad reputation (see Andy Sykes' funny video) he acknowledged that it can still be a good tool for the job.  Also, he explained that adding support for Prometheus to atam4j could be beneficial and certainly made sense.  If anyone is interested in this - please add a comment on the github issue.  

Acceptance Tests as Monitors - Me!

I talked about why you'd want to run acceptance tests as part of your monitoring in production.  To detail the challenges that this involves I decided to create a hypothetical website that I felt would be a good candidate for monitoring.  My slides are available here and the code from my talk (the plane selling website with tests) is here.  The atam4j library can be found here.  I also need to thank Jonathan Rankin on for his kind permission to use his great photos.

On reflection, I think my talk went well.  I was very anxious about having some kind of equipment failure or stumbling over my own words.  Neither of those things happened but I have to admit that at one stage I lost a little confidence.  My talk involved slides, a "live demo" (me showing tests and running them from my IDE) and then back to slides.  I think the slides worked well, but during the live demo I suddenly felt (rightly or wrongly) that I had lost the room and was bombarding the audience with too much detail.  I decided (there and then) to cut a few things from the talk.

I was hugely pleased that people asked questions at the end and also that people chatted and asked questions afterwards.  Thank you so much to those that attended - I really hope that the talk was of benefit to you.

How-to keep legacy simulation codes alive and continue developing them - A continuous integration process for a nuclear safety analysis code system - Joachim Herb - GRS

I was disappointed that my talk clashed with Joachim's as I really wanted to see it.  I love legacy systems because they are the survivors!  When Joachim or CLL post the slides I'll make sure to update this blog with a link to them.    

The importance of fun in the workplace - Holly Cummins

A talk about fun, that I found really insightful and fun!  I will always keep in mind that a fun/happy environment can help people's productivity by 30%.  Holly also made it very clear that adding forced fun to a bad work environment is a recipe for disaster.  The first step in making a fun work environment is to remove the boring stuff that is quite often a red flag for an activity that adds no value and should be automated.  A great talk which definitely got me thinking.

How to be a great Incident Commander - Elisa Binette and Beth Adele Long - New Relic

Dealing with incidents can be very challenging.  There can be lots of stress, frustration and complexity with many moving (and breaking!) parts to manage.  I'd not heard the phrase Incident Commander before there talk, but formalising the role makes a lot of sense.

Good incident commanders will:

  • Regulate emotion - Stress and Anger just helps people fight, run away or curl up into the fetal position - not great for problem solving.  
  • Regulate the control and flow of information - You don't want people closest to the problem having to spend all their time repeating themselves!
  • Have a technical mindest - Can challenge assumptions and understand theories.
  • Be familiar with the "explodey bits" - This made me laugh!

Some other points:

  • Blameless culture - If it's one person's mistake then it's also the fault of the process that allows a single mistake to cause an incident.  Therefore, it can never be just one person.

This was a great talk and made me think of a few incidents I have seen in my career.  Keeping calm can be hard when you're aware of the impact and also the possibility that it might be your team's code that is being "explodey".  Having a blameless culture and people around who diffuse things always helps in both short and long term fixes.

Final Thoughts

The last conference I went to was QCon 2014.  Since then, I haven't been able to justify to myself the time and expense of going to another one.  I left this conference feeling really inspired with fresh ideas that I'm now keen to put into practice.  I'd definitely recommend attending a conference like CLL or QCon to top up on inspiration, learnings and fun.

Thanks again to all those at CLL19 for giving me the opportunity to speak.  It was a great experience.


Popular posts from this blog

Lessons learned from a connection leak in production

How to connect your docker container to a service on the parent host

Client Side vs Server Side Session