The Fractal Geometry of Software Design
Cities, organisms, companies, and other systems share the same underlying structure: all rely on a network-based supply of energy to all of its components. The energy can be calories, water, oxygen, electricity, or other supplies that the system cannot function without. Any hiccup in the delivery of the energy can inadvertently lead to demise of the whole system.
Software projects share the same core characteristic. Software also depends on efficient supply of energy. Domain-driven design taught us how to tackle complexity in the heart of software, and I want to discuss how we can tackle complexity in the cardiovascular system of software.
The energy that flows through the cardiovascular system of software is knowledge. You are going to learn how it is spread and delivered to the different components of a software system, the inherent complexity of the process, and how we can optimize the distribution of knowledge to design effective software solutions.
- About Vladik Khononov
Sr. Cloud Architect at DoiT InternationalTwitter
Vladik (Vlad) Khononov is a software engineer with over 15 years of industry experience, during which he has worked for companies large and small in roles ranging from webmaster to chief architect. Vlad is a long-time proponent of domain-driven design and evolutionary architecture and currently helps companies make sense of their business domains, untangle monoliths, and tackle complex architectural challenges.
Vlad maintains an active media career as a public speaker and blogger. He has spoken at numerous industry conferences — including O’Reilly Software Architecture, DDD Europe, and NDC — about subjects such as domain-driven design, microservices, and software architecture in general. In addition to his media work, he co-organizes the Domain-Driven Design Israel and Tel Aviv Software Architecture meetup groups.
Vladik lives in Northern Israel with his wife and an almost-reasonable number of cats.