Happy Path Programming
Episodes
#119 FP Reaches the Masses with Paul Snively
24 Jan 2026
Contributed by Lukas
We chat with Paul Snively (https://x.com/JustDeezGuy) about how Functional Programming has gone mainstream.Resources- Winter Tech Forum - https://www....
#118 Effects of 2025
02 Jan 2026
Contributed by Lukas
Bruce & James recap the technology shifts of 2025 and look ahead to what may be ahead in 2026.Resources:Register for the Winter Tech Forum (March ...
#117 Special Episode: Entering Computer Science as a New Graduate
18 Nov 2025
Contributed by Lukas
At Western State Colorado University in Gunnison on Sept 11, 2025, Bruce Eckel, Bill Venners and Dianne Marsh each give their own 10-minute perspecti...
#116 Infrastructure as Effects with Sam Goodwin
19 Sep 2025
Contributed by Lukas
Infrastructure as Code (IaC) is "code" but without most of the benefits of being code. Sam Goodwin is reinventing IaC with Alchemy and an up...
#115 More Python Type Checking! Pyrefly with Aaron Pollack & Steven Troxler
11 Aug 2025
Contributed by Lukas
Excitement around Python type checking continues to grow and the tools continue to evolve. We chat with Aaron Pollack and Steven Troxler about Pyre...
#114 ty: Fast Python Type Checking with Carl Meyer
25 Jul 2025
Contributed by Lukas
Carl Meyer works on the ty Python type checker, built in Rust by Astral the creators of Ruff and uv. We chat about type systems, the evolution of stat...
#113 Graph & RAG with Jennifer Reif
21 Jul 2025
Contributed by Lukas
We chat with Jennifer Reif about integrating LLMs with data using RAG, vectorized data, and Graph databases.Discuss this episode: ...
#112 AI Agents Get More 9's with Rod Johnson
02 Jul 2025
Contributed by Lukas
Rod Johnson, creator of the Spring Framework, has created a JVM-based AI Agent framework called Embabel. We dive in and learn how enterprises can buil...
#111 Wasm & MCP with Steve Manuel
10 Apr 2025
Contributed by Lukas
We chat with Steve Manuel (of dylibso.com and mcp.run) about LLM "plugins" with Wasm & MCP (Model Context Protocol).Discuss this episode: ...
#110 Unlocking Developer Productivity with Justin Reock
09 Apr 2025
Contributed by Lukas
Justin Reock has spent a lot of his career thinking about how to help developers be more productive. In this episode we learn about the methodologies ...
#109 AI, LLMs, and MCP with Lize Raes
21 Feb 2025
Contributed by Lukas
Lize Raes teaches us about AI models, LLMs, Tools, Agents, and MCP.Article from Anthropic on Agent architectures: Building effective agentsDiscuss thi...
#108 Winter Tech Forum and Current Projects
30 Jan 2025
Contributed by Lukas
Join us at the 2025 Winter Tech Forum! www.wintertechforum.com Projects Mentioned: uv for Python TypeScript Effect Pkl CloudFormation Extras P...
#107 The Joy of Programming with Dave Thomas
30 Dec 2024
Contributed by Lukas
We chat with Dave Thomas, co-author of The Pragmatic Programmer, about the joy of programming and the tensions between our and others needs. Discuss t...
#106 Agile Organizations with Jutta Eckstein
03 Dec 2024
Contributed by Lukas
Jutta Eckstein is expanding the concepts of Agile to be a company-wide model, instead of a niche process for software developers. We chat with her abo...
#105 Nathan Sobo's Pursuit of the Ultimate Code Editor
13 Oct 2024
Contributed by Lukas
Nathan Sobo is co-founder of Zed, a super-fast, collaborative, AI-powered, code editor. We chat about his journey to build the ultimate code editor: l...
#104 Effect Oriented Programming: The Book
07 Oct 2024
Contributed by Lukas
After 4 years in development, our book is out! Along with our friend and lead-author, Bill Frasure, we we discuss the book, its motivation and the pro...
#103 AI Augmented Programming with Stephan Janssen
20 Aug 2024
Contributed by Lukas
Stephan Janssen is always on the bleeding edge of both helping developers grow and with how he uses technology to accomplish amazing things. He ...
#102 Gathering Nerds and Java Gatherers with Venkat Subramaniam
17 Aug 2024
Contributed by Lukas
We chat with Venkat about his upcoming dev2next conference and the new Stream Gatherers API (preview in JDK 22). Discuss this episode: ...
#101 Effects and Local-First with Johannes Schickling
07 Jul 2024
Contributed by Lukas
Johannes Schickling (@schickling | schickling.dev) gets us up-to-speed on Effect, the ZIO-inspired Effect System for TypeScript, and the Local-Firs...
#100 Thinking about Thinking with Diana Montalion
18 Jun 2024
Contributed by Lukas
Diana Montalion teaches us about Systems Thinking and why it matters for those of us building software. Diana is founder of Mentrix, which teach...
#99 The Agile Illusion with Trond Hjorteland
10 Jun 2024
Contributed by Lukas
We chat with Trond Hjorteland about Agile and why it hasn't led to successful outcomes in many traditional organizations. Mentioned and related re...
#98 Continuous Deployment with Valentina Servile
21 Apr 2024
Contributed by Lukas
We chat with Valentina Servile about her upcoming book on Continuous Deployment and reducing the risks to keeping HEAD not just always deployable, but...
#97 The Pkl Configuration Language with Philip Hölzenspies
05 Apr 2024
Contributed by Lukas
We chat with Philip Hölzenspies, one of the maintainers of the new Pkl configuration language (pkl-lang.org). Resources: James' Pkl for GitHub ...
#96 Compassionate Coding with April Wensel
22 Mar 2024
Contributed by Lukas
We chat with April Wensel, founder of Compassionate Coding, about helping programmers bring more compassion to themselves and others. Resources: Con...
#95 21st Century Databases with Gwen Shapira
10 Mar 2024
Contributed by Lukas
We chat with Gwen Shapira, co-founder of Nile, about her journey to creating a virtualized, serverless Postgres database service. We also dive into th...
#94 Build Ops & Developer Productivity With Trisha Gee
16 Feb 2024
Contributed by Lukas
We chat with Trisha Gee about Test Driven Development (TDD), flaky tests, ops & observability for builds, and developer productivity. Mentioned TD...
#93 Nerd Sniping via the 1B Row Challenge with Gunnar Morling
19 Jan 2024
Contributed by Lukas
When Gunnar Morling announced the 1 Billion Row Challenge a few weeks ago, he had no idea it'd go crazy viral. Resources: Challenge details: www...
#92 Virtual Threads Looming with Adam Warski
12 Jan 2024
Contributed by Lukas
We chat with Adam Warski about Loom, Virtual Threads, and his Loom-based Scala library, Ox, for structured concurrency & Go-Like Channels. Referen...
#91 'Tis The Season For Reducing Gradle Friction
22 Dec 2023
Contributed by Lukas
Announcing Graboo, a collection of experiments to reduce friction with Gradle. Repo: https://github.com/jamesward/graboo Buy your Happy Path Programm...
#90 The Best Manager with Sushila Sahay
15 Dec 2023
Contributed by Lukas
Most of us have managers but they aren't always great. We chat with James' best manager, Sushila Sahay, about what makes her such a great mana...
#89 Algebraic Effects with Kyo (Flavio Brasil)
08 Dec 2023
Contributed by Lukas
We learn about Algebraic Effects with the Scala library Kyo ( getkyo.io) from the creator, Flavio Brasil. Discuss this episode: https://discord....
#88 Developers Thriving In the Flow with Arty Starr
20 Oct 2023
Contributed by Lukas
Arty Starr is a PhD student and entrepreneur focused on helping developers thrive. We chat about her research on developer momentum and ways that deve...
#87 Diving Deeper into Wasm with Zalim Bashorov
06 Oct 2023
Contributed by Lukas
Zalim Bashorov (@bashorov) works on Kotlin/Wasm at JetBrains and answers our many questions about Wasm, GC, the Component Model, and other future prop...
#86 The Journey to OCaml with Sabine
29 Sep 2023
Contributed by Lukas
Sabine went from acedemia and a PhD in formal methods, to Python, Elm, Haskell, and now OCaml. We chat about this journey and some of the reasons why ...
#85 Scala, Rust, and Durable Computing with John De Goes
15 Sep 2023
Contributed by Lukas
Our chat with John De Goes starts with his Scala & Rust journeys, then goes into Golem Cloud, a serverless durable computing platform underpinned ...
#84 Inevitable Failure with Dormain Drewitz
06 Sep 2023
Contributed by Lukas
We chat with Dormain Drewitz about failure and reliability. Ironically our recording software crashed near the end of the episode but we recovered and...
#83 Rust Developer Retreat & Structured Concurrency
21 Aug 2023
Contributed by Lukas
At the Rust Developer Retreat we explored Structured Concurrency with Tokio. With the attendees we chat about our projects and things learned, liked, ...
#82 The Future of Programming
07 Jul 2023
Contributed by Lukas
Bruce and James chat about the future of programming. Discuss this episode: https://discord.gg/nPa76qF
#81 TypeScript & Effects with Michael Arnaldi
30 Jun 2023
Contributed by Lukas
Michael created Effect, a functional effect system inspired by Scala ZIO, for TypeScript. We chat about Functional Programming, the TypeScript languag...
#80 Investing in Developer Tools with Renee Shah
13 May 2023
Contributed by Lukas
Renee Shah is a partner at Amplify Partners, an early stage venture capital firm. We discuss some broad industry trends: Edge, Wasm, Distributed Syste...
#79 Domain-Driven Design and Moduliths with Oliver Drotbohm
06 May 2023
Contributed by Lukas
We chat with Oliver Drotbohm about what Domain-Driven Design is and how it might intersect with Microservices, Monoliths, or Moduliths. Mentioned reso...
#78 Immutability & IDLs for Declarative Services with Jakub Kozłowski
28 Apr 2023
Contributed by Lukas
First a short rant about mutability followed by learning about Smithy, an Interface Description Language (IDL), with Jakub Kozłowski. Discuss this ep...
#77 Quarkus and Microservices with Holly Cummins
05 Apr 2023
Contributed by Lukas
Holly Cummins, a Senior Principal Software Engineer on Quarkus at Redhat, joins us to chat about Microservices and Quarkus. Discuss this episode: http...
#76 WebAssembly (Wasm) "The Web Finds a Way" with Vivek Sekhar
27 Feb 2023
Contributed by Lukas
WebAssembly (Wasm) finds a way for the web to move forward to near-native performance while avoiding the limitations of JavaScript. In this epis...
#75 Haskell "Not as Scary as You Think" with Kris Jenkins
18 Feb 2023
Contributed by Lukas
We learn the motivations behind Haskell and why it is the pinnacle of Functional Programming from Kris Jenkins, a Developer Advocate at Confluent. Dis...
#74 Developer Joy = Developer Productivity with Justin Reock
13 Jan 2023
Contributed by Lukas
Developer Productivity Engineering (DPE) is a set of tools & practices that help engineers be more productive. We chat with Justin Reock, field CT...
#73 Nix - Functional Programming for Software Packaging with Domen Kožar
06 Jan 2023
Contributed by Lukas
After being told many times that Nix is all we dream for when it comes to software packaging, we finally chat with Domen Kožar and learn all about Ni...
#72 Pants Makes Developers Happier & More Productive with Benjy Weinberger
16 Dec 2022
Contributed by Lukas
The Pants build tool is polyglot (Python, Java, Kotlin, Scala, Go, etc) and focused on helping developers be more productive and happier. We cha...
#71 Functional Programming in Kotlin with Simon Vergauwen (Sorry about the terrible audio)
01 Dec 2022
Contributed by Lukas
Simon Vergauwen shares about Arrow, a collection of Functional Programming libraries for Kotlin. Sincere apologies for Bruce & James' bad au...
#70 Understanding Software Through Bees & Biology With Grace Jansen
31 Oct 2022
Contributed by Lukas
Grace Jansen joins us to chat about how bees and biology can help us better understand software development tools & paradigms like Reactive, Kuber...
#69 Polymorphism Unbound
30 Sep 2022
Contributed by Lukas
Bruce continues his archaeological dig into the foundations of mainstream programming. Referenced blog: Why Are There Functions? Discuss this episode:...
#68 The End of Ivory Tower Architecture with Andrew Harmel-Law
03 Sep 2022
Contributed by Lukas
Andrew Harmel-Law shares a better way to make decisions in software teams using the "Advice Process" which he has used in a number of teams resulting ...
#67 Swallowed by a Python with Luciano Ramalho
31 Aug 2022
Contributed by Lukas
Finally Bruce gets a whole episode about Python with our friend Luciano Ramalho, author of Fluent Python. In the words of Luciano: "Thanks James...
#66 The Journey to Rust with Christopher Hunt
13 Aug 2022
Contributed by Lukas
No doubt that Rust is hot right now. We chat with Christopher Hunt about his journey through Java, Scala, and many other languages and learn why he is...
#65 Rod's Gambit - Spring, Scala, TypeScript, and Chess with Rod Johnson
08 Aug 2022
Contributed by Lukas
Rod Johnson (creator of Spring Framework) reflects on his programming and chess journeys. References: ScalaDays 2013 Talk Stockfish Chess Engine D...
#64 Building Build Tools is Hard with Josh Suereth
22 Jul 2022
Contributed by Lukas
Bruce and James often rant about build tools but it turns out they are hard to get right. We dive into the reasons with Josh Suereth who maintained sb...
#63 ZIO 2 dot Ohhhhh! with Bill Frasure
01 Jul 2022
Contributed by Lukas
Our co-author on Effect Oriented Programming, Bill Frasure, joins us to chat about his programming journey and his involvement in last week's ZIO 2.0 ...
#62 Musing About Local-First Sync & CRDTs with Mark McGranaghan
27 May 2022
Contributed by Lukas
Mark McGranaghan joins us to talk about how the Muse app uses Conflict-free Replicated Data Types (CRDTs) for local-first data synchronization. More d...
#61 Compassionate Communities with Tonya Moore
13 May 2022
Contributed by Lukas
Tonya Moore has been helping build developer communities for years. We discuss how to deal with jerks and the importance of building on a foundation o...
#60 Kotlin Language Design with Roman Elizarov
12 Apr 2022
Contributed by Lukas
Kotlin Language designer Roman Elizarov, joins us to talk about finding the right balances when designing Kotlin. Discuss this episode: https://discor...
#59 Goetz's Law, Dhall, and Nix (With Gabriella Gonzalez)
29 Mar 2022
Contributed by Lukas
Gabriella Gonzalez joins to teach us about the Dhall configuration language they created and Nix. References: The Dhall configuration language Henk: a...
#58 Scala 3: Significant indentation and other things we love (With Martin Odersky)
20 Mar 2022
Contributed by Lukas
Martin Odersky, creator of Scala, joins us to chat about Scala, Effects, Exceptions, Experiments, and other Exciting stuff. Discuss this episode: http...
#57 Technology Trade Offs: Python & Kotlin (With Matt Anger)
15 Mar 2022
Contributed by Lukas
We explore with Matt Anger a blog he wrote about migrating from Python to Kotlin and the trade offs engineering teams make when deciding which technol...
#56 Feedback Loops & Software is Like Surgery (With Daniel Terhorst-North)
10 Mar 2022
Contributed by Lukas
We explore with Daniel Terhorst-North how social and technical feedback loops can help us build the right thing faster. Discuss this episode: https://...
#55 Apache Kafka - Like Functional Programming but for Data (With Anna McDonald)
03 Mar 2022
Contributed by Lukas
We chat with the Kafka Duchess, Anna McDonald, about Apache Kafka, CQRS, Event Sourcing, and of-course Functional Programming. Note: There was a bit o...
#54 Flix: Designing a principled programming language with Magnus Madsen
05 Feb 2022
Contributed by Lukas
Magnus Madsen, language designer for the Flix programming language, joins us to talk about the driving principles and innovative features of the langu...
#53 Open Source: Free as in Hot Dogs (With Donald Fischer)
21 Jan 2022
Contributed by Lukas
Open Source is an essential foundation for pretty much everything. How do we fund it appropriately? What do we do about Log4Shell-types of issues? &nb...
#52 Reveling in Nonsense With Josh Long
14 Jan 2022
Contributed by Lukas
A stroll through 20 years of Spring with Josh Long. Also: Bruce, James, and Josh announce their new Ska band. Discuss this episode: https://discord.gg...
#51 James' New Kotlin PM Job
24 Dec 2021
Contributed by Lukas
Hope you all have a happy & healthy holiday! Discuss this episode: https://discord.gg/nPa76qF
#50 Testcontainers (Like Uber but for Integration Tests) with Sergei Egorov
17 Dec 2021
Contributed by Lukas
Testcontainers are one of James' favorite modern technologies and in this episode we chat with Sergei Egorov, one of the project creators. We le...
#49 Smart Types (Like Regular Types, Only Smarter) with Jorge Vasquez
10 Dec 2021
Contributed by Lukas
Jorge Vasquez has been working on a way to have more precise data modeling while not sacrificing performance or ergonomics. Smart Types in ZIO Prelude...
#48 Composability in Distributed Systems - Because Math! With Heather Miller
19 Nov 2021
Contributed by Lukas
Heather Miller, Computer Science professor at Carnegie Mellon, joins us to talk about her research into composability in distributed systems, the chal...
#47 The Future of Programming Rocs! With Richard Feldman
17 Nov 2021
Contributed by Lukas
The creator of the new Roc programming language, Richard Feldman, joins us to talk about rocking developers worlds' with better tools & paradigms....
#46 What Problem Does GraalVM Solve? All of them. Featuring Alina Yurenko
05 Nov 2021
Contributed by Lukas
We dive deep on GraalVM and learn from Alina Yurenko about all the problems it solves. Discuss this episode: https://discord.gg/nPa76qF
#45 ZIO 2 - Better, Faster, Friendlier with Adam Fraser
29 Oct 2021
Contributed by Lukas
Adam Fraser is a core contributor to Scala ZIO. He joins us to chat about improvements in ZIO 2 and how we can grow adoption. Discuss this episode: ht...
#44 Tired of Getting N+1'd by Your ORM? A Chat With Alexander Ioffe.
29 Oct 2021
Contributed by Lukas
We chat with Alexander Ioffe, maintainer of the Quill library, about database access approaches and Scala metaprogramming. Discuss this episode: https...
#43 Rúnar Bjarnason is Jackhammering the Foundations of Programming
25 Oct 2021
Contributed by Lukas
We've mentioned the futuristic Unision programming language many times but now we dive deep with one of the co-founders. Discuss this episode: https:/...
#42 The answer to life, the universe, and everything is an abstraction with Viktor Klang
05 Oct 2021
Contributed by Lukas
The legendary Viktor Klang chats with Bruce & James about information loss, reactive, emergence, and many other mind expanding topics. Discuss thi...
#41 "Never gonna give you up" (FP that is) with Wiem Zine Elabidine
26 Sep 2021
Contributed by Lukas
Bruce and James hear about Wiem's journey in Functional Programming, her contributions to Scala ZIO, and how she never gave up despite the challenges ...
#40 Poisoned Agile with Barry Hawkins
17 Sep 2021
Contributed by Lukas
Bruce and James chat with Barry Hawkins about software methodologies, their triumphs and abuses. Discuss this episode: https://discord.gg/nPa76qF
#39 Cracking the Company Culture Conundrum with Sharon Schmidt
10 Sep 2021
Contributed by Lukas
According to James, Heroku had the best company culture / vibe of anywhere he has worked. Bruce & James talk with Sharon Schmidt who is in large p...
#38 Databases are Insufficient with Jonas Bonér
27 Aug 2021
Contributed by Lukas
James rants about databases with Jonas Bonér, CEO of Lightbend and creator of Akka. Bruce & James also learn about the actor model, Reactive, and...
#37 The Future of Everything with Paul Snively
14 Aug 2021
Contributed by Lukas
Paul Snively helps us see the future of programming. Spoiler: It's Typed & Functional. Referenced talks: Types vs. Tests: An Epic Battle? Type Sys...
#36 The Freedom of Structured Unconferences
06 Aug 2021
Contributed by Lukas
Bruce describes his multi-decade journey running conferences and how letting go of control, while still having a structure, has led to conferences whe...
#35 The Pattern of Design Patterns
23 Jul 2021
Contributed by Lukas
As usual, Bruce & James try to figure out monads & type classes. Then something new, as they go meta on design patterns. Discuss this episode:...
#34 Fear, Uncertainty, and Monads with Dick Wall
09 Jul 2021
Contributed by Lukas
FEE, FOO, FUD, and FUM (Fear, Uncertainty, and Monads) - Scala Giant, Dick Wall, joins Bruce and James to talk about life, work, and Functional Progra...
#33 Rethinking "Thinking in Objects"
02 Jul 2021
Contributed by Lukas
Object Oriented Programming might just be a series of solutions to self-created problems. Discuss this episode: https://discord.gg/nPa76qF
#32 Adopting Kotlin & FP with Katie Levy
18 Jun 2021
Contributed by Lukas
Katie Levy joins Bruce & James to talk about how to help teams adopt Kotlin and Functional Programming. Discuss this episode: https://discord.gg/n...
#31 "ZIO's not a library it's a state of mind" with Kit Langton
11 Jun 2021
Contributed by Lukas
Bruce and James' coauthor Bill Frasure, joins to talk with Kit Langton, creator of ZIO Magic and many other magical ZIO tools & libraries. Discuss...
#30 Programming in (not with) Scala 3 but with Bill Venners
28 May 2021
Contributed by Lukas
Bruce and James chat with their long time friend Bill Venners about Scala 3 and the updates to his "Programming in Scala" book. Discuss this episode: ...
#29 Contemplating Computer Cognition with Julie Amundson
18 May 2021
Contributed by Lukas
Bruce and James chat with their friend Julie Amundson about AI, Machine Learning, and many related complexities. They explore what the journey i...
#28 PREP - Performant, Reliable, Expressive, and Productive
30 Apr 2021
Contributed by Lukas
Bruce, James, and their friend Bill are working on a new book about systems that are Performant, Reliable, Expressive, and Productive. This episode ex...
#27 Side-Effects of a Scala 3 Release
23 Apr 2021
Contributed by Lukas
With the eminent release of Scala 3, we chat about the language changes, effect systems (ZIO), and reliability. Discuss this episode: https://discord....
#26 Dependency Injection - Why Do We Even...
16 Apr 2021
Contributed by Lukas
All about Dependency Injection, why we do it, and why James thinks it is terrible. Discuss this episode: https://discord.gg/nPa76qF
#25 No Good Build Tools. Blocked on Reactive.
09 Apr 2021
Contributed by Lukas
Once again we lament build tools. Then we get blocked talking about Reactive, async, non-blocking, actors, and concurrency. Discuss this episode: http...
#24 Vulnerability & Additive Hiring with Dianne Marsh
02 Apr 2021
Contributed by Lukas
Bruce & James have a delightful chat with long-time friend Dianne Marsh about changing tech culture to be more vulnerable and diverse. Note: The N...
#23 The Modern Java Platform - 2021 Edition
19 Mar 2021
Contributed by Lukas
James shares about a blog he posted this week titled: "The Modern Java Platform - 2021 Edition" Discuss this episode: https://discord.gg/nPa76qF
#22 Be the Kindness You Want to See in the Programming World
08 Mar 2021
Contributed by Lukas
Special guest Oli joins us to chat about Recursion Schemes, tech conferences, podcasts, and kindness. Discuss this episode: https://discord.gg/nPa76qF...
#21 Statically-Dynamic Programming or Dynamically-Static Programming? And Death by 1000 Language Quirks
26 Feb 2021
Contributed by Lukas
James is a Dynamic Programming Language Denier but realizes only a part of his code is actually statically typed. And programming languages so full of...
#20 Cultures (not the petri dish variety) & Developer Marketing (also not the petri dish variety)
12 Feb 2021
Contributed by Lukas
Culture - the hidden force that sometimes reveals itself through code reviews. What is it & how does it form / change? Also, Developer Marketing a...