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

Avoid Duplicate Client-Server Validation

  • Prefer server-side UI frameworks like Vaadin for data-heavy apps to avoid double security and validation logic.
  • Keep validation and access rules on the server to reduce leaks and maintenance overhead.
Get the Snipd Podcast app to discover more snips from this episode
Get the app