Proposed Talks for DDD South West 2020

There are currently 28 proposed talks for DDD South West 2018. Interested in speaking this year? Why not register and propose a talk?.

Transforming the impossible - a successful Lean story

by Matteo Emili

What happens when you try to transform a team which really wants a waterfall approach? How difficult is it to transition to an Agile way of working, with tangible results? This sessions covers a 12 month period where a team was completely transformed from traditional waterfall to proper Lean, as well as all the errors and the mistakes along the way.

Automations and a touch of DevOps for a fully resilient IaaS cloud estate

by Matteo Emili

This is the real world story of how to make a large IaaS cloud estate run without breaking the bank. Automations, DevOps and modern engineering practices are the main actors of this story.

Let’s move to pipelines as code, it’s about time!

by Matteo Emili

Moving to YAML pipelines should not be daunting, to the contrary - there is so much goodness to unlock that I find really difficult to hold back. Let's take them for a spin on both the CI and the CD side, and we can figure out how to migrate to them in a sustainable way.

How to make security pervasive without falling into the DevSecOps trap

by Matteo Emili

DevSecOps is becoming more and more the buzzword of the day - but is it really 'the silver bullet' for software engineering? How do we implement security practices in DevOps? Do we need extra buzzwords? These and more questions will be answered in this talk!

CQRS and event sourcing in serverless Azure

by Duncan Jones

Using Azure serverless functions, Event Grid, CQRS and event sourcing to build an extremely low cost system that scales to meet demand.

Introduction to event sourcing

by Duncan Jones

An introduction to the idea of “Event Sourcing” and discussion of how you can use it as the basis for a distributed system. Emphasis on the underlying ideas rather than focusing on a specific framework or language. Beginner’s level talk, almost no code but mostly diagrams, discussion and Lego.

Building Language Parsers with ANTLR

by Alistair Evans

As software engineers, we often find ourselves wanting to parse something. A regex might get us a little way, but we hit problems as soon as anything gets even slightly complicated. To do things properly we need to build an actual parser. This talk will introduce you to the ANTLR parser generator, which lets you quickly create a powerful language parser, and we'll actually create a couple of parsers in C#, from scratch, in the session!

Building event driven system with Kafka

by Tomasz Bartoszewski

You likely don't need Kafka. Yes, you've read that right. But it's still useful to understand how it works and what makes it scale well. I will walk you through building producers and consumers, partitioning and replication. We will have a look at retention of data and log compaction. By the end of the session you will understand principles behind Kafka and when it's a perfect tool for the job.

Satisfaction with abstraction, from individual contributor to leadership

by Gwen Diagram

What are the attributes of a great leader? An image that often comes to mind is JFK and his speech about the moon landing. Someone who can bring others along with their ideas. However, there is a lot more to being a great leader than just selling ideas. Leadership should also focus on caring for others and helping them to become the best that they can be. Gwen moved from being an individual contributor to a leadership role a few years ago. Moving from being an individual contributor on a team to being in more of a support function is hard. It’s easy to put pressure on yourself to be the superhero and as with the superheroes in comics, it's tolling on your mental health. Most people get energy and satisfaction from working together in a team or completing tasks but, when the team is taken away and the tasks are abstract, how can you continue to get satisfaction?

Cynicism Doesn’t Build Products

by Gwen Diagram

How many software products have you worked on that have been ruined by cynicism? Not just scepticism but downright cynicism. As a software tester, a large part of my role is to be a skeptic but sometimes this crosses over to cynicism. Identifying risks in code, architecture and products is helpful, dismissing ideas is not, especially as this behaviour can rapidly spread. What if the team becomes cynical? How can we break out of the cycle and actually start building software? It’s very common for a team to pick up a piece of software and look at what has been written and decide, it’s simply trash. People believe that it can be built better. That the tools that the seemingly legacy software was built in have been superseded and the product is no longer fit for purpose. Cynicism for what is deemed as legacy but optimism for the brave new world.

Gwen will look at cynicism, scepticism, optimism and more as attitudes to building products, legacy and green field. She will identify some attitudes that help build, strong, long lasting products. If cynicism isn’t cool anymore, then what is?

Anatomy of ASP.NET Core Requests

by Steve Gordon

Have you ever wondered how a browser/client request actually results in a response from ASP.NET Core? Have you ever been constrained by the default behaviour of ASP.NET Core and wanted to change how it works? If so, then this talk is for you.

Building Microservices with .NET Core

by Steve Gordon

In this session, Steve will introduce techniques for building a microservices architecture with .NET Core. Learn from some hard learnt lessons about what not to do and what to focus on. Steve will introduce the new worker service template in .NET Core 3.0 and show how it can be used to build robust worker services with ease.

Beyond HTTP in ASP.NET Core 3 with gRPC

by Steve Gordon

In this session, Steve will introduce you to gRPC, a modern, high-performance RPC framework for inter-service communication. We'll look at how gRPC stacks up against existing REST-based communication and explore the benefits this technology has to offer.

Getting Started with Unity and AR/VR for the .NET Developer

by Davide Zordan

At DDD, I will present what I learned building a small game, set in a mysterious dungeon using Unity and the SteamVR plugin. We'll explore how to import assets from the Unity store, how to implement locomotion techniques and interactions using the motion/touch controllers, including some tips for optimising performance and avoid motion sickness.

Evolutionary architecture in the natural world


Nature has developed extremely complex systems that can be significantly more complicated than the ones we build. The aim of this talk is to look at how nature has solved problems that we face today and to identify areas where we can aim to do better. Would you consider yourself to be a monolith or a system of microservices?

Write Better JavaScript with Unit Testing

by James Bender

Most developers don't unit test their JavaScript, mostly because they don't know how. This session will give you the knowledge you need and show you the tools that will help you write better JavaScript with unit tests.

Building REST API of Your Dreams

by James Bender

This session will demonstrate the most common anti-patterns used in building REST-based API's and how to avoid them.

I Promise to Give You a Callback if You’ll Just Await: Working with Asynchronous JavaScript

by James Bender

This talk will demystify how the JavaScript event loop handles asynchronous calls, the various methods to create/manage async calls, and a look at where the language is going in terms of async.

From Event Storming to Working API Microservice

by Andrew Young H Chaa

No fancy airy fairy talk of concept. I will share brutally honest, down-to-earth journey of building a microservice from scratch. We will start from event storming, defining events and behaviours they trigger, and finish with working API endpoints, domain events, event handlers, and integration service bus messages.

Outbox Messaging Pattern for performance and message reconciliation

by Andrew Young H Chaa

Don't slow down your APIs by raising events at the end of the request. Go for Outbox pattern and raise events from a separate worker process for performance and resiliency.

Machine learning in the browser with TensorFlow.js

by Håkan Silfvernagel

In order to start out with machine learning you typically would need to learn Python, Tensorflow, Jupyter Notebook etc. But what if you could run your machine learning straight in the browser. This can be done through Tensorflow.js. In this session you will get an introduction so that you can use it in your own projects.

Why you should consider Web Assembly in your next frontend project

by Håkan Silfvernagel

During the last decades more functionality has been pushed into the client by using the latest JavaScript framework. But what if we could be using native code in the browser in order to run computations faster and reuse backend code in the frontend? Web Assembly can help you achieving this.

Affective Computing – bringing humans and machines closer through emotions

by Håkan Silfvernagel

Emotions play an integral role in decision making, cognition, perception, learning and more. Affective computing is a field with the goal of making our computers aware of our emotions to be able to better interact with us. Affective Computing brings humans and machines closer through emotions.

An Introduction to the use and creation of GitHub Actions

by Richard Fennell

An overview of GitHub Actions for people new to them, including a demo of their creation. Followed by a discussion, and demonstration, of how to convert a custom Azure DevOps task written in Node.JS to be a custom GitHubAction hosted in the GitHub Marketplace - what works and what does not.

Building next generation web apps with Blazor

by Chris Sainty

Blazor and WebAssembly are game changers. Developers can now write powerful client-side applications using C# running directly in the browser. In this session, we'll go beyond the theory and see what it's like to actually write Blazor applications - exploring loads of great features along the way.

What is Blazor? And why’s it so exciting?

by Chris Sainty

Blazor! Microsoft’s game changing new front-end framework for building single page applications using C#. That’s right, C# running in your browser. No plugins, transpilation - this is not Silverlight or WebForms 2.0. Come learn what Blazor is, how it works and how it could be the last framework you’ll need.

.NET Core Dependency Injection – The Booster Jab

by Steve Collins

So you've got to grips with the basics of Dependency Injection in .NET Core? Join Steve Collins for a whistle-stop tour of how you can avoid some pitfalls, go beyond the basics and even get a bit Func<T>ional

.NET Configuration is Easy ... Right?

by Steve Collins

Join Steve Collins on a trip through application configuration from .NET Framework 1 to .NET Core and learn how to apply security, design patterns and SOLID principles to your configuration along the way. There's a lot more to configuration than meets the eye!