
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.
AI Snips
Chapters
Transcript
Episode notes
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.
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.
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.
