Writing
Technical articles, insights, and lessons learned from building software systems. I write about architecture decisions, engineering practices, and the challenges of delivering reliable software at scale.
Showing 6–10 of 13 articles
Kafka vs RabbitMQ: How I Actually Decide in Production The question isn't which one is better. It's what happens to the message after it's consumed. Read article Mastering Grouping in Java Streams: The Power of Collectors.groupingBy() A practical guide to grouping, counting, and transforming data with Collectors.groupingBy() in Java Streams. Read article How to Handle Errors Cleanly in Java: Principles for Scalable, Maintainable Code Practical Java error-handling strategies with specific exceptions, Optional, and resilience patterns for distributed systems. Read article Refactoring Conditionals in Java: Why Guard Clauses and Helper Methods Improve Code Quality Learn how guard clauses and helper methods reduce nesting and make Java condition-heavy code easier to read, test, and maintain. Read article The Power of Java Streams: Why Streams Are Better Than Conventional Loops A practical comparison between Java Streams and loops for readability, maintainability, parallelism, and data processing workflows. Read article