Tech Lead Journal

#188 - Balancing Coupling in Software Design: Principles for Architecting Modular Software Systems - Vladik Khononov


Listen Later

“Coupling 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."

Vladik Khononov returns to the podcast to discuss his latest book “Balancing Coupling in Software Design”. In this episode, Vlad revisits the essence of coupling, a term often not fully understood, and explores its implications on software complexity and modularity.

Vlad 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.

One of the episode’s highlights is Vlad’s 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.

Whether you’re 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.  

Listen out for:

  • Writing about Coupling - [00:03:28]
  • Coupling - [00:06:09]
  • Shared Lifecycle & Knowledge - [00:08:17]
  • Cynefin - [00:12:28]
  • Essential vs Accidental Complexity - [00:19:00]
  • Modularity - [00:22:45]
  • Abstraction & Knowledge Boundary - [00:29:04]
  • 3 Dimensions of Coupling - [00:36:25]
  • Balancing Coupling - [00:58:11]
  • 3 Tech Lead Wisdom - [01:02:30]
  • _____

    Vladik Khononov’s 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’Reilly 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:

    • LinkedIn – linkedin.com/in/vladikk
    • Twitter / X – @vladikk
    • 📚 Balancing Coupling in Software Design – https://www.amazon.com/Balancing-Coupling-Software-Design-Addison-Wesley-ebook/dp/B09RV3Z3TP
    • _____

      Our Sponsors

      Enjoy an exceptional developer experience with JetBrains. 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 jetbrains.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 techlead24 for 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.

      ...more
      View all episodesView all episodes
      Download on the App Store

      Tech Lead JournalBy Henry Suryawirawan

      • 4.7
      • 4.7
      • 4.7
      • 4.7
      • 4.7

      4.7

      13 ratings


      More shows like Tech Lead Journal

      View all
      Software Engineering Radio by se-radio@computer.org

      Software Engineering Radio

      271 Listeners

      Hanselminutes with Scott Hanselman by Scott Hanselman

      Hanselminutes with Scott Hanselman

      383 Listeners

      The Changelog: Software Development, Open Source by Changelog Media

      The Changelog: Software Development, Open Source

      289 Listeners

      Software Engineering Daily by Software Engineering Daily

      Software Engineering Daily

      626 Listeners

      Talk Python To Me by Michael Kennedy

      Talk Python To Me

      585 Listeners

      Soft Skills Engineering by Jamison Dance and Dave Smith

      Soft Skills Engineering

      288 Listeners

      Thoughtworks Technology Podcast by Thoughtworks

      Thoughtworks Technology Podcast

      43 Listeners

      Super Data Science: ML & AI Podcast with Jon Krohn by Jon Krohn

      Super Data Science: ML & AI Podcast with Jon Krohn

      302 Listeners

      Y Combinator Startup Podcast by Y Combinator

      Y Combinator Startup Podcast

      226 Listeners

      Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

      Syntax - Tasty Web Development Treats

      987 Listeners

      CoRecursive: Coding Stories by Adam Gordon Bell - Software Developer

      CoRecursive: Coding Stories

      190 Listeners

      Practical AI by Practical AI LLC

      Practical AI

      209 Listeners

      AWS Podcast by Amazon Web Services

      AWS Podcast

      203 Listeners

      The Stack Overflow Podcast by The Stack Overflow Podcast

      The Stack Overflow Podcast

      64 Listeners

      This Day in AI Podcast by Michael Sharkey, Chris Sharkey

      This Day in AI Podcast

      225 Listeners