loader from loading.io

SE Radio 662: Vlad Khononov on Balancing Coupling in Software Design

Software Engineering Radio - the podcast for professional software developers

Release Date: 04/01/2025

SE Radio 675: Brian Demers on Observability into the Toolchain show art SE Radio 675: Brian Demers on Observability into the Toolchain

Software Engineering Radio - the podcast for professional software developers

Brian Demers, Developer Advocate at Gradle, speaks with host about the importance of having observability in the toolchain. Such information about build times, compiler warnings, test executions, and any other system used to build the production code can help to reduce defects, increase productivity, and improve the developer experience. During the conversation they touch upon what is possible with today’s tools; the impact on productivity and developer experience; and the impact, both in terms of risks and opportunities, introduced by the use of artificial intelligence. Brought to you...

info_outline
SE Radio 674: Vilhelm von Ehrenheim on Autonomous Testing show art SE Radio 674: Vilhelm von Ehrenheim on Autonomous Testing

Software Engineering Radio - the podcast for professional software developers

Vilhelm von Ehrenheim, co-founder and chief AI officer of QA.tech, speaks with SE Radio's about autonomous testing. The discussion starts by covering the fundamentals, and how testing has evolved from manual to automated to now autonomous. Vilhelm then deep dives into the details of autonomous testing and the role of agents in autonomous testing. They consider the challenges in adopting autonomous testing, and Wilhelm describes the experiences of some clients who have made the transition. Toward the end of the show, Vilhelm describes the impact of autonomous testing on the traditional QA...

info_outline
SE Radio 673: Abhinav Kimothi on Retrieval-Augmented Generation show art SE Radio 673: Abhinav Kimothi on Retrieval-Augmented Generation

Software Engineering Radio - the podcast for professional software developers

In this episode of Software Engineering Radio, Abhinav Kimothi sits down with host Priyanka Raghavan to explore retrieval-augmented generation (RAG), drawing insights from Abhinav's book, A Simple Guide to Retrieval-Augmented Generation. The conversation begins with an introduction to key concepts, including large language models (LLMs), context windows, RAG, hallucinations, and real-world use cases. They then delve into the essential components and design considerations for building a RAG-enabled system, covering topics such as retrievers, prompt augmentation, indexing pipelines, retrieval...

info_outline
SE Radio 672: Luca Palmieri on Rust In Production show art SE Radio 672: Luca Palmieri on Rust In Production

Software Engineering Radio - the podcast for professional software developers

Luca Palmieri, author of Zero to Production in Rust and Principal Engineering Consultant at MainMatter, speaks with SE Radio host about Rust in production. They discuss what production Rust means, how to get Rust code into production, specific Rust issues to think about when getting an application into production, what Rust profiles are, expected performance, telemetry options, error handling and what parts of Rust to use and avoid.  Palmieri discusses docker containers, tracing, robust Rust error handling, how performant Rust is in the real world, p50, p99, docker build techniques,...

info_outline
SE Radio 669: Will McGugan on Text-Based User Interfaces show art SE Radio 669: Will McGugan on Text-Based User Interfaces

Software Engineering Radio - the podcast for professional software developers

Will McGugan, the CEO and founder of Textualize, speaks with host about how to use packages such as Rich and Textual to build text-based user interfaces (TUIs) and command-line interfaces (CLIs) in Python. Along with discussing the design idioms that enable developers to create TUIs in Python, they consider practical strategies for efficiently rendering the components of a TUI. They also explore the subtle idiosyncrasies of implementing performant TUI frameworks like Textual and Rich and introduce the steps that developers would take to create their own CLI or TUI. This episode is sponsored...

info_outline
SE Radio 671: Carson Gross on HTMX show art SE Radio 671: Carson Gross on HTMX

Software Engineering Radio - the podcast for professional software developers

In this episode, SE Radio host explores HTMX with its creator, Carson Gross, who is also creator of Hyperscript, the mind behind the Grug Brained Developer, a professor of software engineering at Montana State University, and co-author of . HTMX is a modern JavaScript library that allows developers to access AJAX, WebSockets, CSS Transitions, and Server-Sent Events directly in HTML using attributes. It represents a return to hypermedia-driven application architecture while supporting modern user experiences. The episode starts with a look at the current complexity in web development and...

info_outline
SE Radio 670: Matthias Endler on Prototype in Rust show art SE Radio 670: Matthias Endler on Prototype in Rust

Software Engineering Radio - the podcast for professional software developers

Matthias Endler, Rust developer, open-source maintainer, and consultant through his company Corrode, speaks with SE Radio host about prototyping in Rust. They discuss prototyping and why Rust is excellent for prototyping, and Matthias recommends a workflow for it, including what parts of Rust to use, and what parts to avoid at this stage. He describes the key components that Rust provides to help us validate ideas via prototypes, as well as tips and tricks to reach for.  In addition, the conversation explores type inference, unwrap(), expect(), anyhow crate, bacon crate, cargo-script,...

info_outline
SE Radio 668: Steve Summers on Securing Test and Measurement Equipment show art SE Radio 668: Steve Summers on Securing Test and Measurement Equipment

Software Engineering Radio - the podcast for professional software developers

Steve Summers speaks with SE Radio host  about securing test and measurement equipment. They start by differentiating between IT and OT (Operational Technology) and then discuss the threat model and how security has evolved in the OT space, including a look some of the key drivers. They then examine security challenges associated with a specific device called a CompactRIO, which combines a Linux real-time CPU with a field programmable gate array (FPGA) and some analog hardware for capturing signals and interacting with real-world devices. Brought to you by  and .

info_outline
SE Radio 667: Ashley Peacock on Cloudflare show art SE Radio 667: Ashley Peacock on Cloudflare

Software Engineering Radio - the podcast for professional software developers

Ashley Peacock, the author of Serverless Apps on Cloudflare, speaks with host Jeremy Jung about content delivery networks (CDNs). Along the way, they examine dependency injection with bindings, local development, serverless, cold starts, the V8 runtime, AWS Lambda vs Cloudflare workers, WebAssembly limitations, and core services such as R2, D1, KV, and Pages. Ashley suggests why most users use an external database and discusses eventually consistent data stores, S3-to-R2 migration strategies, queues and workflows, inter-service communication, durable objects, and describes some example...

info_outline
SE Radio 666: Eran Yahav on the Tabnine AI Coding Assistant show art SE Radio 666: Eran Yahav on the Tabnine AI Coding Assistant

Software Engineering Radio - the podcast for professional software developers

Eran Yahav, Professor of Computer Science at Technion, Israel, and CTO of Tabnine, speaks with host about the Tabnine AI coding assistant. They discuss how the design and implementation allows software engineers to use code completion and perform tasks such as automated code review while still maintaining developer privacy. Eran and Gregory also explore how research in the field of natural language processing (NLP) and large language models (LLMs) has informed the features in Tabnine. Brought to you by  and .

info_outline
 
More Episodes

Software architect and author Vlad Khononov joins host Jeff Doolittle for a discussion on balancing coupling in software design. They start by examining coupling and its relationship to complexity and modularity. Vlad explains the historical models for assessing coupling and introduces his updated approach, integration strength, which aims to simplify earlier frameworks and adapt them for modern practices.

The episode explores three dimensions of coupling:

  • integration strength (knowledge sharing),
  • distance (proximity of components), and
  • volatility (likelihood of change).

Vlad illustrates how design decisions can lead systems toward complexity or modularity, and he emphasizes the importance of managing coupling to minimize cognitive load and cascading changes. The conversation wraps up with insights on applying these principles to real-world software projects and a reminder of coupling's critical role in software architecture. Brought to you by IEEE Computer Society and IEEE Software magazine.