
CaSE: Conversations about Software Engineering
Conversations about Software Engineering (CaSE) is a podcast for software engineers covering technology, software engineering, software architecture, reliability engineering, and data engineering. The hosts regularly discuss recent events or articles, share learnings, and reflect on professional and personal experiences. Guest episodes feature engaging conversations with interesting people from the software engineering world.
Episodes
Technology Governance with Sarah Wells
Sarah Wells spent years as Technical Director at the Financial Times, wrangling thousands of microservices and the technology decisions that come with them. In this conversation she shares how the FT kept things from spiralling out of control without turning into a bureaucracy. We talk AI tools and shadow IT, why "best tool for the job" can quietly become your worst nightmare, and how a simple two
Agent 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
Guiding, 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.
Andrew 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.
Data 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.
Data 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.
Mirko 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, emph
Architecture 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 tri
Ole 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,
Theo 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.
New 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
Aino 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 discus
Angelo 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.
Mark 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.
Chris 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 produc
Adam 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".
Manuel 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 top
Michele 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 pro
Eric 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
Nicolas 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.
Joy 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.
Alex 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.
Alex 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
Alex 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
Simon 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.
Eoin 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
Christin 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.
Artur 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.
Markus 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 appro
Birgitta 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 communicate
Rachel 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 pr
Daniel 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 ch
Mike 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.
Peter 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
Lars 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 d
Ryan 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.
Felienne 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 voc
Philippe 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 foll
Sam 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 secur
Richard 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.
Mentoring 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 p
Micro 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.
Web 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 Luca
Problem 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
Security 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
Application 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 pr
Blockchain 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.
Blockchain 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.
Domain-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 m
aim42 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 visualizi
Advanced Scala with Daniel Westheide
Daniel Westheide, author of “The Neophyte’s guide to Scala” and Stefan Tilkov talk about some advanced Scala features and challenges, such as case classes and the problems they can create, algebraic data types, type classes and implicits, using the compiler for Prolog-like type level programming and programming with generic data structures.
ClojureScript with David Nolen
Joy Clark talks with David Nolen about ClojureScript. David introduces the language and discusses the direction that the language is heading in. He talks about how the language is compiled to JavaScript and how it takes advantage of the the Google Closure Compiler. They then talk about designing user interfaces and how functional programming relates to UI design. To wrap up, David mentions differe
Management for Developers with Camille Fournier
Stefan Tilkov talks to Camille Fournier about making a career as a manager in a software development organization. Camille shares her insights about when or why someone would want to become a manager and how to become good at it. Other topics include different levels of management from tech lead to CTO, the role of one-on-one meetings, and how managers influence company culture.
Scala with Sofia Vaughn-Jones
Joy Clark talks with Sofia Vaughn-Jones (née Cole) about Scala. Sofia introduces the language and describes its features. They then discuss what kinds of programs can be written with Scala and the tooling and frameworks that are available. They attempt to define what a monad is and how it can be used. To wrap up, Sofia mentions some great resources for getting started with Scala.
Microservices with Michele Leroux Bustamante
In this episode, Stefan Tilkov talks to Michele Leroux Bustamante about Microservices. Michele shares her perspective on microservices and what she sees as the difference between SOA and microservices: The way they share data. Stefan and Michele also talk about orchestration, getting started with microservices, platforms for microservices as well as a few short other topics.
Clojure with Alex Miller
Joy Clark talks with Alex Miller about Clojure. Topics include the Clojure language and how it compares to other languages as far as features and maintainability are concerned. The benefits of dynamic languages are also discussed, and clojure.spec is introduced as a way to gain the benefits of statically typed languages. Alex also talks about ways to structure Clojure code and gives a great list o
Microservices with Eberhard Wolff
Lucas Dohmen talks with Eberhard Wolff about microservices. Eberhard Wolff is a fellow at innoQ and wrote a book as well as a primer about microservices. He talks about what lead to microservices and the advantages, and disadvantages of as well as the preconditions for the architecture. He then introduces different styles of microservices and how they influence and are influenced by organizational
Rails Girls with Ute Mayer
Eberhard Wolff talks with Ute Mayer about Rails Girls. Topics include how Rails Girls increase diversity in IT and thereby influence the live of the attendees. Rails Girls is a global movement and does workshops to introduce women to programming. Attendees can then join project groups to work on specific projects and apply for the Rails Girls Summer of Code to develop open source projects. The tra
Legacy Software and Immutable Infrastructure with Chad Fowler
Joy Clark talks with Chad Fowler about legacy software and immutable infrastructure. They begin by discussing legacy software and why the description 'legacy' shouldn't actually be a bad thing. Then they contrast how reusable libraries differ from a system of services which is flexible and can change over time. Chad then describes how they developed Wunderlist using a microservices architecture an
Software Architecture with Stefan Tilkov
Joy Clark talks with Stefan Tilkov about software architecture. After discussing the definition of software architecture, they go on to cover what the role 'Software Architect' actually means and what tools and skills an architect needs to do their job. They also discuss several different architectural styles which can be used and look at the most common styles that are currently employed today. T
OpenTechSchool with Martin Stadler
Eberhard Wolff talks with Martin Stadler about OpenTechSchool, an organization that helps people to learn about programming and software development. Topics include the different types of events and material OpenTechSchool offers and how OpenTechSchool enables a hands-on, empowering, and peer-driven approach. We also discuss the organization, the core values and how OpenTechSchool increases divers
Spring Data with Oliver Gierke
Eberhard Wolff talks with Oliver Gierke about Spring Data. The show starts with an overview of the Java framework Spring and its ecosystem. The focus of the show is Spring Data: A set of frameworks that support many different relational and NoSQL datastores. The show then discusses how Spring Data is developed and released. Another topic is how reactive programming influences persistence and how t
Modern CSS with Jen Simmons
Stefan Tilkov talks to Jen Simmons about CSS, the standard for applying layout rules to HTML pages. Jen talks about the often misunderstood role of CSS in the Web stack, why it matters, and how it has grown ever more powerful over the course of time. Also included: Some discussion about why so many developers don’t like CSS and what to do about it, and new features coming to the CSS standard.
Recommended

1001raah | هزار و یک راه

1001 Sherlock Holmes Stories & The Best of Sir Arthur Conan Doyle

1001 Songs That Make You Want To Die

100 Famous Dogs

100 Greatest Action Movies

#100MasterCoaches with Mel Leow, MCC

100% Mixtape Podcast

100 Sad Songs

100 With The Hunter's

10-41: A UCSO Podcast

108.3 WGKSRADIO DEEP HOUSE PARTY

10 at a Time