Backendhance
Finally Good Architecture Documentation
Interview: How Atlassian Responds to Cloud Concerns and Over-Configuration of Tools
Anti-Pattern: The Perfect Software Architecture
What if...? CrowdStrike
HashMap
Surprising Architecture
Too Big, Too Small, Just Right
Customer Support
4 Weeks Incident
How to Get Rid of Microservices?
Agile
GitOps, SRE, DevOps - A Look Back and into the Future
Scrum Is Not Agile
SMEs, Steer Clear of Microservices!
Daily Practice
The Cost of Accidental Complexity in Development
Two More Billion Dollar Mistakes
My War on Kubernetes
Survivorship Bias in Tech
Challenges in SMEs Are Similar
Three Topics
The #1 Problem in SMEs
I Never Sold The Performance Workshop
The VPN Paradox
The ADM-3A Keyboard
The Monitoring Tool Jungle
Your Assumptions Are Wrong
I Commited to Main
Unnecessary Unit Tests
3 Highlights From 2023
The Paradox of Freedom
Quickdraw Hero
A Picture Is Worth a Thousand Words
Another Microservice Desaster
A "Unit" In A Test Is Not The Class Under Test
Legacy Is Sexy
How a Release Failed
I ❤️ Releases
Why Is OOP So Popular?
ChatGPT Killed my Blog
@Transaction Around Test
Panic
Kids Treasure Hunt
Is Scrum Democratic?
Redundant Information
Broken Windows
Scream-Driven-Development
Editor Fluency
A Quick Look Back: My Recent Weeks
Deliberate Practice
Java 21 is GA!
Your Java Application in Detail: Performance Analysis with JMX and JDK Mission Control
My Next Weeks
To Discuss or Not To Discuss
Spring Events: Decouple Your Application with @EventListener and ApplicationEvents
Snowflake Connection Provider
Super Boring Topic
Spring's Assert Class: The Smart Way to Validate
Outch 😵
The Microwave With Feature Creep
Open Session in View (OSIV) in Spring - Enable or Disable?
What Sound Does Your Microwave?
Spring MVC: How to Use a Custom Converter for Type Safety in Controllers
The Fifth Ideal: Customer Focus
State Is the Root of All Evil
Avoiding Static Access to SecurityContext with @AuthenticationPrincipal in Spring
The Fourth Ideal: Psychological Safety
7.500 Euro Loss
The Optimal Thread-Pool Size in Java: Explaining the Formula
Improvement of Daily Work: The Third Ideal
Sliced Onion Architecture
Avoid these 5 Common Performance Pitfalls in Spring Data JPA: Practical Solutions and Tips
The Second Ideal: Focus, Flow, and Joy
Are You in a New Project?
Efficient Data Queries with Spring Data JPA Projections
The First Ideal: Locality and Simplicity
"I think Loom is going to kill reactive programming." ~Brian Goetz
The Hi/Lo Algorithm in Hibernate: Optimizing Database Identifier Generation
Surprising Documentation
Double-Entry Bookkeeping
Avoiding Multiple Data Fetches Using the First-Level-Cache in Spring Data JPA
Nobody Talks About Project Loom
Can You Start Your Application?
Hibernate ORM: Eager or Lazy Loading? When to Use Each
Are You a Carpenter?
Write your own PasswordEncoder. NOT!
How to Define an Index with Spring Data JPA
Laziness Prevails
El Niño
Is Anyone Actually Reading This?
How to Monitor Your Spring Boot Application with Spring Actuator and Micrometer
Goodbye Performance Issues: How Project Loom Eliminates Asynchrony
Accessing Non-Final Property Name in Constructor With JPA
Don't confuse configuration and constants
Microservices are a Big Ball of Mud
Java Bean Validation is an Anti-Pattern
New Position and the Future of This Blog
Prefer UUID for your Primary Key
The Inevitable Consequence of a Numerical Id
Which Password Encoder Should I Choose With Spring Security?
Some Thoughts about Personal Development Goals for Software Engineers
Should I Pass JPA Entities as Method Parameters?
Rules for Extension Functions
Don't Use The Builder Pattern in Kotlin
JPA Doesn't Call Persist But Merge Operation On New Entities
Favor Polymorphism Over Enumerations
Avoid Inconsistent Builder With Lomboks @Builder
Best Practices For Unit Tests
Additional auditing with Spring Data JPA and Hibernate
How To Load A Shared Library From A Subfolder In Jenkins
Boost Your Development With Proper API Design
Automate Your Git Commits On Feature Branches
How I (also) use JMeter for Integration Tests
Clean Already Merged Branches in Git
How To Squash All Commits Of Your Feature Branch
Parallel Integration Tests With Random Ports On Jenkins
Useful Git Aliases That Ease Your Life
Never Design A Class That Knows How It's Used
Jenkins Bitbucket Branch Source Plugin's Webhook Is Not Working
That's How Wrong Google Analytics Can Be
Custom Authentication Filter with Spring Security
Jenkins Declarative Pipeline throws Method Code Too Large Exception
Distinguish Between Optional and Mandatory Parameters in the Builder Pattern
Code-Held Goes Open Source
Transparent Gradient Effect on Background Image
Build With Jekylls' Docker Image and Gitlab CI
Reference Jekyll Post Image With Assets Plugin
Randomly Failing Playmode Tests in Unity
Welcome to my Blog