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

      14 ratings


      More shows like Tech Lead Journal

      View all
      The Knowledge Project by Shane Parrish

      The Knowledge Project

      2,706 Listeners

      Software Engineering Radio - the podcast for professional software developers by team@se-radio.net (SE-Radio Team)

      Software Engineering Radio - the podcast for professional software developers

      273 Listeners

      The Changelog: Software Development, Open Source by Changelog Media

      The Changelog: Software Development, Open Source

      288 Listeners

      Software Engineering Daily by Software Engineering Daily

      Software Engineering Daily

      624 Listeners

      Talk Python To Me by Michael Kennedy

      Talk Python To Me

      580 Listeners

      Soft Skills Engineering by Jamison Dance and Dave Smith

      Soft Skills Engineering

      289 Listeners

      Thoughtworks Technology Podcast by Thoughtworks

      Thoughtworks Technology Podcast

      44 Listeners

      The InfoQ Podcast by InfoQ

      The InfoQ Podcast

      38 Listeners

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

      Syntax - Tasty Web Development Treats

      989 Listeners

      Today, Explained by Vox

      Today, Explained

      10,259 Listeners

      The Stack Overflow Podcast by The Stack Overflow Podcast

      The Stack Overflow Podcast

      62 Listeners

      The Big Take by Bloomberg

      The Big Take

      155 Listeners

      科技工作講 Tech Job N Talk by Tech Job N Talk 科技工作講

      科技工作講 Tech Job N Talk

      25 Listeners

      HBR On Leadership by Harvard Business Review

      HBR On Leadership

      166 Listeners

      The Pragmatic Engineer by Gergely Orosz

      The Pragmatic Engineer

      70 Listeners