\u201cCoupling is an inherent part of system design, not something that is necessarily good or evil. How we design coupling can take our system either towards complexity or towards modularity."
\nVladik Khononov returns to the podcast to discuss his latest book \u201cBalancing Coupling in Software Design\u201d. In this episode, Vlad revisits the essence of coupling, a term often not fully understood, and explores its implications on software complexity and modularity.
\nVlad introduces the concept of shared lifecycle and shared knowledge, revealing the hidden dependencies that can undermine even the most well-intentioned designs. He also explains complexity through the lens of the Cynefin framework and delves into the differences between essential and accidental complexity.
\nOne of the episode\u2019s highlights is Vlad\u2019s unique framework for evaluating coupling. He introduces the three dimensions of integration strength, distance, and volatility, providing a practical model for assessing and balancing coupling in software design. He also challenges traditional definitions of modularity, emphasizing the importance of knowledge boundaries.
\nWhether you\u2019re a seasoned tech lead or an aspiring software engineer, this episode offers invaluable insights into building maintainable and modular software systems. It will leave you with a deeper appreciation for the delicate balance between coupling and complexity. \xa0
\nListen out for:
\n_____
\nVladik Khononov\u2019s Bio
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\u2019Reilly book Learning Domain-Driven Design. He is a sought-after keynote speaker, presenting on topics such as domain-driven design, microservices, and software architecture in general.
Follow Vladik:
\n_____
\nOur Sponsors
\nEnjoy an exceptional developer experience with\xa0JetBrains. Whatever programming language and technology you use, JetBrains IDEs provide the tools you need to go beyond simple code editing and excel as a developer.
Check out FREE coding software options and special offers on\xa0jetbrains.com/store/#discounts.
Make it happen. With code.
Manning Publications is a premier publisher of technical books on computer and software development topics for both experienced developers and new learners alike. Manning prides itself on being independently owned and operated, and for paving the way for innovative initiatives, such as early access book content and protection-free PDF formats that are now industry standard.
Get a 40% discount for Tech Lead Journal listeners by using the code\xa0techlead24\xa0for all products in all formats.
Like this episode?
Show notes & transcript: techleadjournal.dev/episodes/188.
Follow @techleadjournal on LinkedIn, Twitter, and Instagram.
Buy me a coffee or become a patron.