
Sign up to save your podcasts
Or


Michael Simons, a longtime Java developer and Neo4j engineer, joins Marco to talk about the engineering principles that have stayed relevant across decades of changing technologies. The conversation covers database-first thinking, Spring and the Java ecosystem, graph databases, developer tooling, and why pragmatic decisions often matter more than chasing the “best” framework. They also discuss how AI is changing software development, where AI tools genuinely help, and why human judgment and responsibility still matter.
💡 In this episode:
Why Michael still starts with the data model when building applications
Why too many tooling choices can lead to “death by tooling”
How Spring Boot changed the Java ecosystem
How Neo4j and graph databases help solve highly connected data problems
Where AI tools help developers and where traditional approaches still work better
Timestamps:
(00:00) Teaser
(00:31) Introduction
(02:42) Michael’s database-first background
(04:18) Why data outlives applications
(07:38) Are developers underusing their databases?
(09:53) Vendor lock-in: Is it really such a bad thing?
(10:57) JPA, jOOQ, Spring Data, and choosing database tools
(15:02) From Oracle to Java and Spring
(18:21) How Spring Boot changed the industry
(20:00) Tool wars and “death by tooling”
(23:20) Blogging, community building, and public speaking
(29:58) From blog posts to international conferences
(32:14) Writing technical books
(38:09) Can LLMs replace human editors?
(40:26) “I’m a product person, not a project person”
(41:28) How Michael joined Neo4j
(47:45) Graph databases, fraud detection, and LLMs
(48:55) What Michael is building at Neo4j
(57:43) The future of Java and AI-generated contributions
(59:19) AI-generated pull requests and maintainers
(01:01:34) How Michael actually uses AI tools
(01:03:46) Static code analysis vs. LLMs
(01:05:22) Why Michael doesn’t want AI doing the planning
(01:06:27) Giveaway
(01:07:34) Rapid-fire questions
(01:09:42) Outro
New episodes every other Wednesday. Subscribe for more developer-focused conversations.
🎥 Watch the full episode on YouTube: https://youtu.be/Leo8A1FjY1o
Venkat Subramaniam joins Marco to talk about what AI is really changing for developers. They discuss why AI often impresses novices more than experts, why “AI first” is the wrong mindset, and why critical thinking, fundamentals, and judgment matter more than ever.
💡 In this episode:
Why AI is better at finding problems than writing code
Why AI needs more skilled developers, not fewer
Why “AI is second”
The danger of bad AI metrics and token maxing
Why critical thinking still matters
What excites Venkat about the future of Java and virtual threads
Timestamps:
(00:00) Teaser
(00:40) Introduction
(01:12) What is different about AI?
(03:26) Why AI is better at finding problems than writing code
(04:50) Should AI implement an entire feature?
(09:15) How junior developers can become experts in the AI era
(12:46) Speed vs. sustainable software development
(14:11) Timeboxing and learning to verify solutions
(18:18) Why AI should come second
(21:19) Why developers and AI are better together
(24:22) Token maxing and failed AI adoption strategies
(26:43) Why powerful tools require more skill
(29:28) Programmer productivity vs. business agility
(31:03) What CTOs should do about AI
(33:35) Threat-driven development and forced AI adoption
(36:06) How Venkat learns new technologies
(41:44) How Venkat prepares talks and keynotes
(44:50) Why Venkat does not rehearse his talks
(47:00) Stage fright after thousands of presentations
(49:16) When Venkat’s laptop died before a live coding keynote
(53:53) What keeps Venkat learning and creating?
(54:21) From a failing student to earning a PhD
(56:00) “I hate studying, but I love learning”
(01:00:19) Why grades can destroy the joy of learning
(01:04:54) How Java has changed over the last decade
(01:05:29) Why Java 8 was the game changer
(01:09:13) Java’s release cycle and true agility
(01:11:29) Virtual threads and asynchronous programming
(01:15:47) What makes Java’s innovation different
(01:16:56) What is next for Java?
(01:19:25) Generics with value types
(01:20:30) Giveaway question
(01:21:53) Rapid-fire questions
(01:23:33) Outro
New episodes every other Wednesday. Subscribe for more developer-focused conversations.
🎥 Watch the full episode on YouTube: https://youtu.be/_590TxMwvWM
Sébastien Deleuze, a longtime Spring Framework committer and member of the Spring AI team, joins Marco to talk about how 13 years on the Spring team shaped his pragmatic approach to software development. The conversation covers how Spring AI fits into the Spring ecosystem, why enterprise AI still needs deterministic workflows and human accountability, and why long-term software quality matters even as GenAI changes how code gets written.
💡 In this episode:
How Sébastien joined the Spring team through open source contributions
Why he only introduces features he once wished Spring had as a developer
How Spring AI brings AI services into the familiar Spring programming model
Why AI helps with speed, but not with the most important decisions
Why accountability and sustainable engineering still matter in the age of GenAI
Timestamps:
(00:00) Teaser
(00:32) Introduction
(00:54) Sébastien Deleuze’s 13 years on the Spring team
(01:22) How an open-source contribution led to joining Spring
(03:08) Working on a fully remote team
(03:54) Building the Spring features he wished he had as a developer
(05:22) Why Kotlin was the right fit for Spring
(06:35) How the Spring team discovers what developers need
(08:23) Learning from competing frameworks without copying them
(11:06) What is Spring AI?
(13:27) Bringing AI into enterprise applications
(14:53) AI-generated pull requests and the accountability problem
(16:36) How open-source maintainers deal with low-quality AI contributions
(18:27) Keeping up with the speed of change in AI
(20:43) Using AI tools for most coding tasks
(21:21) Writing better prompts by providing the right context
(24:05) Running multiple AI agents and managing context switching
(24:53) Can an AI agent fix a complex Spring issue?
(25:38) Why detailed issues and commit messages matter more in the AI era
(27:22) What’s next for Spring AI 2.0 and 2.1
(29:44) Spring AI’s relationship with Embabel and the wider ecosystem
(30:56) Why Spring AI is reducing its scope
(32:05) The most important engineering skill AI cannot replace
(33:29) Using AI outside of work
(38:10) Giveaway
(39:04) Rapid-fire questions
(40:13) Outro
New episodes every other Wednesday. Subscribe for more developer-focused conversations.
🎥 Watch the full episode on YouTube: https://www.youtube.com/watch?v=mCOGZGV48hU
Josh Long, Spring Developer Advocate at Broadcom, joins Marco to cover 25 years of Spring history and what the JVM's real shot at the AI era actually looks like. Josh has published a weekly blog since 2011 and a weekly podcast since 2018 without missing an episode. This conversation gets into why vibe coding concerns him as an engineer, what accountability for AI-generated code actually means, and why Python's dominance in AI is more a marketing gap than a technical one.
💡 In this episode:
Spring's origin story: why the documentation came before the code
How Spring Boot changed what a developer talk could look like
The hidden cost of vibe coding: context, accountability, and integration
Why 95% of generative AI projects fail — and what the 5% have in common
Project Valhalla, Project Panama, and the Vector API
Why Java could have built Kubernetes, and what that means for AI
Timestamps:
(00:00) Teaser
(00:37) Introduction
(01:02) Josh's journey before joining the Spring team
(03:06) Becoming Spring's first Developer Advocate
(05:47) What a Spring Developer Advocate actually did
(08:41) How Spring Boot changed Java forever
(12:32) Building a career around talks, blogs, and community
(15:32) Writing a weekly blog for 15+ years without missing one
(19:14) Stage fright and speaking at hundreds of conferences
(20:07) Live coding, talk preparation, and presentation failures
(26:33) How DevRel changed after COVID
(29:08) Why live coding beats slides
(31:46) Advice for aspiring Developer Advocates
(33:12) AI coding agents, vibe coding, and why more code isn't better
(39:27) How AI changed search and everyday work
(40:17) The future of Java, Spring, and AI
(46:48) Giveaway
(47:32) Rapid-fire questions
(49:36) Outro
New episodes every other Wednesday. Subscribe for more developer-focused conversations.
🎥 Watch the full episode on YouTube: https://youtu.be/_ftzJ33mCTI
Martin Lippert, longtime maintainer of Spring Tools and one of the people who has witnessed developer tooling evolve from Eclipse to VS Code, joins Marco to discuss how AI is transforming Java development, and what that means for the future of software engineering.
⏱️ Timestamps:
(00:00) Teaser(00:38) Meet Martin Lippert, Spring Tools & the evolution of Java IDEs(03:28) What happened to Eclipse? Lessons from the rise and fall of a Java giant(12:20) Why Spring Tools moved to VS Code and embraced the Language Server Protocol(20:03) How AI is changing Java development and everyday coding workflows(21:59) Martin's AI workflow: Cursor, IDEs, code review & testing(26:16) Building developer tools for AI agents instead of humans(31:10) Why AI is changing release cycles and developer tooling(36:03) AI review fatigue, cognitive depth & trusting generated code(39:06) Will AI replace senior developers? What happens to junior engineers?(42:16) The future of Java, Spring & software architecture in an AI-first world(48:42) AI's hidden energy problem and the sustainability challenge(54:39) Practical tips for greener software engineering and AI usage(1:00:06) Giveaway & rapid-fire questions
💡 In this episode:
How AI is changing Java development and developer workflows
Why IDEs still matter alongside coding agents like Cursor
Building developer tools for AI instead of humans
AI review fatigue and the importance of writing code yourself
Will AI replace senior developers?
Why software architecture still matters in an AI-first world
The evolution of Java tooling: Eclipse, VS Code, Language Server Protocol, and beyond
The future of Java and Spring in the age of AI
AI's hidden environmental cost and the rise of Green Software Engineering
New episodes every other Wednesday. Subscribe for more conversations with the people shaping the future of software development.
🎥 Watch the full episode on YouTube: https://youtu.be/gUm6DOf1NHI
Martin Odersky, creator of Scala and co-designer of Java generics, joins Marco to trace the full arc from Pizza (the 1996 functional Java experiment) to Scala 3, and on to his vision for capabilities as a safety mechanism for AI-generated code. They discuss how Scala unified object-oriented and functional programming, the Scala 2 to 3 evolution (implicits, Tasty, the new compiler), higher-kinded types, and why Martin believes programming languages need to grow up fast to keep AI agents from doing catastrophic things in production.
Topics in this episode:
The origins of Scala and the Pizza language
Java generics: design, type erasure, and the 20-year wait for pattern matching
Scala 2 vs Scala 3: what changed and why
Higher-kinded types explained accessibly
Capabilities and effect polymorphism
How capabilities can sandbox untrusted AI agents
Scala in the real world: finance, Spark, media, education
The future of programming languages in an AI-first world
Timestamps:
(00:00) Intro
(00:31) Meet Martin Odersky, creator of Scala
(03:11) Why Scala was created
(04:49) How Scala took off
(07:01) The story behind Scala’s name and logo
(08:03) Java generics and Scala’s design principles
(10:41) Haskell, functional programming, and Scala’s identity
(12:18) Pizza, Java, and features that came later
(14:28) Type erasure and higher-kinded types
(16:05) Scala 2 vs Scala 3
(18:49) TASTy and Scala 3 compiler changes
(19:21) What Martin would change about Scala
(20:25) Kotlin, Java, and JVM languages
(23:09) Capabilities, concurrency, and function coloring
(29:28) Where Scala is used today
(32:07) Scala’s ecosystem and community
(36:50) Scala, AI agents, and the future of programming
(43:17) Using AI and teaching programming in the AI era
(45:56) Scala’s future
(49:18) Why code review may be doomed
(50:24) Giveaway question
(51:26) Rapid fire questions
(54:41) Outro
New episodes every other Wednesday. Subscribe for more developer-focused conversations.
🎥 Watch the full episode on YouTube: https://youtu.be/Xn_YpUtXWT4
Mohamed Aboullaite, backend engineer at Spotify, Java Champion, Google Cloud Developer Expert, and Docker Captain, joins Marco to talk about building AI-powered integrations at scale, what software engineering looks like when you're running five AI agents in parallel, and why the foundations still matter in an AI-first world.
They discuss the engineering behind Spotify's ChatGPT integration (built on MCP), the non-determinism challenges of tool-calling, agentic coding workflows, review fatigue, and a frank conversation about the junior developer pipeline and what it takes to become senior today.
💡 In this episode:
How Spotify's ChatGPT integration works (MCP apps, the Spotify widget inside ChatGPT)
Siri/Alexa/Google Home backends and Spotify's ubiquity strategy
Non-determinism in MCP tool-calling and how Spotify works around it
Running 5 AI agents in parallel: the plan mode, review loops, cognitive fatigue
Java at Spotify: monorepo, microservices, Backstage
AI's impact on junior hiring and how to become senior anyway
Finding mentors and the power of the Java community
The token economy: measuring productivity by tokens burned
⏱️Timestamps:
(00:00) Teaser
(00:50) Meet Mohamed: Spotify backend engineer and Java Champion
(01:53) What Mohamed works on at Spotify
(03:12) Spotify inside ChatGPT and MCP apps
(06:23) Building for new AI platforms
(08:53) Spotify tools, playback, and device switching
(09:48) Tool calling challenges with AI models
(11:24) Using AI in day-to-day development
(13:29) Running multiple coding agents in parallel
(14:39) Why planning matters more than prompting
(16:56) Review fatigue and cognitive load
(19:43) Spotify’s backend, microservices, and Backstage
(21:34) Java’s evolution and the AI era
(24:14) Scala, Kotlin, Haskell, and JVM languages
(25:46) Advice for junior developers in the AI age
(29:27) How to become senior when AI solves everything
(34:09) Finding mentors and growing through community
(37:41) Giveaway question
(39:28) Rapid-fire questions: Morocco, Sweden, Spotify, AI
New episodes every other Wednesday. Subscribe for more developer-focused conversations.
🎥 Watch the full episode on YouTube: https://youtu.be/6WvoouJ9Mrk
James Ward (Developer Advocate at AWS, Agentic AI Foundation Technical Committee Member) joins Marco to map out the fast-moving landscape of AI agents on the JVM. From MCP and ACP to Spring AI, Embabel, and Ktor — James explains how the JVM ecosystem has not only caught up with Python for building agents, but may have surpassed it. He also introduces SkillsJars (putting agent skills on Maven Central), explains effect-oriented programming and why it supercharges AI coding, and shares how he's been shipping five projects in two months entirely from his phone.
💡 In This Episode
• Why the JVM is no longer second-class for AI agents
• MCP vs ACP vs A2A — when to use which
• Spring AI, Embabel (Rod Johnson), Ktor, LangChain4J compared
• GOAP planning and domain-integrated context engineering
• Agent skills vs MCP servers — and why skills are winning
• SkillsJars: versioned, composable skills on Maven Central
• Testing non-deterministic agents with evals
• Effect-oriented programming and why types matter more than ever
Timestamps:
(00:00:00) Intro
(00:00:49) Guest intro: James Ward, AWS, and the Agentic AI Foundation
(00:01:37) Are developers now orchestrating AI agents?
(00:02:51) Agent setup, context switching, and review fatigue
(00:05:58) Why typed languages matter more in the AI era
(00:07:14) Scala vs Kotlin vs Java
(00:10:02) What agentic frameworks are and why they matter
(00:14:08) MCP explained
(00:19:42) ACP explained
(00:21:56) How to get started with agent protocols and frameworks
(00:23:43) JVM agent frameworks: Spring AI, Embabel, Koog, and LangChain4j
(00:27:50) AIforJVM.com and building projects with AI
(00:29:55) AI from your phone, dopamine, and productivity
(00:33:14) Testing, evals, orchestration, and reliability in agent systems
(00:41:03) What skills are and where they fit
(00:43:46) SkillsJars and packaging skills for the JVM
(00:49:34) Which AI standards will actually last?
(00:55:35) Effect-oriented programming explained
(01:06:37) Giveaway question
(01:08:24) Rapid-fire round
(01:10:58) Outro
New episodes every other Wednesday. Subscribe for more developer-focused conversations.
🎥 Watch the full episode on YouTube: https://youtu.be/ACP0Nx-sW10
Andres Almiray, Java Champion and creator of JReleaser, joins Marco to talk about the realities of open source, release automation, and the evolving Java ecosystem.
They dive into what it really takes to maintain and grow open source projects, why code isn’t the most important part, and how communication, community, and sustainability determine whether projects thrive or die. The conversation also explores release engineering challenges, why most automation setups fail, and how tools like JReleaser simplify software delivery.
💡In this episode:
Open source realities: burnout, maintenance, and sustainability
Why code is NOT the most important part of OSS
JReleaser and release automation in modern workflows
Common CI/CD and release mistakes developers make
Maven vs Gradle: trade-offs and real-world experience
The future of the Java ecosystem and tooling
AI in open source: PR spam, licensing, and quality concerns
Advice for newcomers contributing to open source
Timestamps:
(00:00:00) Intro
(00:00:41) Guest intro + Java journey
(00:01:45) JReleaser: origin, use cases, and adoption
(00:07:49) Software releases and automation best practices
(00:11:31) JReleaser roadmap and release cadence
(00:14:39) Commonhaus, open source sustainability, and succession
(00:20:22) What makes open source projects successful
(00:25:17) Burnout, community management, and prioritization
(00:31:24) Hackergarten and open source collaboration
(00:34:40) Motivation, Java’s evolution, and favorite features
(00:40:44) Maven vs Gradle
(00:44:29) CI/CD, supply chain security, and the future of Java tooling
(00:53:16) AI, licensing, and open source contributions
(01:01:39) Giveaway question
(01:03:25) Rapid-fire round
(01:06:04) Advice for getting started in open source
(01:08:34) Outro
New episodes every other Wednesday. Subscribe for more developer-focused conversations.
🎥 Watch the full episode on YouTube: https://www.youtube.com/watch?v=Jts62hWkRO8
Moritz Halbritter, Spring Boot engineer at Broadcom and team lead for start.spring.io (Spring Initializr), joins Marco to talk about the inner workings of the Spring ecosystem and the future of Java performance.
💡 In this episode:
⏱️Timecodes:
(00:00) Teaser
(00:53) Meet Moritz Halbretter from the Spring Boot team
(02:23) From school programming to consulting to Spring
(08:14) How Moritz joined the Spring team
(14:20) Spring Native, GraalVM, and Project Leyden
(25:35) Observability, Micrometer, and customer-driven features
(32:08) Developer experience: Docker Compose, Testcontainers, SSL hot reload
(40:35) JSpecify and annotating Spring Boot for nullability
(45:12) start.spring.io and generating Spring projects
(50:45) Using AI in coding, reviews, and open source PRs
(57:30) Where Spring is headed in the next few years
(1:00:08) Favorite languages, Kotlin, and Linux
(1:01:13) Personal projects: solar monitoring, Modbus, and heat pump predictions
(1:08:46) Giveaway and rapid-fire questions
(1:11:32) Outro
New episodes every other Wednesday. Subscribe for more developer-focused conversations.
🎥 Watch the full episode on YouTube: https://youtu.be/FUFsul26rgA
From the publisher's feed