Complexity and Modularity: Two Sides of the Same Coin (Vlad Khononov)
Every software engineer and architect strives to design modular software systems and avoid complexity. Yet, frequently, the outcome is the opposite: what promised to be an elegant, well-thought architecture results in another big ball of mud. Why does this pattern persist and how do we learn not to repeat it?
In this talk, I will explore the nature of modularity and complexity, including their surprising similarities. You will learn what forces drive software design towards modularity or complexity, and the effects these forces have on the ability of your systems to withstand the test of time.
Outline of the session:
• What makes a system modular?
• What makes a system complex?
• How to use coupling for steering the design away from complexity and more towards modularity
ABOUT VLAD
Vlad Khononov is a software engineer with extensive industry experience, working for companies large and small in roles ranging from webmaster to chief architect. His core areas of expertise are distributed systems and software design. Vlad consults with companies to make sense of their business domains, untangle monoliths, and tackle complex architectural challenges.
Vlad maintains an active media career as a public speaker and author. Prior to "Balancing Coupling in Software Design," he authored the best-selling O'Reilly book "Learning Domain-Driven Design." He is a keynote speaker, presenting on topics such as domain-driven design, microservices, and software architecture in general.
- LinkedIn: https://www.linkedin.com/in/vladikk/
- Twitter: https://twitter.com/vladikk
- GitHub: https://github.com/vladikk
- Website: https://vladikk.com/
TECH EXCELLENCE
- Subscribe to our YouTube channel https://www.youtube.com/@TechExcellence
- Join our Meetup Group https://www.meetup.com/techexcellence
- Follow us on LinkedIn https://www.linkedin.com/company/techexcellenceio
- Follow us on Twitter https://twitter.com/techexcellence_
- Join our Discord Community https://discord.gg/KXdf4t4j2m
#softwarearchitecture #softwaredesign #modularity #complexity #coupling #designprinciples #balancedcoupling #techexcellence