Joel Hammond-Turner

Joel Hammond-Turner

Chief Solutions Architect, Landmark Information Group

Tadley, United Kingdom


I've a very broad experience of software development over 20 years and a passion for both technology and elegance in my solutions that make me an extremely capable Software and Solutions Architect.

Personable and professional, I revel in complex challenges, but always make time to coach and mentor team members.

Area of Expertise

  • Information & Communications Technology


  • .NET
  • Technical Leadership
  • Dependency Injection
  • Azure
  • Consul
  • Logging
  • DevOps & Automation

To Consul or not to Consul - Getting started with Consul.io for Service Discovery

We're all developing microservices these days, and scaling in all sorts of directions - but even with only a few decoupled components you need to get the plumbing right. Enter Consul.io - your go-to tool for service discovery.

In this session, I'll briefly explain the High Availability architecture employed at Landmark Valuation Services, and how we've used Consul.io to provide discovery, monitoring and load-balancing for our services across an environment that spans two geographically separate data centres.

It's not all slides and pretty pictures tho'… I'll also show you how easy it is to get started with Consul.io as a developer, with dockerised .Net services for a maximum points score.

Getting your Splunk on - a developer's guide to Splunk

Splunk is a magical tool - it sucks in your logs, indexes them and gives you a rich search and data mining application to drill deep into them.

But as a developer why the heck would you want to use this sort of tool - surely that's something for Operations?

In this session, I show how using Splunk whilst developing can give insight into your code - how to time transactions, graph volumes and analyse performance - and how Splunking as a developer will make life in production that much easier - because you'll already know how to answer those knotty questions your management will inevitably ask.

Azure In Action - CosmosDB, Functions and ServiceBus in Perfect Harmony

There's so many parts to Azure, it's sometimes hard to decide what to use and when.

Do I use TableStore or CosmosDB? Would BlobStore be better? Should I host a full-fat .Net service in a VM, or stand up an ASP.Net Core WebApi? What about functions? The choices are myriad.

In this talk I'll describe how at Landmark we made these kind of decisions as we implemented some new features in our product. I'll talk about the questions you need to ask to make those decisions, where we went wrong, and how we succeeded in the end.

I'll describe in detail how we used CosmosDB, Azure Functions and Service Bus together to provide a Compliance Audit trail feature that would scale properly, work reliably, be trivial to use, and that wouldn't break the bank.

10 more things you need to do to succeed as a Tech Lead

For any developer, stepping into the role of Tech Lead can be daunting. It’s a big step up from just writing code, and presents challenges in areas that you might not expect.

A couple of years ago, I came up with 10 specific techniques that I believe can help both new and experienced Tech Leads to succeed. In this session I’ll recap those 10 and give you 10 more things you should be doing as a Tech Lead.

This new 10 things are a little more specific, and a little more controversial in places, but they're tried and tested and well worth considering, if not implementing right now!

You're the Tech Lead - *you* fix it!

Over the last couple of years, I've presented 20 tricks and tips that I've found invaluable as a Tech Lead. But in this session, I want to turn things around and look at applying some of those to solving specific issues that are common within many software development teams.

Tales from the Trenches: Taming 20 years of legacy code

We’ve all been there - having to support, fix and improve a legacy code base with all its history and foibles.

In this talk I’ll dive deep into some of the horrors of a 20 year old legacy codebase. I’ll try and understand how those horrors came to be and give approaches to mitigating them and ultimately modernising the code - giving another 20 years of life to a product.

Abusing the Azure Functions Runtime for Fun and Profit

In this talk I'll delve into the guts of the Azure Functions Runtime for .Net and show how its hidden extensibility features can let you implement cross-cutting concerns.

I'll cover the background to why I decided to abuse the Azure Functions Runtime in this way, look at how I found the semi-secret extensibility points and show a couple of implementations that solved specific problems across a multitude of micro-services codebases.

Modelling a dynamic system with Actors in Microsoft Orleans

Microsoft Orleans is a cross-platform software framework for building scalable and robust distributed interactive applications. At its heart it's based on a mature implementation of the Actor pattern and was build to scale to support Halo.

But Orleans shouldn't be just thought of as a game state engine.

In this session, I'll explore how the Actor pattern, and Orleans specifically, can be used to model dynamic systems. I'll explain a use-case from the property industry where turning the problem on its head and considering entities as Actors can give real benefits.

I'll show how that dynamic modelling can be implemented using Orleans and how that platform enables the model to be populated and updated from disparate upstream data sources as well as queried in near-real-time.

TPL Dataflow - The Best Little Async Library You've Never Heard Of

From the docs:

> The Task Parallel Library (TPL) provides dataflow components to help increase the robustness of concurrency-enabled applications.

What it actually does is give you the tools to create in-process async pipelines in a simple, structured manner.

And I'm betting that like me (until recently), this is a library you'll never even have heard of.

I'll cover the basics - Sources, Targets and Blocks - and how to link them together into useful **asynchronous** and **parallel** pipelines within your programs. We'll handle error conditions, cancellation and how to control the degree of parallelism - with samples that give you a bit more than "Hello World".

Solving the Travelling Surveyor problem in .Net using Google OR Tools

The "Travelling Salesman" problem is a computational classic - but firmly grounded in the real world.

In this session I'll discuss how at Landmark we used Google's Open-Source Optimisation & Routing (OR) Tools to generate recommended routes for hundreds of surveyors and thousands of jobs on a daily basis for one of the largest firms in the country.

We'll cover the basics of the problem, and some of the classic approaches before moving on to how to use the tools Google OR Tools library. We'll look at some pitfalls and limitations - as well as how we created a fluent API for describing general case routing problems to pass to the Google OR Tools library.

DDD 2020 Sessionize Event

December 2020

DDD East Midlands Limited 2019 Sessionize Event

October 2019 Nottingham, United Kingdom

Reading Net Meetup #5 - June 2019

Honey, I shrunk `ConfigureServices()` (10 minute lightning talk)

June 2019 Reading, United Kingdom

Reading .Net Meetup Group - March 2019

Azure In Action - CosmosDB, Functions and ServiceBus in Perfect Harmony

March 2019 Reading, United Kingdom

Joel Hammond-Turner

Chief Solutions Architect, Landmark Information Group

Tadley, United Kingdom


Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top