PLAY PODCASTS
CaSE: Conversations about Software Engineering

CaSE: Conversations about Software Engineering

63 episodes — Page 1 of 2

Technology Governance with Sarah Wells

Jun 15, 202645 min

Ep 62Agent Harness, State of Play, Risk and AI Company Culture

Birgitta, Heinrich and Sven look back at the latest developments in AI-assisted development, tools and practices which emerged in 2025 and work for teams. Furthermore they discuss a few topics like "where does the rigor go in AI assistance" from the future of software development retreat in Utah

Mar 17, 20261h 25m

Ep 61Guiding, not ruling: Architecture Governance Approaches

We want engineering teams to be as autonomous as possible, but also want that every team runs in the same direction. In this episode, Heinrich Hartmann and Sven Johann explore four approaches of guiding, not ruling, governance: golden paths, architecture advice processes, architecture principles and technology radars as practical tools for aligning autonomy with long-term organisational health.

Feb 2, 20261h 11m

Ep 60Andrew Harmel-Law on Better Architecture Decision Making for Everyone

### Description How do teams actually make better architectural decisions—without gatekeepers, power imbalances, or meetings full of opinions instead of insights? In this episode, Andrew, Heinrich, Sven and Alex discuss how the advice process, architecture decision records, and practiced sociotechnics help to make software architecture collaborative and transparent.

Jan 13, 20261h 21m

Ep 59Data Marketplace, Data Products and Data Contracts

Alex, Heinrich and Sven talk with Simon Harrer about his journey to data contracts and marketplaces from being PhD in Software Engineering and Software Engineering consultant. They discuss what a data contract is and how it is build up, can be discovered in a data marketplace and how it relates to a data product. They close with the unavoidable MCP topic in the context of a data marketplace.

Sep 22, 20251h 19m

Ep 58Data Architecture with Christoph Windheuser

The three of us talk with Christoph Windheuser about the styles in data architecture: data mesh, data lake (house) and data warehouse and how to make a decision. In between Christoph explains data quality, data lineage, and data catalog - cornerstones of any modern approach. We end with emerging trends, DuckDB and data governance.

Jul 2, 20251h 49m

Ep 57Mirko Novakovic on Waves of Innovation and Observability Product Management

In this episode of the CaSE Podcast, Mirko Novakovic, a seasoned entrepreneur and investor, shares his journey through the waves of technological innovation—from the early days of online banking to the rise of AI and open telemetry. We explore with him how the lessons learned in diverse industries, including the food business, can reshape our approach to software development and architecture, emphasizing the importance of curiosity, adaptability, and a solid grasp of the fundamentals.

Jun 5, 20251h 46m

Ep 56Architecture Sensitivity Points; Interactions with AI Assistance

In this episode of the CaSE Podcast, Sven Johann, Alex Heusingfeld, and Heinrich Hartmann dive into the concept of sensitivity points in software architecture, using the recent Volkswagen data leak as a striking example. They explore how seemingly minor architectural decisions and code changes can carry massive implications when balancing trade-offs like data privacy versus functionality. The trio also discusses the growing impact of AI-assisted development, reflecting on practical experiences with tools like ChatGPT, Cursor, and GitHub Copilot.

Apr 8, 20251h 29m

Ep 55Ole Lensmar - From Swagger to TestCube: Evolving Testing Practices in the Kubernetes Era

How do you ensure the reliability of your cloud-native applications in an ever-evolving landscape? In this episode of CaSE, we dive deep into the intricate world of cloud-native testing with Ole Lensmar, the mind behind SoapUI, serial entrepreneur and Founder of TestKube. Join us as we explore the challenges of testing in Kubernetes environments, the balance between automation and manual testing, and the evolving role of AI in shaping our testing strategies.

Mar 17, 20251h 34m

Ep 54Theo Schlossnagle on Meat, Machines, and Mastery in Software Engineering

Theo Schlossnagle is a world-class software engineer, serial entrepreneur and owner of a butcher shop. In the podcast he unpacks the mindset, practices, and strategies that have shaped his approach to software development. From the power of curiosity to the challenges of debugging distributed systems, we explore what it takes to build resilient, maintainable software in an ever-evolving landscape. Along the way, we dive into automation of butchery equipment, the pitfalls of legacy systems, and the delicate balance between abstraction and simplicity. Whether you're scaling architectures, optimizing code, or integrating outdated APIs, this conversation is packed with insights to sharpen your engineering craft. Tune in to explore what makes great software—and great engineers—stand out.

Feb 25, 20251h 50m

Ep 53New Hosts and Formats, Observability Costs and Training

The CaSE Podcast returns with new hosts and a renewed focus on software architecture, reliability engineering, and data engineering. In this episode we start with discussing the cost of observability, sparked by Coinbase’s leaked $65 million Datadog bill, raising questions about how much organizations should spend on monitoring. We also discuss the most important content of observability training for software architects. We close with Alex’ current thoughts on home automation while renovating his house.

Feb 3, 20251h 21m

Ep 52Aino Corry on Better Tech Meetings

Aino explains to Sven what skills are required to make meetings more successful. They talk about the different roles of meeting attendees. They continue with the thinking process to organize a meeting: do we need it at all? What is the expected outcome? Who should be invited? How long it should take? Do we need preparation for the attendees? Icebreakers? How do we craft an agenda? Then they discuss how to steer a meeting as a meeting facilitator, how to engage (quite) attendees and how to deal with negative people. Finally, they close with methods on how to improve your moderator skills.

Sep 11, 20231h 9m

Ep 51Angelo Veltens on Solid

Solid is a specification that lets people store their data securely in decentralized data stores called Pods. But why do we want to keep our data decentralized? What problems does Solid solve? In this episode, Angelo Veltens explains to Lucas Dohmen the advantages (but also potential disadvantages) of this project.

May 16, 202244 min

Ep 50Mark Seemann on heuristics for software engineering

Stefan Tilkov talks to Mark Seemann about his book “Code that fits in your head”, heuristics about software engineering, and the role of craftspeople and engineers. They dive into three selected topics: Vertical slices, triangulation, and rhythm.

Mar 14, 20221h 0m

Ep 49Chris Richardson on Service Templates and Service Chassis

How do you enable a developer to quickly start the development of business logic of a new microservice without losing too much time on setting up everything else like monitoring, tracing, dependency management, security, configuration and much more. After the motivation, they move from service templates to service chassis, continue with governance as code and close with the possible need of product management skills to keep the chassis and the derived services current.

Feb 21, 20221h 0m

Ep 48Adam Tornhill on Software Design X-Rays

Sven Johann talks to Adam Tornhill about the link between how organizations write code and how teams work together. Adam Tornhill can make this link visible to help improve your team’s code and your organization's work. The interview is based on Adam's book "Software Design X-Rays".

Jan 17, 202254 min

Ep 47Manuel Pais on Team Topologies

Sven Johann talks with Manuel Pais about the challenges of development teams being asked to be responsible for many topics like their problem domain, technology/programming languages, security, infrastructure and operations, UX, etc. Manuel explains what cognitive load is, which types of cognitive load exist and where it can be reduced and where not. They then discuss the four fundamental team topologies stream-aligned, enabling, platform and complicated subsystem: their benefit, how you should run those teams and which obstacles you need to overcome to be successful.

Oct 25, 20211h 2m

Ep 46Michele Hansen on Customer Interviews and Deploying Empathy

Michele shares her journey in the software industry and how she got involved in product development. Customer interviews are not just something for product people -- Michele shares concrete ways that developers can get value from talking to their customers. She also shares a few tips for how to get involved with the customer research process and how to convince stakeholders of the value of the process (if necessary). They also discuss what the different between empathy, sympathy, and compassion. Empathy is understanding someone else's context and perspective. Since empathy is not something that comes naturally to everyone, Michele shares some tips about how to learn to become empathetic and become a better listener.

Oct 4, 202149 min

Ep 45Eric Normand on Functional Thinking

In this conversation about software engineering, Lucas Dohmen talks with Eric Normand. Eric first explains the origins of his book, Grokking Simplicity. He explains how to think in calculations, actions, and data. Lucas asks him about real-life situations dealing with concurrency and how he would solve them thinking functionally. Then they dive deep into their conversation about immutability, type systems, and learning from other communities.

Jun 21, 20211h 36m

Ep 44Nicolas Steenhout on Accessibility

In this episode, web accessibility expert Nicolas Steenhout talks to Stefan Tilkov about ways to improve web sites to make them usable by everyone. They cover the basics of web accessibility, the role of frameworks, common pitfalls and how to overcome them, blueberry muffins, and the perils of snake oil vendor tools.

Jun 1, 202154 min

Ep 43Joy Heron on Responsible Web Applications

In this episode of the CaSE Podcast, Lucas Dohmen talks to Joy Heron about Responsible Web Applications. They start talking about responsive web design and how it works nowadays with features like CSS Grid and Flexbox. Then Joy explains how to make a website usable with assistive technologies. Responsive and Accessible — That’s how we can create a responsible web application.

May 10, 20211h 14m

Ep 42Alex Bramley on The Art of SLO, Part 3

Alex Bramley continuous his conversation with Sven Johann. They begin with how granular you should monitor your user journeys and then discuss error budget policies in depth. They continue on how to iterate on SLIs, SLOs and error budget policies. They close the conversation with SLO alerting.

May 3, 20211h 17m

Ep 41Alex Bramley on The Art of SLO, Part 2

Alex Bramley continuous his conversation with Sven Johann. They start with what external and internal dependencies do with your availability requirements and how you calculate availability if you have a microservices dependency tree. They look into how you can introduce SLOs to your organisation. After that, they switch to measure user happiness with your monitoring system, measurement windows and how to report those results.

Apr 26, 202155 min

Ep 40Alex Bramley on The Art of SLO, Part 1

Alex Bramley talks to Sven Johann about the basics of service level objectives. They begin with terminologies (SLI, SLO, SLA, Error Budget), look at costs of outages and discuss what reliability has to do with customer happiness. They continue with having 100% reliability is the wrong target and what’s possibly the right target. Alex then explains how to get started with collecting data about your system’s behaviour. They close the first part of this series by looking into latency SLIs.

Apr 19, 20211h 10m

Ep 39Simon Brown on Software Architecture

Simon Brown talks to Stefan Tilkov about software architecture – the importance for developers, its role in agile software development, documentation and tooling, and the importance (or lack of importance) of UML.

Mar 29, 202147 min

Ep 38Eoin Woods on Bringing Systems into Production and Keeping them there

Eoin Woods discusses with Sven Johann all the things developers need to know to bring systems successfully into production and how to keep them there. They discuss production environments, what goes wrong in production, architectural requirements for operations, cost of very high availability, stability and capacity, communicating operational concerns, observability, learning from incidents, chaos engineering and operational models (SRE, You build it, you run it, classic).

Mar 1, 20211h 29m

Ep 37Christin Gorman on Why large projects fail and what to do about it

In this episode, Stefan talks to software developer Christin Gorman about her experience with very large software projects and the reasons why they fail, especially in the public sector. The two address issues of size, approaches that do and don’t work, share some of their favorite failure stories and try to enumerate some strategies to do something about them.

Jan 28, 20211h 1m

Ep 36Artur Ortega on GraphQL

In this episode, Artur Ortega explains to Stefan Tilkov what GraphQL is, how it came to be, and how it differs from REST. Predictably, the two debate whether it’s better or not, but also spend some time going over its technical details and applicability to different usage scenarios.

Jan 4, 20211h 6m

Ep 35Markus Völter on Language Engineering

In this episode, Markus Völter talks with Stefan Tilkov about language engineering and its connection to domain-driven design. Picking up from their past interactions in various different podcasts, the two agree and disagree fundamentally in equal parts, on topics such as the usefulness of DSLs, the costs and benefits of domain experts writing code, and the tradeoffs of various architectural approaches.

Oct 7, 20201h 21m

Ep 34Birgitta Böckeler on Cultivating Architecture Principles

Birgitta Böckeler talks with Sven Johann about cultivating architecture principles. They first discuss what architecture principles are, why they are useful, how they are structured and how they help to guide decision making across multiple teams. They then talk about their lifecycle: who creates them, checks if they are aligned with business goals, prioritizes them, how they should be communicated, how you know they are useful and when to potentially retire them.

Aug 24, 202044 min

Ep 33Rachel Andrew on contributing to CSS and CSS Layout

Joy Heron talks with Rachel Andrew about CSS Layout. Rachel shares her journey as a web developer and how the web has changed over that time. They discuss Rachel’s work with the CSS working group and how developers can get involved to improve the web for the future. Rachel also talks about the current status of CSS layout and what we can expect in the near future. To wrap up, Rachel shares some practical tips and they discuss the future of the web platform.

May 28, 202046 min

Ep 32Daniel Bryant on Service Meshes and API Gateways for Application Modernization

Daniel Bryant talks with Sven Johann about the business problems to modernize applications. They need to be decoupled from the compute fabric and the network fabric and Daniel explains the reasons for that, what products are available and what strategies the different cloud vendors follow. They move on with how to get started, questions to select an API gateway, technologies behind them and the challenges. They talk about service meshes features, especially on the canary testing side, how they work under the hood and how they help as infrastructure with application modernization. They close the discussion on how to select a service mesh product and what rollout strategies exist.

May 7, 20201h 33m

Ep 31Mike Sperber on Functional Architecture

Does functional programming matter? Stefan and Mike continue an interesting conversation they had on Twitter: Does the style of programming matter if you look at it from a larger distance? Mike describes two distinguishing characteristics of functional programming: Immutable data and high-level models, and how they influence the architecture of your application.

Apr 16, 20201h 7m

Ep 30Peter Elger on Commodity AI

Peter Elger talks with Sven Johann about AI as a service - commodity web services offered by large cloud providers, which make it very easy to use AI in your application just by using an API. They start the discussion with the typical AI use cases companies in finance, retail and so on have and which of those are already as a commodity available and which are not. They then discuss how those APIs are used, from very simple API calls like text-to-speech to slightly more complicated ones like chat bots or recommendation engines. They continue with understanding how you come up with AI requirements and how to (regression) test your AI service, which is often different than doing the same with non-AI code. They clarify how much AI you need to know to use those services, the cost models of them and how to get your AI to production. The conversation then moves to lower level AI services like AWS SageMaker or Google Tensorflow and how you combine them to create novel pieces of AI relatively quickly. They close the conversation with when to use specific packaged AI solutions and when to create your own AI to push the envelope.

Feb 27, 20201h 3m

Ep 29Lars Hupel on Algebraic Design

In this episode of the CaSE podcast, Lucas talks to Lars Hupel of Typelevel-fame about algebraic design. Lars starts to explain how the expression problem views the difference between the functional and Object Oriented style of programming. He then explains the concept of an algebra – from coupling trains to CRDTs. This leads to a discussion on comprehensive and iterative thinking styles and how different styles of testing and proving work. Finally, they bring it all back to type systems.

Feb 6, 20201h 1m

Ep 28Ryan Singer on Shape Up

In this Conversation about Software Engineering, Stefan Tilkov talks with Ryan Singer about Shape Up. Ryan works on the product strategy for Basecamp. Over time the company started growing, and they needed to step up how they managed their product development work. In his book Shape Up and this podcast, Ryan shares the methodology Basecamp uses nowadays.

Jan 9, 20201h 19m

Ep 27Felienne Hermans on Programming Education

In this episode, Stefan Tilkov talks with Felienne Hermans, associate Professor at Leiden University in the Netherlands heading the Programming Education Research Lab. They talk about programming education with a focus on people learning their first programming skills and how the current approach in schools and university is flawed. Felienne explains the concept of deliberate practice and code vocalization and answers simple questions like "What's the best programming language for education?"

Dec 19, 20191h 5m

Ep 26Philippe Kruchten on Managing Technical Debt

In this episode, Sven Johann hosts Philippe Kruchten, the author of the Managing Technical Debt book. They talk about the research leading to the book and the practical implications the book and the research offer. They start the conversation with discussing terms: technical debt, interest, principal and then start with technical debt on the code level, e.g. code smells, tests and refactoring followed by static analysis and the prioritization of the findings. They then move to technical debt on the architectural level and go through the possibilities on estimating cost and value on those improvement and how to sell it to the business stakeholders. This is followed by explaining technical debt on the infrastructure level and how great code can become technical debt by time passing by (technological gap, software aging). After that the conversation moves towards solving the problem tactically and strategically.

Jul 8, 20191h 1m

Ep 25Sam Newman on Insecure Transit – Microservices Security

In this episode, Sven Johann hosts Sam Newman, the author of the first Microservices book, to talk about security in the world of Microservices. They discuss why and where it is different to security in a monolithic architecture and why developers must care. They start with automatically rolling out passwords, credentials and API keys in a secure way and continue with patching containers and secure base images. They then continue with automatically update (transitive) dependencies if they have vulnerabilities. They close the conversation with discussing authorisation and authentication using gateways, proxies and service meshes.

May 17, 20191h 21m

Ep 24Richard Rodger on Message-based, Generic Microservices

In this episode, Stefan Tilkov talks to author and microservices expert Richard Rodger about his approach to microservices, which focuses on small services that exchange messages, are built using a “generalize first” approach, and rely on content-based routing to allow for dynamic evolution of the resulting system.

Feb 19, 20191h 4m

Ep 23Mentoring Engineers with Steve Vinoski

In this episode, Stefan Tilkov hosts well-known distributed systems expert Steve Vinoski to talk about lessons learned in 30+ years of software engineering. In their conversation, they cover topics such as what to learn and what to avoid, how to deal with zealous and disillusioned developers, the relation of engineering to other disciplines, ethics and patents, careers and coding, publishing and presenting and the benefits of doing maintenance. Steve Vinoski has spent most of his software development career working in the areas of middleware and distributed computing systems, using C++ and Erlang. He is also a long-time author, having written or co-authored over 100 published articles and papers covering middleware, distributed systems, and web development, as well as a couple books and dozens of columns. Steve has also given hundreds of conference and workshop presentations and tutorials on middleware, distributed systems, web development, and programming languages, and has served as chair or program committee member for many dozens of conferences and workshops.

Aug 14, 201854 min

Ep 22Micro Frontends with Gustaf Nilsson Kotte

In this conversation about software engineering, Gustaf Nilsson Kotte, web architect at IKEA, talks to host Stefan Tilkov about ways to build large web sites and applications with multiple teams. Topics covered include team organization and Conway’s law, horizontal vs. vertical splits, and options and tools for server-side and client-side integration.

Jul 5, 20181h 14m

Ep 21Web Frontend with Lucas Dohmen

Joy Clark talks with Lucas Dohmen about Web Front-End development. They first discuss the role of front-end development and frontend architecture. Lucas then explains his view on the role of JavaScript and the separation between front-end and back-end development. They continue their discussion by looking at the role of design and UX in front-end development and how styleguides can help. Then Lucas talks about performance, development for mobile devices and accessibility. They wrap up by discussing tooling and the faucet-pipeline.

Jun 7, 20181h 4m

Ep 20Problem Solving and Clojure 1.9 with Rich Hickey

Joy Clark talks with Rich Hickey about Clojure and Datomic and the reasons that Rich decided to design them the way that he did. They discuss the dependency problem and how we should change our method of developing libraries so that we do not introduce breaking changes. Rich also introduces Clojure spec and describes what it can be used for and how it differs from a static type system. To wrap up the episode, they talk about the best way to solve a problem (and know it is the right problem!) and Rich gives some advice on how to develop software and what technologies are worth looking into.

May 3, 20181h 0m

Ep 19Security and Privacy with Susan Landau

Sven Johann talks with Susan Landau about Security and Privacy. After defining those terms they proceed to find out why this important to individuals and societies. They discuss why its the job of intelligence agencies to collect data, but how we can protect us against them. Then Susan discusses the importance of Two-Factor Authentication, how wiretapping and backdoors work these days and how the FBI tries to unlock locked devices with “1984” terminology. The conversation moves from end-to-end encryption, metadata analysis and VOIP decryption to targeted attacks and political influence of security threats. They finish the conversation with what we can learn from Google and Sun Microsystems on privacy, security and the architectural requirements of anonymized test data.

Apr 19, 20181h 15m

Ep 18Application Security with Peter Chestna

Joy Clark talks with Peter Chestna about application security. The overarching topic of the podcast was what a developer can do in order to make applications more secure. This included talking about some of the most prevalent security vulnerabilities and discussing what application security is and what it entails. Peter also gave some great tips on how to integrate security into the development process.

Mar 29, 201824 min

Ep 17Blockchain Technology with Andreas M. Antonopoulos (Part 2)

In this second episode of a two-part interview, Stefan Tilkov talks to Bitcoin and cryptocurrency expert Andreas M. Antonopoulos about Bitcoin vs. blockchain tech, the programmable Ethereum system, alternatives to the proof of work approach, and using Bitcoin in hybrid scenarios.

Mar 22, 201851 min

Ep 16Blockchain Technology with Andreas M. Antonopoulos (Part 1)

In the first episode of a two-part interview, Stefan Tilkov talks to Bitcoin and cryptocurrency expert Andreas M. Antonopoulos about the Bitcoin system’s technical foundation and architecture. Andreas addresses common questions about Bitcoin’s usefulness, scalability, and energy consumption.

Mar 1, 201857 min

Ep 15Domain-Driven Design with Vaughn Vernon

Joy talks with Vaughn Vernon about Domain-Driven Design. Vaughn shares his journey to DDD and the reasons behind his DDD books. They then go on to discuss strategic design, the broad brush strokes of DDD, what a model actually looks like and how to use bounded contexts to keep a system from becoming a big ball of mud. Vaughn then answers some questions about domain events and event sourcing, and makes a case for modelling uncertainty instead of fighting with concurrency.

Jan 25, 201847 min

Ep 14aim42 with Gernot Starke

Joy Clark talks with Gernot Starke about aim42, a method for systematically improving software. They discuss in detail the three phases of the process: Analyze, Evaluate, and Improve. Gernot shares his wisdom about how to carry out each phase using stories of his experiences in many different situations. In this way, listeners will get the big picture of how the whole process works: from visualizing all of the problems using sticky notes on the wall to specific strategies that can be used for improving the system.

Dec 21, 20171h 0m