Wednesday

Room 4

17:40 - 18:40 (UTC+10)

Talk (60 min)

Learning to Love DDD - a Tale of Two Products

Over the last 16 years, I've been fortunate enough to launch two successful businesses as a hands-on CTO/co-founder & developer/architect. The first, Flexischools, provides online services to schools & parent communities, and has supported millions of Australians over the years.

Architecture
Software Design
Microservices

When we launched Flexischools, I was relatively inexperienced - I did my best to follow the guidance I could find online, but I frequently found myself struggling to incorporate the burgeoning growth in complexity of its feature-set into an increasingly tightly coupled code-base with a very small team of developers.

In 2015, I discovered DDD, and when reading the Blue Book, I felt a light bulb going off on every page. When we launched our second product, LanternPay, I vowed not to make the same mistakes.

LanternPay is a healthcare & disability claiming & payments platform supporting hundreds of thousands of Australian care providers and recipients to ensure prompt and equitable access to care.

In this talk, I'll reflect on the comparative experience of launching, operating & scaling both products and the impact DDD had on the technology & the business.

Some key questions we'll explore:

  • How to use DDD when you're launching a new product into a new market and there are no domain experts to consult?
  • Why it's not a good idea to use the same object/table to store both the size of a school uniform t-shirt and the presence of a slice of cheese on a sandwich
  • How to make the business case for a major multi-service refactor when your DDD-inspired domain understanding evolves mid-project

Chris Simon

Chris is the technical co-founder of https://www.inloop.com.au, the business that brought Australian Fintech success stories https://www.flexischools.com.au and https://www.lanternpay.com (Recently acquired by NAB) to market.

Flexischools was launched in 2008, and today helps hundreds of thousands of Australian families engage with their school communities.

In 2015, LanternPay was launched to tackle the emerging challenges in the consumer directed care sector, particularly the NDIS and other public healthcare insurance schemes.

As CTO of LanternPay, Chris spent half his week being a traditional "CTO" and half his week coding and working alongside an amazing team of talented developers.

Since 2021 he has been providing training & consulting through Dev Cycles Technology Advisory (https://devcycles.io/page/consulting/) at both the strategic CTO-level and the practical hands on software engineering level.

To support teams practicing Domain Driven Design, he recently launched an open-source IDE extension called Contextive (https://contextive.tech) to help with common communication challenges between developers and the broader organisation.