9:30am - 3:30pm AEST | Sept 10, 2020

XConf is our annual technology event created by technologists for technologists who care deeply about software and its impact on the world. 

Join us for the third year in Australia brought to you live and online this year.

At this one-day conference, hear from technologists about their first-hand experience with emerging technologies and insights on technical trends.

With six exciting talks lined up, stay for the entire day or drop in for the sessions which interest you the most.


What is XConf?

XConf is a one-day showcase of the latest thinking from ThoughtWorks' tech community and provides a platform for passionate technologists who are looking for inspiration and a chance to network with peers. Our goal is to create a community of technologists; learning and sharing the latest technology ideas in an ever changing world.

Our theme for this year’s event is Cloud Native Engineering for Data Intensive Applications. It reflects the convergence of several trends we’ve seen evolve over recent years. Today’s applications are driven by increasing volumes of data and must run securely in the cloud. We’ve shifted to a cloud-first world and are now seeing intense competition between public cloud vendors to provide the best developer experience. But hosting these data-intensive applications in the cloud also raises concerns about privacy and the ethical treatment of customer data.

We’d like to encourage a free and open exchange of ideas around these and other related topics.

In this year’s program, we hope to explore and answer:

1) How we can use automation to optimise the cloud experience

2) The sensible defaults for setting up and operating the latest crop of container orchestration tools

3) How we can apply what we know about good software engineering practices to the worlds of infrastructure automation

4) What it means for a Developer to ethically handle personal information in a cloud environment


Kief Morris

Kief Morris

Head of Cloud Engineering Practices


All Your Stuff is Gonna Change: Build Evolvable Cloud Infrastructure and Avoid Tears

All too often automation tools are used to build infrastructure in the cloud that looks pretty much like the infrastructure we had in data centres. We envision a "final" architecture that is essentially static, and take it for granted that changing it later will involve a major programme of work. As a result, we end up with a fragile, inconsistent, unpatched mess in the cloud. Rather than spending most of our time fighting fires and rolling out patches, how about we build our infrastructure from the start assuming we'll need to change it before we've even finished building it? What would that look like?

Let's explore ways to implement cloud-based systems using automation tools like Terraform, CloudFormation, Ansible, Chef, Puppet, Docker, Kubernetes (anything, really) with change as a first-class concern. Apply agile engineering practices like Test Driven Development, Continuous Integration, and Continuous Delivery to your infrastructure. Adopt design patterns to make your infrastructure architecture loosely coupled and resilient. The concepts discussed here are relevant whatever your tools of choice, and should be of interest to any technical practitioner, architect, or decision maker involved in designing and implementing cloud-style infrastructure.


8:30 AMArrival & Registration
9:00 AMAll Your Stuff is Gonna Change: Build Evolvable Cloud Infrastructure & Avoid TearsKief Morris
10:05 AMDoing Infrastructure as Code? You Can Do BetterShohre Mansouri and Effy Elden
11:10 AMCore Decisions in Event-Driven ArchitectureDuana Stanley
11:55 AMDesigning an Asynchronous Microservices Runtime with Kafka: State, Scale and PerformanceDavid Peterson, Confluent
1:40 PMExperiments in Teaching a Machine to CodeKaren Davis
2:25 PMObservability for EveryoneInny So and Andrew Jones
3:25 PMAutomated Governance - Raising the Bar for AgilityBal Sandhu and Satyam Argawala
4:10 PMSomeone Far Away, Who You Don’t Even Know, Will DieTom Sulston and Josh Kinal
5:00 PMNetworking
6:00 PMClose


Shohre Mansouri

Senior Consultant


Effy Elden

Senior Consultant


Doing Infrastructure as Code? You Can Do Better

Developing infrastructure as code often gets cumbersome. There are long feedback cycles for the developers from the moment they are done with a bit of coding until they find out that something is broken. With the fix there is going to be another wait time, often minutes, yet to find out another thing needs to be fixed. This wastes a lot of time and it is not ideal. There is also some bits of the code that may never be tested on the Dev or CI or even Test environments, for example some things that are specific to the Prod environment, may never be tested until we actually go to production.

In this talk we will show techniques that can be used to make developing Infrastructure as Code a better experience for developers, by establishing a faster feedback cycle and also producing higher quality well-tested code.

Duana Stanley

Lead Consultant


Core Decisions in Event-Driven Architecture

In an event-driven, (micro)services based architecture, we imagine a bunch of services with a single responsibility interacting with each other by emitting and reacting to domain events. Sounds nice.

Here are some of the decisions we need to make to get there:

  • When do we use API calls vs events for interactions?
  • Should we always prefer building up local replicas from events when we need data from other services?
  • How do we design events?
  • When do we use event sourcing?

We'll go over these questions and some principals that have helped us in designing distributed event-driven architectures for our clients.

David Peterson

Systems Engineering Manager, APAC


Designing an Asynchronous Microservices Runtime with Kafka: State, Scale and Performance

Today's world operates under a new set of constraints and tries to solve problems that were never thought possible. Everything has changed.

This talk will cover the origins of how Apache Kafka came to be along with how it now underpins some of the worlds largest microservice ecosystems. Kafka and the microservice movement gathered momentum at the same time, Kafka for streams or data-in-motion and microservices as a new, fine-grained architectural principle. The thorn in the side for microservices has always been about the ability to handle, state, and scale. Kafka, meanwhile has always been good at distributing state, which means, that now as we build microservices on top of Kafka, there is a natural affinity between them. I will cover the evolution of microservices until the point of today and then work through how we can build stateful scalable microservices using Kafka. You will learn how scaling state works, and also how it can be queried with ‘interactive queries’.

Key takeaways:

  • Scalable business processing
  • Run it on rails: Instrumentation and monitoring
  • Control flow patterns (start, stop, pause)
  • Error handling strategies

Karen Davis

Senior Data Engineer


Experiments in Teaching a Machine to Code

I've set myself a goal. Can I get a machine learning algorithm to generate code that can pass a unit test? This talk will track the experiments I run as I try to achieve this.

In this talk, we'll explore:

  • How to take an experiment based approach to machine learning development 
  • How to start small and iterate 
  • How transfer learning works for natural language processing and
  • Get an overview of the LSTM architecture 

Andrew Jones

Lead Consultant


Inny So

Infrastructure Consultant


Observability for Everyone

Have you ever tried to debug a production outage, when your system comprises of apps your team has written, third-party apps your team runs, with logs going into some system, application performance metrics going into another system, and cloud platform metrics going somewhere else? Did you find yourself switching tabs, trying to correlate metrics with logs and alerts and finding yourself in a huge tangle? It is a nightmare. In the data world, we talk about aggregating all our data so we can derive new insights quickly, but what about our operational data?

Observability is your ability to be able to ask questions of your system without having to write new code, or grab new data. When you've got an observable system, it feels like you have debugging superpowers, but it can be challenging to even know where to start. If you can even convince your colleagues to start, finding the right tools can be challenging.

In this talk Inny and Andrew will talk about what monitoring and logging are not sufficient anymore (if they ever were), observability basics, and demo an observability platform that you can use to start your observability journey today.

Satyam Argawala

Lead Consultant


Bal Sandhu

Consultant Developer


Automated Governance - Raising the Bar for Agility

The recent past has seen the Rise of the Platforms. The large scale adoption of platforms like Kubernetes and Istio reflect the desire (and need) for organisations to deliver value to their customers faster and more reliably. However the agility offered by these platforms is eroded by the archaic approach to governance, especially in larger regulated industries like financial services.

Automated delivery pipelines and infrastructure as code are the new bare essentials. In order to unlock the next level of agility it is critical to think about capabilities such as automated governance. This talk will demo an opinionated approach to automated governance that builds upon the foundations to help unlock agility in today's cloud native landscape.

Tom Sulston

Principal Consultant


Josh Kinal

Lead Consultant: Experience Design


Someone Far Away, Who You Don’t Even Know, Will Die

Josh and Tom discuss the unintended harm of software product design. From strengthening society’s privilege disparity to international war crimes, they’ll show you how to avoid this trap. 

They promise you will leave feeling empowered and inspired.




Telstra Customer Insight Centre

Level 2, 400 George Street

Sydney, NSW 2000

Tuesday, 23 July

8:30 am - 5:00 pm



Cargo Hall

39 S Wharf Promenade, South Wharf 

Melbourne, VIC 3006

Thursday, 25 July

8:30 am - 5:00 pm