Skip to content
Artwork for The Marco Show

The Marco Show

IntelliJ IDEA

The Marco Show is a bi-weekly podcast about AI, coding, and developer tools — hosted by Marco Behler, Developer Advocate for Java at JetBrains.
Before JetBrains, Marco ran a consultancy in Munich, working with clients like BMW, Wirecard, and KVB, and built software at BWSO (now tresmo). He’s also a Java and Spring trainer, conference speaker, and writer of guides, courses, and videos.
Each episode brings real conversations with tech people who actually build things: opposing opinions, hot takes, and useful insights for developers who want to go deeper.
New episodes every other Wednesday.

Play
  • 22 episodes
  • fortnightly
  • Avg 1 hr 11 min
  • English
Counted on this page — what you have heard stays on this device, so it is not something the list can be paged by.
  • S1 · E3
    Oct 1, 2025 · 1 hr 43 min

    Hibernate: Myths & Over-Engineering. ORMs vs SQL vs Hexagonal — Gavin King

    📺 Note: This episode contains screensharing and live coding examples that work best visually. If you’d like to follow along, check out the full video version on YouTube: https://youtu.be/Qvh3VFlvJnE. Gavin King (creator of Hibernate) joins Marco to cut through the myths of Java persistence. When should you skip layers of repositories and just write SQL, or even model database views? What actually causes lazy-loading pain, and how do stateless sessions help? We cover Hibernate, JPA, and where Jakarta Data is headed, plus pragmatic advice for legacy schemas, performance, and keeping your code DRY. 💡 Topics in this episode: • SQL vs repositories (and why views can be your adapter layer) • The three inheritance strategies, and the trap of table-per-class • Stateless sessions vs stateful persistence contexts • LazyInitializationException explained (and avoided) • DRY first: let architecture emerge via refactoring • Jakarta Data 1.0/1.1: annotation processing, stateful repos, dynamic queries • Performance rule-of-thumb: minimize round-trips ⏱️ Timestamps (00:00) Teaser (01:00) Gavin King intro and early Hibernate motivation (03:59) Old-school open-source culture and discovery (08:39) SQL isn’t hard: minimize DB round-trips (10:03) “Leaky abstractions are good” (and why) (12:04) Architecture should emerge from code (15:44) DRY as commandment #1 (22:05) Reviewing a typical Spring Data setup (and pitfalls) (25:39) Inheritance strategies: joined vs single table vs table-per-class (30:06) One screen? Just write a SQL query (pragmatism) (33:08) When ORM shines: operations over graphs (35:22) Use views to adapt messy legacy schemas (43:18) Jakarta Data repos: annotation-driven, step-into-able (44:59) Stateless Session: less magic, explicit updates (48:51) Jakarta Data 1.1: stateful repos, dynamic queries, reactive (01:24:22) Rapid fire questions (01:33:15) Features Gavin would delete and lessons learned (01:42:30) Giveaway New episodes every other Wednesday. Subscribe for deep, developer-focused conversations.

  • S1 · E2
    Sep 17, 2025 · 1 hr 52 min

    Software Performance: Avoiding Slow Code, Myths & Sane Approaches – Casey Muratori | The Marco Show

    Casey Muratori (programmer, educator, performance advocate) joins Marco to explore why modern software feels so slow, even with today’s powerful hardware. From the infamous Windows Terminal controversy to game server limits, billion-row challenges in Java, and his unfiltered take on AI. This episode dives deep into performance, programming culture, and what developers should really care about. 💡 Topics in this episode: Why software performance matters (and how to avoid “ridiculously slow” code) The “excuse parade” developers use when things lag Expectations for game server concurrency Parsing a billion rows in Java: lessons in performance Containers, cloud, and performance myths AI: helpful tool or unethical theft? Why Casey would get rid of Python ⏱️ Timestamps: (00:00) Teaser (01:00) Meet Casey Muratori (04:00) The Windows Terminal story (15:00) The “excuse parade” of slow software (18:30) Game servers and performance expectations (24:00) The billion-row Java challenge (46:00) Getting 30x performance gains (52:00) Modern CPUs and performance myths (01:09:00) Should companies rewrite bloated software? (01:18:00) Casey’s take on AI (01:33:00) AI and ethics: who owns the data? (01:40:00) Rapid-fire questions: OS, IDEs, languages (01:50:00) Giveaway and Outro New episodes every other Wednesday. Subscribe for more deep, developer-focused conversations. Watch the episodes on YouTube: https://youtu.be/apREl0KmTdQ

Showing 21–22 of 22 episodes