After a hiatus of over two years due to the pandemic, NDC London returned this week to an in-person conference. After attending many virtual user groups, conferences, and training courses, it was great to meet up again with friends I’ve got to know through attending conferences over the years (and also a few former work colleagues as an unexpected bonus). The conference itself didn’t feel any different from the previous NDC London events I’ve attended, with a great venue, lots of interesting talks, and some excellent hospitality laid on by the organisers.

Here are the sketchnotes that I made for the talks that I attended.

The Last Twenty Years Of Software Development

by Richard Campbell Twitter

The Last Twenty Years Of Software Development by Richard Campbell

Richard went over the history of the past twenty years of software development, demonstrating how both technology and the big companies have changed in that time period. What was notable was the acceleratation in the pace of change in technology over the latter half of the timeframe.

The Curious Incident In Your Software In The Daytime

by Liam Westley Website Twitter

The Curious Incident In Your Software In The Daytime by Liam Westley

Liam discussed how to deal with incidents that happen with your software. He covered the kind of things that you should consider having in place to deal win an incident, and showed some example incidents and how they were dealt with. One thing that stood out from the examples was that having extensive detailed logging helps to inform about what has happened, and what data is affected. He also discussed points of failure that many people wouldn’t even consider, such as Slack being down or maxing out a credit card that is needed to pay for more resources.

The Untruthful Art - Five Ways Of Misrepresenting Data

by Alexander Arvidsson Website Twitter

The Untruthful Art - Five Ways Of Misrepresenting Data by Alexander Arvidsson

Alexander used many humourous examples to demonstrate how data can be displayed, or even manipulated, to give an incorrect representation. He also stressed the importance of considering any agenda that the author may have when creating the visualisations.

Wearable Live Captions

by Jo Franchetti Twitter Slides Code

Wearable Live Captions by Jo Franchetti

Jo demonstrated her live captioning face mask - a wearable face mask that she built to enable her deaf mother to read what she was saying while looking at her. Traditional captioning technology relies on reading what the speaker is saying from the phone screen, making it diffuclt to look at someone when they are speaking. This is different in that the phone uses Azure Cognitive Services to convert the speech to text, and then sends the text to and LED panel in the face mask via bluetooth.

The Visible Developer

by Heather Downing Website Twitter Slides

The Visible Developer by Heather Downing

This talk was all about having a “developer brand”. Life isn’t fair, and it isn’t sufficient to work hard and be a good developer. If you do only that, you will not get recognition for your achievements. Heather encouraged people to make sure that other people know what you have done, and talked about several ways of doing this.

Roslyn Source Generators

by Stefan Pölz Twitter Slides Video

Roslyn Source Generators by Stefan Pölz

Stefan went through several uses for Roslyn source generators, and how to use them.

How The Fastest Growing Companies Develop Their Public API

by Josh Twist Twitter

How The Fastest Growing Companies Develop Their Public API by Josh Twist

This talk was about making a public API on the web. Josh covered several of the key things that need to be considered when making a public API, and presented some possible solutions. One common solution for all of the considerations was an API gateway. He then demoed the Zuplo API gateway, something that Josh created after working at companies like Microsoft, Facebook, and Stripe.

Design For Developers

by Lex Lofthouse Website Twitter Slides Video

Design For Developers by Lex Lofthouse

Lex covered several of the core design principles and theories for presenting content, with lots of resources to draw from for example content.

Tracking Database Changes With Apache Kafka

by Francesco Tisiot Website Twitter Slides

Tracking Database Changes With Apache Kafka by Francesco Tisiot

This talk covered how Apache Kafka can be used to track changes to a relational database. Francesco used a worked exampled to decouple a production transactional database from other potential uses such as data analysis and reporting, using Kafka log streaming to synchronise the data into a separate data store. He then introduced Debezium to track changes to a database without the need for polling.

Failure Is Always An Option

by Dylan Beattie Website Twitter

Failure Is Always An Option by Dylan Beattie

Dylan using the famous “failure is not an option” quote from Apollo 13 as inspiratino to highlight how we should always consider failure as an option in software systems, with examples from history of how failure modes were anticipated and came to be needed later.

Nevermind The Containers

by Rob Conery Website Twitter Code

Nevermind The Containers by Rob Conery

This talk was centred around the Remote Containers Visual Studio Code extension from Microsoft. This extension allows the configuration of a development environment using a devcontainer.json file, which when run with the extension spins up a Docker container with VS Code running inside it, with the UI running on the host machine. Rob did a very slick demo of how to set it up and use it using his Ruby-based blog as an example.

Fractal Architecture

by Mark Seemann Website Twitter

Fractal Architecture by Mark Seemann

Mark talked through his latest thinking on developing easy to maintain code, which he has captured in his latest book. Using theroies about the human memory and its limitations, he introduced the concept of a “hex flower” to represent the 7 elements that fit in your head when reading code. By breaking code down into small enough parts to fit into these shapes, it allows a software system to be seen as being composed of hierarchies of these systems that fit together to abstract behaviour.

Software Lessons From Aviation Disasters

by Adele Carpenter Twitter Slides

Software Lessons From Aviation Disasters by Adele Carpenter

Adele talked through two examples of flights that went wrong, and linked them to their underlying causes. She compared these to the world of software as things to look out for.

Team Topologies, Software Architecture And Complexity Science

by James Lewis Twitter Video

Team Topologies, Software Architecture And Complexity Science by James Lewis

James talked about how most software companies get slower as they grow due to an ever-increasing number of processes and levels of hierarchy, and compared them to Amazon who are quoted as saying “the bigger we get, the easier it becomes to get bigger”. He then went through some of the reasons as to why Amazon can achieve this, with analogies drawn from city planning and biology.

Marvels Of Teenage Engineering

by Anders Norås Website Twitter

Marvels Of Teenage Engineering by Anders Norås

Anders took a nostalgic look back through development over the past forty years to highlight how the early developers honed their skills, and how seeming impossible things were achieved through perserverance and experimentation. He then lamented about how that is no longer the case as modern developers typically start coding much later in life, and don’t hone the curiosity that they would have if they were to start younger.

I’m Gonna Make You Stop Hating CSS

by Lemon Website Twitter Slides

I'm Gonna Make You Stop Hating CSS by Lemon

Lemon showed some things that CSS does poorly, such as the CSS is awesome meme, how people tend to fix them, and how to fix them in very simple ways, some of which required only a single line of CSS.

How To Close The Diversity Gap

by Heather Wilde Website Twitter

How To Close The Diversity Gap by Heather Wilde

Heather talked about the diversity gap in the majority of tech companies, and some of the things that can be done to reduce it. She used many examples from the WeCrashed and Super Pumped Tv series to demonstrate the issues.

ASP.NET Core Beyond The Basics

by Chris Klug Website Twitter Code

Chris did a talk consisting of 100% code (hence the lack of a sketchnote), showing how to do some of the more advanced things with ASP.NET Core. These included:

He also used the Insomnia API client during his demos, which looked like a more lightweight version of Postman.