Senior Principal at LendUp. Building financial products for the unbanked. Crazy about complexity.
What fascinates me the most in Fintech domain is the intricate interaction between business and technology. So the question I have been trying to answer is how to effectively marry the two complex domains, how to make code comprehensible not only to engineers, but analysts, product owners and managers. Self describing systems, DSL, executable specifications, DDD have been the things on my mind recently. All in order to combat our arch-enemy, the Complexity.
In this talk we will get familiar with the concept of Model Dependent Realism, coined by Stephen Hawking and Leonard Mlodinow. We will then apply it to reason about Software Development as operating hierarchy of languages and abstractions.
Equipped with the new mental model, we will try to disect and understand the phenomenon of complexity - concept so ill-defined and misused that it has grown an aura of mysticism around.
There is an uncompensated bias among software engineers to address the known problems - the technicalities. This bias is reflected by topics of most software conference talks, where technical solutions are presented addressing narrow groups of problems. This bias puts evolution of our discipline at risk.
The main goal is to induce particular way of thinking and give some guidance for engineers. To even out the bias and have more engineering time and energy devoted for the most crucial subject - how to develop interfaces that can be understood by layman. How to develop systems that perfectly match the business they represent. How to reduce the complexity of our products and processes and how to be better engineers.