A Bootiful Podcast

Spring community legend and friend Simon Martinelli

Nov 27, 2025
Simon Martinelli, a seasoned Swiss software engineer and celebrated JavaChampion, shares his extensive experience in software development. He delves into why he favors SQL and jOOQ for its compile-time safety, highlighting jOOQ features like multiset support and dialect portability. The conversation explores generation of schema types using Testcontainers, the advantages of Vaadin for server-side UI, and the concepts of self-contained systems versus microservices. Simon also touches on leveraging AI in development while ensuring human oversight.
Ask episode
AI Snips
Chapters
Transcript
Episode notes
INSIGHT

Compile-Time SQL With jOOQ

  • jOOQ gives compile-time checked SQL by generating Java types from the database schema.
  • This prevents runtime SQL errors and lets you safely evolve schema and queries together.
ADVICE

Automate jOOQ Generation In Build

  • Integrate jOOQ generation into your build using Testcontainers to spin up the DB and apply migrations before generating types.
  • This ensures generated types always match your Flyway/Liquibase-managed schema and stay reproducible.
INSIGHT

Server-Driven UI With Vaadin Flow

  • Vaadin Flow lets Java developers build single-page apps without writing HTML/CSS/JS by running UI logic server-side.
  • This model reduces REST surface area and common client-side security/validation duplication.
Get the Snipd Podcast app to discover more snips from this episode
Get the app