QA Testing Foundations Series
Ten parts, from requirement analysis to the QA Survival Kit. The testing curriculum nobody hands you on day one.
10 episodes publishedEngineering tutorials, architecture deep-dives, and corporate parables from 15 years in the trenches.
Software testing tutorials, QA engineering practices, test strategy deep-dives, and the art of breaking things before users do.
13 stories
Software architecture patterns, infrastructure deep-dives, microservices, containers, and the engineering decisions that shape systems.
14 stories
Corporate parables, tech industry satire, and sharp commentary on the humans behind the code.
11 stories
AI, machine learning, quantum computing, green software, and the technologies reshaping how we build and think about software.
3 stories
Career navigation, professional development, hiring insights, and survival strategies for software engineers at every level.
2 stories
Astronomy, space exploration, and the science of leaving a planet and — if the math is right — coming back to it.
1 story
Ten parts, from requirement analysis to the QA Survival Kit. The testing curriculum nobody hands you on day one.
10 episodes published
Thirteen parts, from empty project to production Kubernetes. The missing 95% of every twelve-line Spring Boot tutorial.
9 episodes published
Traditional thread pools cap at 200 threads eating 200 MB of memory. Java virtual threads handle 10,000+ concurrent operations at 1 KB each. This article covers the ASYNC framework — virtual thread configuration, CompletableFuture composition, parallel fetching, and async bulk processing.
Generic error responses tell your users nothing and your developers even less. This article introduces the CRAFT framework — sealed exception hierarchies, RFC 7807 ProblemDetail responses, multi-layer validation, and a GlobalExceptionHandler that turns failures into useful communication.
Security is either invisible and effective or visible and broken. This article covers the GUARD framework for Spring Security — SecurityFilterChain configuration, role-based access control, CORS policies, BCrypt password encoding, and a test security setup that doesn't weaken production.
Naive caching causes stale data, memory exhaustion, and race conditions. Smart caching solves all three. This article introduces the TEMPO framework — TTL-based expiration, eviction strategies, multiple cache regions, and SpEL-driven cache keys using Caffeine and Spring.
External APIs will fail. The question is whether your service fails with them. This article covers the SHIELD framework — RestClient configuration, Resilience4j circuit breakers, intelligent retries with exponential backoff, rate limiting, and graceful degradation when the world breaks.
Getting the data layer wrong costs you months of refactoring later. This article walks through the FORGE framework — Flyway migrations, JPA entity design, Spring Data repositories, transaction management, and audit trails — building a persistence layer that evolves safely.
A perfectly engineered microservice is useless if developers hate the API. This article covers the CLEAR framework for REST design — consistent naming, multi-layer validation, RFC 7807 error contracts, and OpenAPI documentation that turns your endpoints into a product people want to use.
Spring Boot auto-configuration feels like magic until something breaks at 2 AM. This article deconstructs the PROPS framework — profiles, property binding, bean lifecycle, and starter dependencies — so you understand every piece of the machinery running your microservice.