CaSE: Conversations about Software Engineering artwork

CaSE: Conversations about Software Engineering

52 episodes - English - Latest episode: 8 months ago - ★★★★★ - 3 ratings

Conversations about Software Engineering (CaSE) is an interview podcast for software developers and architects about Software Engineering and related topics. We release a new episode every three weeks.

Technology software engineering software architecture programming
Homepage Apple Podcasts Google Podcasts Overcast Castro Pocket Casts RSS feed

Episodes

Aino Corry on Better Tech Meetings

September 11, 2023 08:37 - 1 hour - 40.9 MB

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

Angelo Veltens on Solid

May 16, 2022 08:13 - 44 minutes - 28.6 MB

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

March 14, 2022 08:25 - 1 hour - 38.3 MB

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

February 21, 2022 09:25 - 1 hour - 37.9 MB

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.

Adam Tornhill on Software Design X-Rays

January 17, 2022 08:30 - 54 minutes - 34.4 MB

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

October 25, 2021 05:40 - 1 hour - 39.2 MB

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

Michele Hansen on Customer Interviews and Deploying Empathy

October 04, 2021 07:10 - 49 minutes - 31.6 MB

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

Eric Normand on Functional Thinking

June 21, 2021 09:25 - 1 hour - 59.3 MB

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.

Nicolas Steenhout on Accessibility

June 01, 2021 07:20 - 54 minutes - 34.4 MB

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

May 10, 2021 14:45 - 1 hour - 46.4 MB

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

May 03, 2021 08:00 - 1 hour - 47.8 MB

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

April 26, 2021 05:55 - 55 minutes - 35.1 MB

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.

Alex Bramley on The Art of SLO, Part 1

April 19, 2021 06:50 - 1 hour - 44.2 MB

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.

Simon Brown on Software Architecture

March 29, 2021 08:10 - 47 minutes - 30.3 MB

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

March 01, 2021 08:25 - 1 hour - 55.4 MB

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

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

January 28, 2021 06:50 - 1 hour - 41.1 MB

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

January 04, 2021 08:55 - 1 hour - 41.7 MB

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

October 07, 2020 05:34 - 1 hour - 53 MB

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.

Birgitta Böckeler on Cultivating Architecture Principles

August 24, 2020 05:41 - 44 minutes - 31 MB

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.

Rachel Andrew on contributing to CSS and CSS Layout

May 28, 2020 08:59 - 46 minutes - 32.4 MB

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.

Daniel Bryant on Service Meshes and API Gateways for Application Modernization

May 07, 2020 06:38 - 1 hour - 57.3 MB

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

Mike Sperber on Functional Architecture

April 16, 2020 13:46 - 1 hour - 44.7 MB

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

February 27, 2020 15:33 - 1 hour - 42.5 MB

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

Lars Hupel on Algebraic Design

February 06, 2020 11:14 - 1 hour - 41 MB

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.

Ryan Singer on Shape Up

January 09, 2020 07:00 - 1 hour - 51.7 MB

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

December 19, 2019 09:01 - 1 hour - 43.4 MB

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?"

Philippe Kruchten on Managing Technical Debt

July 08, 2019 08:15 - 1 hour - 41.1 MB

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

Sam Newman on Insecure Transit – Microservices Security

May 17, 2019 08:13 - 1 hour - 52.8 MB

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

Richard Rodger on Message-based, Generic Microservices

February 19, 2019 07:32 - 1 hour - 42.6 MB

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

August 14, 2018 06:02 - 54 minutes - 37.3 MB

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

Micro Frontends with Gustaf Nilsson Kotte

July 05, 2018 13:02 - 1 hour - 48.6 MB

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

June 07, 2018 07:00 - 1 hour - 42.6 MB

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

Problem Solving and Clojure 1.9 with Rich Hickey

May 03, 2018 09:01 - 1 hour - 40.2 MB

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!) ...

Security and Privacy with Susan Landau

April 19, 2018 09:52 - 1 hour - 49.4 MB

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

Application Security with Peter Chestna

March 29, 2018 07:15 - 24 minutes - 19.6 MB

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.

Blockchain Technology with Andreas M. Antonopoulos (Part 2)

March 22, 2018 15:51 - 51 minutes - 35.5 MB

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)

March 01, 2018 07:33 - 57 minutes - 38.8 MB

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

January 25, 2018 09:27 - 47 minutes - 33 MB

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.

aim42 with Gernot Starke

December 21, 2017 09:02 - 1 hour - 40.5 MB

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

Advanced Scala with Daniel Westheide

November 30, 2017 14:28 - 54 minutes - 36.8 MB

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

November 09, 2017 12:44 - 1 hour - 40.8 MB

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 different libraries and frameworks that can be used and recommends tools which can be used to get starte...

Management for Developers with Camille Fournier

October 19, 2017 10:02 - 1 hour - 52.6 MB

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

September 14, 2017 07:26 - 36 minutes - 26.6 MB

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

August 25, 2017 11:10 - 1 hour - 41.8 MB

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

August 03, 2017 14:39 - 37 minutes - 27.4 MB

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 of tools and materials for getting started with Clojure.

Microservices with Eberhard Wolff

July 13, 2017 07:36 - 55 minutes - 37.6 MB

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 structures. Eberhard also talks about introducing microservices, how they communicate with each ...

Rails Girls with Ute Mayer

June 22, 2017 06:47 - 44 minutes - 31.4 MB

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 training material is free and open source - and includes information how to start a Rails Girls grou...

Legacy Software and Immutable Infrastructure with Chad Fowler

June 01, 2017 07:20 - 50 minutes - 34.5 MB

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 and answers questions about how to practically develop and test such a system and how to decrease c...

Software Architecture with Stefan Tilkov

May 11, 2017 07:00 - 1 hour - 42.8 MB

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. To help us on our quest to becoming software architects, Stefan also gives a great lists of resour...

OpenTechSchool with Martin Stadler

April 20, 2017 07:00 - 1 hour - 41.2 MB

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 diversity. OpenTechSchool has a lot of partners and local chapters that take different approaches. Of c...

Guests

Camille Fournier
1 Episode
Chad Fowler
1 Episode

Twitter Mentions

@rachelandrew 1 Episode
@grady_booch 1 Episode
@rjs 1 Episode
@apaipi 1 Episode
@gustaf_nk 1 Episode
@felienne 1 Episode
@piccalilli_ 1 Episode
@christingorman 1 Episode
@michelebusta 1 Episode
@nerdbabe 1 Episode
@sperbsen 1 Episode
@opentechschool 1 Episode