Speaker

Thomas Ploch

Thomas Ploch

Principal Engineer @ Flixbus

Berlin, Germany

I am Thomas, and I design systems for people and computers for fun and profit!

My career has navigated me through various industries like Finance & Insurance, Medical, Automotive and Travel. I have been wearing many differently shaped hats over the last 15 years. From System Administration, Test Automation, Web Development, Software Architecture & Design, Product Design & Organisation Design, I can draw on a bit of experience that currently helps me every day as a Principal Solutions Architect FlixBus.

The biggest realization over the last few years is that the most important component of success is not running the latest distributed architecture in the cloud, but to enable people to work smart to manifest their ideas in helpful products. I want to share my experiences and hope that you can take away a bit of knowledge that can help you later.

It is impossible to design useful software without understanding the underlying forces driven by market conditions, competitors, business strategy and the actual people using or building the software. Hence, I firmly believe that a wider definition of system design is required to achieve an adaptive and evolvable environment of people, processes and technology that can react to changing conditions in our fast paced digital world.

Area of Expertise

  • Information & Communications Technology
  • Transports & Logistics
  • Business & Management
  • Travel & Tourism

Topics

  • Domain-Driven Design
  • Software Architecture
  • Test-Driven Development
  • Sociotechnical Systems
  • Systems Thinking
  • System Design
  • Business Architecture
  • Lean / Agile Transformation
  • Agile Leadership
  • New Work
  • functional programming
  • Software Development
  • scala

Measuring the intangible - How to convince your HiPPO with science!

(This is a hands-on lab with limited capacity. You should receive an invitation to sign up for your favourite session at latest one week before the conference. Capacity of this session = 28)

A repeating pattern I have discovered during discussions with participants of DDDEU over the last years was always that people are not able to calculate risk and potential value for intangible assets like "organisational flexibility" in the presence of uncertainty for adopting the modern organisational patterns and principles that the DDD community embraces.

Senior managers in larger organisations are seldomly convinced to board such an endeavour just by opinions and subjective assessments.

During these conversations I regularly ask if people have thought about creating a business case that would enable senior management to make a risk vs. value potential decision. And most of the time people do not know how to create such a case, because these "intangibles" seem impossible to measure.

But they are! It is possible by employing statistical methods to derive probabilities for ranges of possible outcomes that are built from various sources of information, i.e. calibrated expert knowledge. Said information can be annotated with an "expected value" when discovered, and other quantitative and qualitative data that doesn't seem obvious in the beginning.

This workshop would teach the basics of bayesian probabilities, how to calibrate people to better estimate ranges of possible outcomes (50% confidence, 70% confidence, 90% confidence), how to weigh results by the expected value of information in uncertain environments, an how to run Monte Carlo simulations on these input parameters, and how to experiment with different probability distributions (Normal, Pareto, Log-normal) to create a "good enough" business case in this uncertainty.

While this workshop would not fit into the classical collaborative model, I believe it can drive adoption of modern system design techniques in more power-oriented structures with these tools and methods (and also is generally very useful knowledge).

Functional Aggregate Design: Processes, Temporality & Automata Theory

In the last years more and more practitioners of Domain-Driven Design agree that Aggregates should be rather viewed as processes that have an inherent temporal aspect to them. Very often they are mentioned as life-cycles that can adapt their behavior over time.

Aggregates are then defined as a combination of Commands (stimuli from the environment), Behaviors (reactions to incoming stimuli that can change the system’s state & response mechanisms) and Events (system signals in response to changes in state).

Modelling processes is nothing new in computing though. Automata theory can give us some mathematical foundations with which we can formally design our Aggregates in a purely functional and composable way.

In this talk I will explain why we need process-oriented models, and which concepts from automata theory can help us in deriving a functional and temporal design for our Aggregates. We will also explore some operations that enable compositions on these models like unions and projections. The talk will be accompanied by concrete code examples showing how such Aggregates could look like in real-world scenarios.

Strangling The Monolith: Applied Patterns & Practices From The Trenches

Many developers have been there. A beautifully crafted system that has helped the company grow slowly deteriorates into a big ball of mud. The calls for a rewrite are becoming louder and louder, but these big-bang rewrites historically have a high risk of failure. Is there a way to iteratively step out of the mud?

We at Flixbus faced a similar situation and were looking for answers - and we found one! The strangler (fig) pattern which allowed us to incrementally evolve even our high-risk core services towards a modern reactive system architecture. This sounds easy, but our path was paved with hard learning and many failures.

In this session I will present the patterns and practices that helped us on our journey & the many pitfalls we have found.

Thomas Ploch

Principal Engineer @ Flixbus

Berlin, Germany

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